Java SQL Spaltennamen ausgeben?


21.02.2022, 10:18

Am besten mit kurzem Beispiel Code.. :)

MaxMustermanOk  21.02.2022, 08:52

warum gibst du nicht im select die Spaltennamen an? Ich mache normal immer 'SELECT table.col1, table.col2 FROM table ...' dann weißt du auch dass du das richtige ausliest ...

DZNRandom 
Fragesteller
 21.02.2022, 10:19

Weil wenn ich eine Tabelle mit 100 Spalten habe und alle ausgeben möchte, ich lieber * schreibe als die einzelnen namen

2 Antworten

Also normalerweise müsstest Du in Java ja ein Resultset erhalten, welches zu jeder Zeile in der Tabelle die Werte für jede Spalte enthält. Normalerweise enthält dieses Resultset auch eine Auflistung der Spalten mit ihren Namen.

PS:

Ein schneller Blick in die Doku zeigt mir, dass die Klasse "ResultSet" eine Funktion hat, mit der man "ResultSetMetaData" abrufen kann. Dort kann man sehen, wieviele und welche Spalten es gibt.

Möglicherweise hilft Dir das folgende Code-Beispiel:

ResultSet resultSet = stmt.executeQuery("SELECT * FROM ...");


ResultSetMetaData metaData = resultSet.getMetaData();
int anzahlSpalten = metaData.getColumnCount();


for (int i = 1; i <= anzahlSpalten; i++ ) 
{
  String name = metaData.getColumnName(i);
  System.out.println(String.format("Name der %d. Spalte: %s", i, name));
}
Woher ich das weiß:Berufserfahrung