gpt4 book ai didi

java - sql update 语句不能从 Java 运行,而是手动运行?

转载 作者:行者123 更新时间:2023-11-29 12:14:00 27 4
gpt4 key购买 nike

编辑:我有一封信,现在正在工作。

我有如下的sql语句

UPDATE names set sent_count = sent_count + 1  where user_name = 'name' AND category = 'test' AND service = 'test'

这是通过每次我从 PGAdmin3 运行 sql 时增加 sent_count 来工作的,但是我在使用 Postgresql JDBC 的 Java 程序中有以下方法,它不会抛出任何异常但它不会增加 sent_count 这里是下面的方法

public void increaseUsernameResponseCount(String userName, String category, String service, String country) throws SQLException
{
Connection conn = null;
PreparedStatement pst = null;
// ResultSet rs = null;

try
{
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection(url, props);
pst = conn.prepareStatement("UPDATE names set sent_count = sent_count + 1 where user_name = ? AND category = ? AND service = ?");
pst.setString(1, userName);
pst.setString(2, category);
pst.setString(3, service);

int count = pst.executeUpdate();
System.out.println(count);

}
catch (Exception e)
{
System.out.println(e);
}
finally
{
pst.close();
conn.close();
}
}

运行此方法时计数计数器打印 0。知道为什么它在方法中不起作用,但在我执行 sql 查询时却起作用吗?

最佳答案

检查您是否有两个包含相同表的数据库。如果您在两个不同的位置工作并且在从转储中导入数据库时​​不断更改数据库名称,通常会发生这种情况。

还要检查数据库的“url”和“props”字符串是否正确。

关于java - sql update 语句不能从 Java 运行,而是手动运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14156399/

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