我对Java中的Prepared Statement有疑问,因为我对此了解不多。
我有一个必须使用PreparedStatement 的用例。但我只是在编写代码之前想:
while(...)
{
if(...)
{
preparedStatement.setString(1, fname);
preparedStatement.setString(2, lname);
...
preparedStatement.addBatch();
}
}
preparedStatement.executeBatch();
让我们考虑上面的代码。有一个 while 循环,它会做一些事情,然后检查一些条件,然后在准备好的语句中添加批处理。
1)所以,我的问题是,假设没有在准备好的语句中添加任何批处理,但我仍然说executeBatch
。它会给我异常还是会正常执行?
2)有没有办法在执行前检查preparedstatement中的批处理?
谢谢。
最佳答案
它应该可以正常工作并返回一个空数组。据我所知,了解当前是否添加批处理的唯一方法是自己跟踪它们。
另一方面,如果您只想知道实际执行了多少条语句,那么您可以使用返回的更新计数数组来检查运行了多少个查询,以及各个查询其中的值(value)观,以了解他们每个人是否成功。请参阅 executeBatch()
的文档了解更多详情。
关于java - 如何在executeBatch()之前检查Prepared Statement是否有一些批处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15221196/