获取使用PreparedStatement更新的行数
如何获取使用PreparedStatement更新了多少行?
.getUpdateCount()
返回 0。
executeUpdate
出现错误:
批处理期间发生错误:必须执行或清除批处理
我的代码:
updTrans = dataSource.getConnection().prepareStatement("update...");
updTrans.setInt(1, Integer.valueOf(transaksjonstatusid));
...
updTrans.addBatch();
upd = updTrans.executeUpdate();
How to get how many rows updated with PreparedStatement?
.getUpdateCount()
returns 0.
For executeUpdate
got error:
error occurred during batching: batch must be either executed or cleared
my code:
updTrans = dataSource.getConnection().prepareStatement("update...");
updTrans.setInt(1, Integer.valueOf(transaksjonstatusid));
...
updTrans.addBatch();
upd = updTrans.executeUpdate();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您应该使用
使用批处理时,PreparedStatement#executeBatch()
。它返回一个
int[]
,其中包含每个批次的更新计数。You should be using
PreparedStatement#executeBatch()
when using batches.It returns an
int[]
containing update counts of each batch.您是否尝试使用:
在这里您可以找到一些有关如何使用 的说明准备好的语句。
Did you try to use:
Here you can find some explanations on how to use a PreparedStatement.
请参阅 Javadoc
See The Javadoc
getUpdateCount
旨在与execute(String sql)
方法一起使用。你可能正在这样做:在这种情况下你应该简单地做
getUpdateCount
is meant to be used with theexecute(String sql)
method. You are probably doing this:In that case you should simply do