我在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();
答案 0 :(得分:0)
执行rs.next()
来电后,您没有致电stmt.executeQuery()
。
您确定此代码是否适用于其他系统?