Hallo!
Ich bin gestern in der Schule auf ein seltsames Problem gestoßen, dass selbst mein Lehrer nicht lösen konnte.
Wir haben uns auf eine Oracle-Datenbank verbunden und sollten dort ein einfaches Query ausführen. Das Query haben wird vorher im SQL-Plus Client getestet, und es war korrekt und brachte auch das erwartete Ergebnis.
Allerdings, wenn ich versuche, das Ergebnis aus dem ResultSet in Java heraus zu lesen, kommt immer, egal mit welchen Datentyp ich es versuche, 0 bzw. beim String null heraus. Da kann doch irgendwas nicht stimmen, oder? Vor allem, weil wir solche Datenbankoperationen schon oft gemacht haben. Allerdings war das mit MySQL...
Der Code:
String query="SELECT sum(price*amount) FROM items i, basket b WHERE userID=" + userID + " AND b.itemNr=i.itemNr";
System.out.println(query);
//Klasse registrieren
Class.forName(driver);
//Verbindungsaufbau
con=DriverManager.getConnection(url, user, password);
Statement stmt = con.createStatement();
//Abfrageergebnis im Resultset speichern
ResultSet rs = stmt.executeQuery(query);
rs.next();
double ret = rs.getDouble(1);
Alles anzeigen
Das Query ist korrekt, bringt auch keine SQL-Exception. Außerdem führen wir im selben Programm noch ein INSERT durch, das funktioniert ebenfalls einwandfrei! Nur dieses blöde ResultSet will nicht gehen!