gpt4 book ai didi

java - SQL 查询有问题

转载 作者:行者123 更新时间:2023-11-29 07:23:38 26 4
gpt4 key购买 nike

我是数据库和 sql 方面的新手,只是想用 Java 解决所有问题,但我遇到了一些小问题,我正在尝试删除数据库中的一条记录,其 ID 作为方法给出参数,像这样,但它不起作用

@Override
public void removeCustomer(int number) {
Statement statement = null;
try {
statement = connection.createStatement();
statement.executeUpdate("DELETE FROM Customers WHERE id='number'");
} catch (SQLException e) {
e.printStackTrace();
} finally {
try{
if(statement != null) statement.close();
} catch (SQLException e ) {
e.printStackTrace();
}
}
}

它确实有效,当我在 SQL 查询中写入“... WHERE id='2'”时;但我希望能够从方法参数传递数字。有人可以帮忙吗?

最佳答案

您可以使用 PreparedStatement像这样:

try(PreparedStatement stm = connection.createStatement("DELETE FROM Customers WHERE id=?")){
stm.setInt(1, number);
stm.executeUpdate();
}
//.. catch and finally

注意

It does work, when I write in SQL query " ... WHERE id='2'";

如果您的 id 是 varchar,您可以使用 setString 而不是 setInt 将字符串传递给语句,但我不' 建议使用字符串作为 id

关于java - SQL 查询有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58911722/

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