帮我看看这个问题?

gangnet 2007-12-19 02:46:20
stmt = connect.createStatement();
for(int i=0;i <sqls.size();i++){

stmt.addBatch((String)sqls.get(i));
}

stmt.executeBatch();
执行的语句中既有修改的,也有插入的语句;记录总共有500多条,但是现在发现只执行了400条左右,总有部门没有执行,是什么原因?
批量操作有记录条数限制吗?
...全文
67 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2007-12-19
  • 打赏
  • 举报
回复
如果的数据更新没有冲突的话,就没有问题.

如果有冲突,比如1,更新ID = 1,
2,更新ID<=2

这样看起来就只执行了2而看不到1的结果.
arrow_gx 2007-12-19
  • 打赏
  • 举报
回复
单步调试,先不要进行更新,插入,先看看条件是否正确,能否找出相应的记录来
gangnet 2007-12-19
  • 打赏
  • 举报
回复
我把没有执行的语句单独执行,没有问题啊,是不是一次执行太多了,中间给停留一下,或者分多次执行?

int count = 0;
try {
stmt = connect.createStatement();
for(int i=0;i<sqls.size();i++){
count++;
if(count < 100){
stmt.addBatch((String)sqls.get(i));
}
else{
stmt.executeBatch();
count = 0;
}
}
if(count > 00){
stmt.executeBatch();
}
}这样也是了
dawugui 2007-12-19
  • 打赏
  • 举报
回复
有100条,条件不对?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧