Warum bekomme ich java.sql.SQLException: ORA-01002: fetch out of sequence Ausnahme

Ich arbeite mit einer einfachen update-Anweisung in meinem java-code einer oracle-Datenbank (JDBC call) und es aktualisiert, wenn Datensatz gefunden, aber wenn Datensatz nicht existiert, erhalte ich " java.sql.SQLException: ORA-01002: fetch out of sequence" Ausnahme. Hier ist mein code, warum Ausnahme? Wo soll ich es verbessern. Code-Beispiel wäre sehr hilfreich.

public String preformUpdate(String someValue){
    ResultSet rs;
    String result = "Update failed record not found.";
    StringBuffer sb = new StringBuffer();

    try{
        conn = DBConnect.getInstance().dbOracleConnect();   

        StringBuffer sbUpdate = new StringBuffer();
        sbUpdate = new StringBuffer("UPDATE sometable ");
        sbUpdate.append("SET value1 = ? ");
        sbUpdate.append("WHERE value2 = ?" );

        ps = conn.prepareStatement(sbUpdate.toString());  
        ps.setString(1, "0");
        ps.setString(2, someValue);

        rs = ps.executeQuery();

        if (rs.next()){
            result = "Value updated";               
        }

    }
    catch (Exception e){
        e.printStackTrace();
    }
    finally{
        JDBCHelper.close(cs);   
        JDBCHelper.close(conn);         
    }

    return result;
}
  • Ich bin kein Java-dev, aber von dem was ich weiß von anderen Sprachen, ich denke, die rs.next() das problem sein kann, wie eine update-Abfrage, wahrscheinlich kein Ergebnis zurück gesetzt, sodass die nächste() schlägt fehl...
  • Haben Sie noch nie codiert eine SQL-insertion in Java vor?
  • Ich bin nur zu lernen, sorry, wenn dies eine dumme Frage.
InformationsquelleAutor JS11 | 2013-06-19
Schreibe einen Kommentar