【发布时间】:2016-05-14 09:23:02
【问题描述】:
我创建了一个带有名为 users 的表的 sql 数据库。它包含 user_id、user_name 和电子邮件。我创建了一个表单,允许用户搜索任何记录并在JTable 上显示过滤后的记录。
我想删除搜索结果根据搜索值过滤的行,这意味着用户可以搜索 user_id、user_name 或电子邮件。
用户 {user_id, user_name, email}
这就是我所拥有的
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 = ?,它只会在用户ID搜索时删除该行。
【问题讨论】:
标签: java mysql sql-server swing