我試圖從數據庫更新或刪除數據,但它不工作。我不知道昨天晚上我做了些什麼,而想睡覺時又想解決另一個問題。現在這不起作用。這是他們兩人的代碼。我的問題在哪裏?當我使用刪除命令時,它正在更新,但試圖更新表,它不更新表。我的問題在哪裏,我該如何解決這個問題?可以更新和刪除數據庫中的數據
private void cmd_deleteActionPerformed(java.awt.event.ActionEvent evt) {
String sql="delete from maintable where İsim =? ";
try{
pst=conn.prepareStatement(sql);
pst.setString(1, jTextField1.getText());
pst.execute();
JOptionPane.showMessageDialog(null, "Silindi");
}catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
Update_table();
}
這是更新:
private void cmd_updateActionPerformed(java.awt.event.ActionEvent evt) {
try{
String value1=jTextField1.getText();
String value2=jTextField2.getText();
String value3=jTextField3.getText();
String value4=jTextField4.getText();
String value5=jTextField5.getText();
String sql="update maintable set İsim='"+value1+"' ,Yaş ='"+value2+"',Konum ='"+value3+"',EPosta='"+value4+"',KatılımTarihi='"+value5+"' where İsim='"+value1+"' ";
pst=conn.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(null, "Güncellendi");
}catch(Exception e){;
JOptionPane.showMessageDialog(null, e);
}
Update_table();
}
編輯: 「PST = conn.prepareStatement(SQL);」它給我的紅色下劃線錯誤,這是SQL字括號說「無法找到符號」
pst=conn.prepareStatement("update maintable set İsim=?,Yaş=?,Konum=?,EPosta=?,KatılımTarihi=?"); pst.setString(1,value1);
pst.setString(2,value2);
pst.setString(3,value3);
pst.setString(4,value4);
pst.setString(5,value5);
pst=conn.prepareStatement(sql);
嗯,謝謝你的回答,但它沒有奏效。他們倆都一樣;只是刪除jtable或只是更新jtable,而不是數據庫。所以當我重新登錄到編程數據不保持相同,我編輯或刪除。我試過你給我的最後一條建議,但是,當我將這段代碼應用到我的程序時,它給出了一些紅色的下劃線錯誤。我會編輯我的問題。 – Qce
@Qce我不能說爲什麼你會收到錯誤,但這是正確使用preparedstatement.You檢查它在這裏http://stackoverflow.com/questions/5591271/how-to-use-prepared-statement和在這裏http: //www.roseindia.net/jdbc/jdbc-mysql/TwicePreparedStatement.shtml – SpringLearner
@ace我編輯了我的答案,只是複製並粘貼你的代碼,如果你發現錯誤,那麼你可以問我 – SpringLearner