0
我在本教程的最後一頁:http://www.homeandlearn.co.uk/java/delete_a_record_from_a_database.html這是關於刪除Derby數據庫中的記錄的。我的刪除按鈕的代碼如下:在java Derby數據庫中刪除行
private void btnDeleteRecordActionPerformed(java.awt.event.ActionEvent evt) {
try{
String host = "jdbc:derby://localhost:1527/Employees";
String uName = "bjorn";
String uPass= "";
con = DriverManager.getConnection(host, uName, uPass);
PreparedStatement pstmt = con.prepareStatement("SELECT * FROM App.Workers",ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
con.setAutoCommit(false);
rs = pstmt.executeQuery();
//count++;
if (rs.absolute(count)) {
rs.absolute(count);
//rs.next();
rs.deleteRow();
pstmt.close();
rs.close();
}
}
catch (SQLException err) {
System.out.println(err.getMessage());
}
}
我有兩個問題: 爲什麼rs.deleteRow();
不行?
當我包括在此方法下面的代碼,它給我的錯誤:
Invalid operation at current cursor position.
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
String sql = "SELECT * FROM App.Workers";
rs = stmt.executeQuery(sql);
int id_col = rs.getInt("ID");
String id = Integer.toString(id_col);
String first2 = rs.getString("First_Name");
String last2 = rs.getString("Last_Name");
String job2 = rs.getString("Job_Title");
textID.setText(id);
textFirstName.setText(first2);
textLastName.setText(last2);
textJobTitle.setText(job2);
stmt.close();
此代碼應該重新放入文本字段中的所有數據。什麼是不給這個異常的工作代碼?
當我按下刪除按鈕時,我的應用程序崩潰,無論我嘗試。你能通過改變上面的代碼來提供工作代碼嗎? – user1189952 2013-04-24 20:05:07
@ user1189952更新了答案。 – 2013-04-24 20:08:34