gpt4 book ai didi

java - 我应该如何确定数据是否已经存在于数据库中

转载 作者:行者123 更新时间:2023-12-01 00:08:35 24 4
gpt4 key购买 nike

我的代码有一些错误,当我写入数据库中不存在的卷号并按下删除按钮时,还会弹出一条消息,提示 “记录已成功删除” .

其实我想创建一个学生报告的项目,并通过连接java和MySQL。所以我为删除按钮编写了代码,如果写入学生的卷号并按下删除,它将删除该特定学生的记录。

所以希望你理解我的问题并期待一个准确的答案。

Class.forName("java.sql.DriverManager");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/stud","root","");
Statement stmt=con.createStatement();
String query="delete from info where rollno="+rn.getText();
int d = stmt.executeUpdate(query);
JOptionPane.showMessageDialog(null,"record deleted successfully!!!");
rn.setText("");

最佳答案

首先,使用 PreparedStatement,您可以在其中填写参数,而不是编写 SQL 字符串。
可以避免非常讨厌的错误 ( How does the SQL injection from the "Bobby Tables" XKCD comic work? )。所以

PreparedStatement stmt = con.prepareStatement("DELETE FROM info WHERE rollno=?");
stmt.setLong(1, Long.parseLong(rn.getText()));
int d = stmt.executeUpdate();

就你的问题而言:
executeUpdate 方法返回受影响的行数。
如果它等于 0,则没有行被删除。

if (d == 0)
{
JOptionPane.showMessageDialog(null,"This record does not exist");
// Return or thrown an exception or whatever to interrupt the operation
}
else
JOptionPane.showMessageDialog(null,"record deleted successfully!!!");

关于java - 我应该如何确定数据是否已经存在于数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58184698/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com