gpt4 book ai didi

java - 初学者 JDBC 结果集问题

转载 作者:行者123 更新时间:2023-12-03 23:13:37 25 4
gpt4 key购买 nike

刚开始使用 JDBC,我想知道是否所有操作都会产生一个结果集。例如,我正在通过以下方式向数据库插入/更新语句:

StringBuffer query1 = new StringBuffer("UPDATE table SET col1 = value, WHERE some_col = some_val");
PreparedStatement pstmt1 = con.prepareStatment(query1.toString());
ResultSet rs1 = pstmt1.executeQuery();

那么这个片段在执行时是否会执行适当的更新并完成?或者我是否需要以某种方式处理结果集才能完成操作?

提前感谢您的帮助。

最佳答案

你应该使用 PreparedStatement#executeUpdate()而不是 executeQuery() .它返回一个 int 指示受影响的行数。

int affectedRows = preparedStatement.executeUpdate();

就是说,以这种方式构造 SQL 字符串不是正常的习惯用法。您宁愿使用占位符 ? 并使用 PreparedStatement setter 来设置值。

String sql = "UPDATE table SET col1 = ? WHERE some_col = ?";
// ...
preparedStatement = connection.prepareStatment(sql);
preparedStatement.setString(1, col1);
preparedStatement.setString(2, someCol);
int affectedRows = preparedStatement.executeUpdate();
// ...

另见:

关于java - 初学者 JDBC 结果集问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3585387/

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