我已经设置了一个我能够连接并读取的JAVADB。
但是,当我尝试使用jdbcRowset更新数据库时,没有任何反应,我没有错误。
我已附上代码段
try{
try {
Class.forName("org.apache.derby.jdbc.ClientDriver");
} catch (ClassNotFoundException ex) {
statusMessageLabel.setText("Server Class not found");
Logger.getLogger(QuestioneerView.class.getName()).log(Level.SEVERE, null, ex);
return false;
}
dbConn = DriverManager.getConnection(conne, connectionProps);
}catch(SQLException sqle){
statusMessageLabel.setText("Cannot Connect to Server");
return false;
}
try {
jdbcRs = new JdbcRowSetImpl(dbConn);
jdbcRs.setCommand("select * from APP.QNTABLE");
jdbcRs.execute();
jdbcRs.setAutoCommit(true);
jdbcRs.beforeFirst();
while (jdbcRs.next()){
//String c = rs.getString("QNNAME");
String c = jdbcRs.getString("QNNAME");
listModel.addElement(c);
//LastRecord = rs.getInt("QNID");
LastRecord = jdbcRs.getInt("QNID");
}
} catch (SQLException ex) {
Logger.getLogger(QuestioneerView.class.getName()).log(Level.SEVERE, null, ex);
statusMessageLabel.setText("Database Query Error");
return false;
}
这部分代码工作正常,从数据库中检索所选数据。
但是下面的部分也可以正常执行而没有错误,但是当我在netbeans中检查数据库时,没有添加任何内容。
myq.jdbcRs.moveToInsertRow();
myq.jdbcRs.updateInt("QNID", x);
myq.jdbcRs.updateString("QNNAME", Qus.Name());
myq.jdbcRs.updateInt("NOQUS", Qus.QuestionCount());
myq.jdbcRs.updateInt("QUANTITY", Qus.QQty());
myq.jdbcRs.insertRow();
如果我重新启动应用程序并再次从DB加载值,我仍然会得到旧值。