Java Embedded,插入后我无法重新检查行是否存在

时间:2018-06-11 03:11:33

标签: java derby

我在Java Derby Embedded数据库中插入一行。我正在重新检查具有特定ID的行是否存在。我使用的代码在Sqlite3,MySql等的其他地方工作正常。但是在Derby中它抛出一个错误,无效的游标状态,没有当前行。(但是这行被添加并存在)我做错了什么?

String sql="";                      
     stmt = conn.createStatement();
     sql = "INSERT INTO USERLIST (UserID,UserName,PaWord,RealName) " +
                    "VALUES (" + Nextam + ",'" + f1 + "','" + f2 + "','" + f3 + "')"; 
     stmt.executeUpdate(sql);


     stmt.close();

     Thread.sleep(1000);

// rechecking

stmt = conn.createStatement();


rs = stmt.executeQuery( "SELECT * FROM USERLIST where UserID=" + Nextam + "" );

    String  nameR = rs.getString("RealName");

    if(nameR.length() < 2){
      System.out.println( "Seems like Error " + Nextam );
    }else{ 
      String infum=nameR + " Added as " + Nextam;
      ShowLab(infum);
    }


    stmt.close();

    conn.close();

1 个答案:

答案 0 :(得分:0)

执行rs.next()来电后,您没有致电stmt.executeQuery()

确定此代码是否适用于其他系统?