簡體   English   中英

刪除查詢無法正常工作

[英]Delete query didn't work properly

DELETE查詢無法正常工作,該行已從JTable中刪除,但在數據庫中仍然可用,當我刷新JTable時,它在其中又返回可用狀態。

  DefaultTableModel m=(DefaultTableModel)tbl.getModel();
    if (tbl.getSelectedRow()==-1){
        if(tbl.getRowCount()==0)
            JOptionPane.showMessageDialog(null, "Table is Empty");
        else
            JOptionPane.showMessageDialog(null,"You Must Select a Row");
        }
    else{
        int rowIndex = tbl.getSelectedRow();

        int n = JOptionPane.showConfirmDialog(null,"Are you sure you want to permanently delete "
                + MainFrame.pArray.get(rowIndex).name+" information ?","Delete Record",JOptionPane.YES_NO_OPTION);
    if(n == JOptionPane.YES_OPTION){

     String id = MainFrame.pArray.get(rowIndex).id;

        String sql = "delete from patient where id =?";
    try {
        connect();
        if( conn != null){
        PreparedStatement sttmnt = (PreparedStatement) conn.prepareStatement(sql);
        sttmnt.setInt(1,Integer.parseInt(id));
        sttmnt.executeUpdate();
        m.removeRow(tbl.getSelectedRow());
        MainFrame.pArray.remove(rowIndex);
        JOptionPane.showMessageDialog(null, "Done");
        conn.close();
        }
    }       catch (ClassNotFoundException ex) {
                Logger.getLogger(Table.class.getName()).log(Level.SEVERE, null, ex);
            } catch (SQLException ex) {
                Logger.getLogger(Table.class.getName()).log(Level.SEVERE, null, ex);
            }
    }
    }

在關閉連接之前,嘗試提交事務。 改為這樣做:

conn.close()之前的conn.commit() conn.close()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM