0
Meine Tabelle:ResultSet.next immer falsch, bevölkerten Tabelle
create table ranking (rennId int not null, fId int not null, pos int not null, CONSTRAINT key PRIMARY KEY (rennId,fId))
Mein Java-Code:
try {
Connection con = DriverManager.getConnection(url, user, password);
ResultSet ret = con.createStatement().executeQuery("select * from ranking");
while (ret.next())
System.out.println("test");
} catch (SQLException e) { e.printStackTrace(); }
Manueller Test:
sql> select * from ranking
[2017-06-13 03:21:59] 3 rows retrieved starting from 1 in 52ms (execution: 45ms, fetching: 7ms)
Geprüft als eigenständige
Nur auf auftritt diese Tabelle
Ich glaube, es ist der Vertrag von try-with-resources, um das Schließen der in der try-Klausel angegebenen Ressource zu garantieren, nachdem der Ausdruck fertig ist. Ich glaube, dass die Ergebnismenge auch am Ende des try-Blocks geschlossen wird, daher ruft next() false zurück, weil nichts da ist –
@ user7790438 Aber die Schleife über das Ergebnis ist vollständig _inside_ der 'try'-Block. Warum würden Sie erwarten, dass Ressourcen zu diesem Zeitpunkt geschlossen werden? –
Sind die Namen der Tabellen in der Erstellungs- und der Auswahlabfrage anders? – SHG