Warum heißt es "java.sql.SQLException: ungültiger Spaltenname" [duplizieren]

8

Ich versuche, Ergebnisse von DB

zu erhalten %Vor%

Es heißt, dass rs.getString("realdate") - " java.sql.SQLException: ungültiger Spaltenname ", warum?

Ohne rs.getString("realdate") funktioniert alles gut.

Tatsächlich hat Tabelle diese Spalte

%Vor%

Danke!

    
VextoR 15.09.2011, 09:04
quelle

4 Antworten

11

Ich denke, Sie wählen nicht realdate . Sie wählen TO_CHAR (realdate, 'YYYYMMDD') , und diese Spalte erhält diesen Namen. Sie könnten so etwas tun:

%Vor%

und wählen Sie das aus. (mit 'rs.getString("myrealdate") natürlich, nicht mit realdate )

    
Nanne 15.09.2011, 09:09
quelle
4

Es gibt keine Spalte realdate in Ihrer SELECT -Klausel. Sie wählen TO_CHAR (realdate, 'YYYYMMDD') , was nicht ist die gleiche Sache. Sie können versuchen, getString("TO_CHAR (realdate, 'YYYYMMDD')") zu verwenden, und wenn das nicht funktioniert, verwenden Sie AS , um dieser Spalte einen Namen zu geben:

%Vor%

Alternativ können Sie die Spaltenindex-basierte Auswahl verwenden: rs.getString(1) (beachten Sie, dass der Index in JDBC immer 1-basiert ist).

    
Joachim Sauer 15.09.2011 09:09
quelle
2

Sie wählen die Funktion TO_CHAR (realdate, 'YYYYMMDD') im Feld REALDATE , nicht das Feld selbst. Fügen Sie einen Alias ​​hinzu und verwenden Sie diesen Alias, um das Ergebnis abzurufen.

%Vor%     
Xavi López 15.09.2011 09:10
quelle
0

"realdate" befindet sich nicht in der Select-Abfrage Machen Sie Ihre Anfrage wie folgt

%Vor%     
swan 15.09.2011 09:09
quelle

Tags und Links