加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

java – 如何检查数据库中的删除是否成功?

发布时间:2021-03-31 15:19:10 所属栏目:编程 来源:网络整理
导读:当用户在删除字段中输入错误的ID时,我想要弹出一个错误.但即使输入了错误的ID,查询仍会继续,但不会删除任何数据.这是我的代码: String value = jTextField19.getText();if (value == null || "".equals(value)) { JOptionPane.showMessageDialog(null,"The

当用户在删除字段中输入错误的ID时,我想要弹出一个错误.但即使输入了错误的ID,查询仍会继续,但不会删除任何数据.这是我的代码:

String value = jTextField19.getText();

if (value == null || "".equals(value)) {
    JOptionPane.showMessageDialog(null,"The field is blank!");
} else {
    theQuery("DELETE FROM inventorydb WHERE item_id=('"+jTextField19.getText()+"') AND item_id IS NOT NULL");
}

theQuery方法:

private void theQuery(String query) {
    Connection con = null;
    Statement st = null;
    try {
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/inventory","root","");
        st = con.createStatement();
        st.executeUpdate(query);
        JOptionPane.showMessageDialog(null,"Done!");
    } catch (Exception ex) { 
        JOptionPane.showMessageDialog(null,"Error!");
    } 
}
最佳答案 首先:不要直接从用户输入构建SQL查询,而是使用预处理语句.如果你不了解SQL注入,你应该.

如果您使用的是JDBC,则可以检查#executeUpdate()的结果以查看受影响的行数.如果它为零,那么你可以说它是一个错误的id.

这是方法定义:

public int executeUpdate(java.lang.String sql)

返回值为:

An int that indicates the number of rows affected,or 0 if using a DDL statement.

在手头的程序中,您可以简单地执行此操作:

int deleted = st.executeUpdate(query);
if (deleted == 0) {
    JOptionPane.showMessageDialog(null,"Nothing to delete!");
    return;
}

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读