存储过程执行同步问题

wuming1805 2006-12-02 05:39:34
我要循环执行一个存储过程,但是我用SQLSERVER的事件跟纵器发现第一次循环执行的存储过程还没执行完,第二个就开始执行了,导致最后的结果跟我想的不一样
下面是代码片段
for(int i=0;i<date.length;i++)
{
cstmt=con.prepareCall("{call alkt.probagilitypro('"+date[i]+"','"+time+"')}");
cstmt.execute();
}
请问是什么问题怎么解决
...全文
244 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
JAVA_3 2006-12-05
  • 打赏
  • 举报
回复
可以用Thread实现同步
treeClimber 2006-12-04
  • 打赏
  • 举报
回复
这应该不是不是autoCommit的问题,而是循环中没等execute完就开始了第二个i,应为java只管调用api,可不会等你数据库端是否完成。
解决办法,将for中的两条语句写个方法,加上synchronized限制,再判断execute的返回就可以。
masse 2006-12-04
  • 打赏
  • 举报
回复
conn.setAutoCommit(false);

或者先判断execute的返回值?

我好像没有遇到过这种问题。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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