2014-01-22 11 views
16

Ich versuche, Daten in eine Tabelle einzufügen. Nach dem Ausführen der Abfrage ich eine Ausnahme bin immerKeine Ergebnisse vom Abfragefehler in PostgreSQL zurückgegeben

org.postgresql.util.PSQLException: No results were returned by the query. 
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:284) 

Die Daten unter Angabe erfolgreich eingesetzt wird immer, aber ich habe keine Ahnung, warum ich diese Ausnahme immer bin ??

Antwort

38

Verwenden

executeUpdate 

anstelle von

executeQuery 

, wenn keine Daten (das heißt einer nicht SELECT Betrieb) zurückgeführt werden.

+0

Beauty! funktioniert perfekt .. aber y ist es wie executeUpdate funktioniert, aber executeQuery funktioniert nicht ?? In beiden Fällen werden Daten korrekt eingefügt. –

+0

@RageshKr, es wird korrekt eingefügt, aber der Java-Datenbank-Connector erwartet anschließend Daten, und keine kommt. Der Fehler tritt also nach dem Einfügen auf. –

+0

Danke @PaulDraper –

0

Wenn Sie zuletzt ID generiert werden sollen, können Sie diesen Code verwenden, nach der Verwendung von executeUpdate() -Methode

int update = statement.executeUpdate() 
ResultSet rs = statement.getGeneratedKeys(); 
if (rs != null && rs.next()) { 
    key = rs.getLong(1); 
} 
Verwandte Themen