0
我創建了一個名爲users的表的sql數據庫。它包含user_id,user_name和電子郵件。我創建了一個表單,允許用戶搜索任何記錄並在JTable
上顯示過濾的記錄。如何根據搜索值從jtable和sql數據庫中刪除搜索到的行
我想根據搜索值刪除搜索結果過濾器的行,這意味着用戶可以搜索user_id,user_name或email。
用戶{USER_ID,USER_NAME,電子郵件}
這是我
private void deleteSelectedRows(){
try {
String sql = "DELETE from user where ? = ?";
pst = conn.prepareStatement(sql);
pst.setString(1, searchTxt.getText());
pst.setString(2, searchTxt.getText());
((DefaultTableModel)userTable.getModel()).removeRow(userTable.getSelectedRow());
pst.execute();
} catch (Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
searchTxt
是文本字段。 此代碼刪除我的表中的所有行。
如果我將其更改爲DELETE from user where user_id = ?
,它只會在通過user_id搜索時刪除該行。
謝謝。這是一個很好的解釋。由於涉及多個列,我是否使用多個列名? –
@TLin但是,您還必須使用不同的searchTxt,每個columnName一個,並且如果不是所有字段都用於搜索,則必須以非常的方式構建查詢。如果答案是有用的,那麼請將其標記爲接受。 – RubioRic
我使用了一個組合框,並修復了基於從組合框中選擇的值的搜索,它工作正常!謝謝你,你的批准正在進行中! –