用adoquery插入多个表提交和回滚的问题? 同事插入3个表,要保证全部正确才能提交,有一个插入错误就回滚,把已经插入的表的数据撤销,只用用ADOConnection.BeginTrans事务来实现码?不用事务只用批量插入能实现多表的回滚吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我想是,至少我是没什么万无一失的没办法了http://www.ttjcw.net/html/shujuku/SQLSERVER/983.html如何保证数据的一致性和完整性! 事务+批量更新模式处理。 1、begin tran 2、ExecSQL('Insert into Table1 values() '); 3、ADOQuery1.LockType := ltBatchOptimistic; SQL条件... ADOQyery1.open; while not ADOQuery1.Eof do begin ADOQuery1.Append; ADOQuery1.fieldbyName('XX').value := 'aa'; ... ... ADOQuery1.Next; end; ADOQuery1.UpdateBatch(arAll); 4、commit tran 在ADOQuery1.Next的前面用ADOQuery1.Post吗? 循环中next前可以不用post,因为调用append时,会先提交的,但是在while完毕后,加一句话 if ADOQuery1.Modified then ADOQuery1.Post; try BeginTrans; ExecSQL('Insert into Table1 values() '); ADOQuery1.LockType := ltBatchOptimistic; SQL条件... ADOQyery1.open; while not ADOQuery1.Eof do begin ADOQuery1.Append; ADOQuery1.fieldbyName('XX').value := 'aa'; ... ... ADOQuery1.post; ADOQuery1.Next; end; ADOQuery1.UpdateBatch(arAll); CommitTrans; except RollbackTrans;end; cxgrid控件到哪里下载 救救我把 老师给个作业 我实在是不会啊 excel报表delphi jinjazz(人雅的标记--落寞刺客)进来看看,看看你们这些版主都无聊到什么程度了,其他朋友也来看看 动态创建表的问题,请问如下代码有什么问题呀? 如何获得请求中的html文本的内容 与数据库连接问题??急用,多谢!!! bde的问题 这里有北京金山的朋友吗? 大家帮帮我!有关hook的。 Pdicom处理Dicom图像 怎么使用CXGRID制作匹配列的功能 把某个窗口设置为最前就想任务管理器那样不被遮挡
http://www.ttjcw.net/html/shujuku/SQLSERVER/983.html
如何保证数据的一致性和完整性!
1、begin tran
2、ExecSQL('Insert into Table1 values() ');
3、ADOQuery1.LockType := ltBatchOptimistic;
SQL条件...
ADOQyery1.open;
while not ADOQuery1.Eof do
begin
ADOQuery1.Append;
ADOQuery1.fieldbyName('XX').value := 'aa';
...
...
ADOQuery1.Next;
end;
ADOQuery1.UpdateBatch(arAll);
4、commit tran
在ADOQuery1.Next的前面用ADOQuery1.Post吗?
if ADOQuery1.Modified then
ADOQuery1.Post;
BeginTrans;
ExecSQL('Insert into Table1 values() ');
ADOQuery1.LockType := ltBatchOptimistic;
SQL条件...
ADOQyery1.open;
while not ADOQuery1.Eof do
begin
ADOQuery1.Append;
ADOQuery1.fieldbyName('XX').value := 'aa';
...
...
ADOQuery1.post;
ADOQuery1.Next;
end;
ADOQuery1.UpdateBatch(arAll);
CommitTrans;
except
RollbackTrans;
end;