通过事务,调用存储过程插入到数据库 |
尚未結案
|
hwj_wj123
一般會員 發表:2 回覆:0 積分:0 註冊:2006-12-03 發送簡訊給我 |
循环一个记录集,通过事务,调用存储过程插入到数据库
问题是:调用正常,但是第一条记录没能保存到数据库 事务探查结果: 1. set implicit_transactions on 开始事务 2. EXEC spInsert 'xx', 'xx' 保存第一条记录 3. SET NO_BROWSETABLE ON 4. SET FMTONLY ON EXEC spInsert ' ', ' ' SET FMTONLY OFF 5. set fmtonly off (其他正确的类似操作,跟踪时没有这一句?????) 6. SET NO_BROWSETABLE OFF 7. EXEC spInsert 'xx', 'xx' 保存第二条记录 8. EXEC spInsert 'xx', 'xx' 保存第三条记录 9. 提交事务 通过以下方式调用: ADOConnection1.BeginTrans; //开始事务 try while not cdstmp.eof do begin ... ADOStoredProc1.Execute; cdstmp.next; end; ADOConnection1.CommitTrans; //提交事务 except on E: Exception do begin ADOConnection1.RollbackTrans; //如有异常,事务回滚 ShowMessage(E.Message); end end; 以前类似的操作也是这样做的,都没有问题。 偏偏这一次第一行不能保存,为什么????? 已经困惑我很久了,帮帮我吧!!!!! 把事务去掉是好的,第一条记录也可以保存 也就是: while not cdstmp.eof do begin ... ADOStoredProc1.Execute; cdstmp.next; end; 編輯記錄
taishyang 重新編輯於 2008-04-14 09:44:26, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |