Tabellenspalte in JTable in der falschen Reihenfolge

Hunter2598

Mitglied
Hallo zusammen,

ich bin gerade dabei eine Datenbanktabell in Java in einem JTable darzustellen.
Folgende Tabelle dient als Datenbankgrunglage:

1587664611368.png

Mit folgendem Code hole ich mir die Überschriften der Spalten:

Java:
String columns[] = new String[anzahlSpalten];
        for (int i = 0; i < anzahlSpalten; i++) {
            int k = i;
            k++;
            try {
                columns[i] = rsmd.getColumnName(k);
                
                System.out.println(columns[i]);
            } catch (SQLException e1) {

                e1.printStackTrace();
            }
        }

Das Ergebnis sieht wie folgt aus:
1587664996612.png

Muss die Spalte ,,intNummer" nicht zwischen die ID und den Vornamen?
 
Hallo,

die Spalten einer Datenbanktabelle haben keine feste Reihenfolge.
Oft werden sie in der Reihenfolge angezeigt, wie sie bei der Erzeugung der Tabelle angelegt wurden - aber das muss nicht so sein.

Gruß
Fritz
 
Wenn du ein select * from mitarbeiter machst, ist die Reihenfolge der Spalten im ResultSetMethaData nicht festgelegt.
Nur wenn du im select die einzelnen Spalten angibst (statt des "*"), kannst du dich auf die Spaltenreihenfolge verlassen.
 
Ok, ich hab's nochmal nachgelesen: https://stackoverflow.com/a/1605167

"There is no SQL command to define the column ordering."

Dh., die column Reihenfolge ist ein Implementierungsdetail, nicht fest definiert und kann aber nicht muss auf der Spalten-Reihenfolge basieren mit der die Tabelle angelegt wurde. (Wie es @fhoffmann bereits richtig geschrieben hatte.)

Was Dein Tool wiedergibt ist völlig belanglos.

Sind damit Deine Fragen beantwortet?
 

Neue Themen


Zurück
Oben