Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie löst man The Statement hat keinen Resultsetfehler zurückgegeben?

Die Tatsache, dass Ihr Programm keine Ausnahme ausgelöst hat, bedeutet, dass keine Ergebnisse keine Ausnahme sind.

Sie können die execute()-Methode Ihres CallableStatements verwenden. Die Methode execute gibt einen booleschen Wert zurück, der angibt, ob es ein ResultSet gab, das der Ausführung Ihrer Anfrage entspricht.

Link zum Javadoc:https://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html#execute()

Sie können das ResultSet immer noch mit der Methode getResultSet der Superklasse Statement erhalten:https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#getResultSet()

In Ihrem Fall würden Sie Folgendes tun:

boolean gotResults = myStmt.execute();
ResultSet rs = null;
if(!gotResults){
   System.out.println("No results returned");
} else {
   rs = myStmt.getResultSet();
}