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

时间:2016-05-24 12:26:10

标签: java mysql

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

var validator = jQuery('#form1').validate();
if(jQuery('#form1').valid()){
    var submitErrorsList = new Object();
    for (var i=0;i<validator.errorList.length;i++){
        submitErrorsList[validator.errorList[i].element.name] = validator.errorList[i].message;
    }
}
console.log("Submit Errors", submitErrorsList);

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

1 个答案:

答案 0 :(得分:11)

首先:不要永远直接从用户输入构建SQL查询,而是使用预准备语句。如果你不了解SQL注入,你应该。

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

这是方法定义:

public int executeUpdate(java.lang.String sql)

返回值为:

  

int表示受影响的行数,如果使用DDL语句则为0

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

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