getInt(....)

Thomas C.

Mitglied
Hallo zusammen,
ich habe ein Problem mit der Methode getInt(....). Diese Methode gibt es in 2 Varianten:
1. int getInt (String columnLabel) throws SQLException
2. int getInt(int columnIndex) throws SQLException
Ich habe die Beschreibung auf https://docs.oracle.com gelesen un dachte ich hätte es verstanden.
Nun habe ich aber folgenden Code:

10. try {
11. String query = "SELECT * FROM Employee WHERE ID=110";
12. Statement stmt = conn.createStatement();
13. ResultSet rs = stmt.executeQuery(query);
14. System.out.println("Employee ID: " + rs.getInt("ID"));
15. } catch (Exception se) {
16. System.out.println("Error");
17. }

Was läuft da schief? Warum wird die Exception ausgelöst? Hängt das mit dem Wert der ID in der query zusammen?

Vielen Dank für Eure Hilfe,
Thomas
 

truesoul

Top Contributor
Hallo

Kannst du bitte mal den Stacktrace posten.

Und änder mal "SELECT * FROM Employee WHERE ID=110" in "SELECT ID FROM Employee WHERE ID=110"

Grüße
 

Dompteur

Top Contributor
Ersetze die Zeile 16 am besten mit :
Java:
se.printStackTrace();
So wie du es jetzt hast, verlierst du die Fehlerbeschreibung.
 

Thomas C.

Mitglied
Hallo truesoul,

leider kann ich keinen Stacktrace schicken, ich habe nur diesen Code!
Ich glaube daß der Hund irgendwie in der getInt(....) Methode begraben liegt.

Vielen Dank für Deine schnelle Antwort,
Thomas
 

truesoul

Top Contributor
Hallo truesoul,

leider kann ich keinen Stacktrace schicken, ich habe nur diesen Code!
Ich glaube daß der Hund irgendwie in der getInt(....) Methode begraben liegt.

Vielen Dank für Deine schnelle Antwort,
Thomas

Dann versuche "SELECT ID FROM Employee WHERE ID=110"

Ohne Stacktrace wird es schwer dir zu helfen. Was sagt die Doku?
 

Thomas C.

Mitglied
Doku:

int getInt(String columnLabel) throws SQLException

Retrieves the value of the designated column in the current row of this ResultSet object as an int in the Java programming language.
Parameters:
columnLabel - the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
Returns:
the column value; if the value is SQL NULL, the value returned is 0
Throws:
SQLException - if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set

int getInt(int columnIndex) throws SQLException
Retrieves the value of the designated column in the current row of this ResultSet object as an int in the Java programming language.
Parameters:
columnIndex - the first column is 1, the second is 2, ...
Returns:
the column value; if the value is SQL NULL, the value returned is 0
Throws:
SQLException - if the columnIndex is not valid; if a database access error occurs or this method is called on a closed result set

Vielen Dank für Eure Hilfe,
Thomas
 

Thomas C.

Mitglied
Also der Code war Teil eines Tests auf dem Papier, da gabs leider keine Änderungen die ich machen konnte.
Der Fehler muss in der Programmlogik bzw. der Syntax von getInt(....) liege.
Der Code ist so wie er ist richtig. Es sei denn die Testerstellen hätten einen Fehler gemacht!.
Den einzigen Hinweis den es gibt ist der dass es etwas mit getInt() und der query zu tun hat!

Vielen Dank für Eure Hilfe,
Thomas
 

fhoffmann

Top Contributor
Mit Überprüfen meine ich:
Java:
if (rs.next()) {
    int id = rs.getInt("ID");
} else {
    // keinen Eintrag zur ID gefunden
}
 

Neue Themen


Oben