使用的Tquery。 add 和ExecSQL方式对数据库操作的。
使用了BDE的SHARED NOAUTOCOMMIT也不起作用。
用事务控制没有试,不太方便感觉(涉及到多个数据库多个表)。
就希望实现pb的方式,一开始连接数据库的时候设置一下autocommit = false,以后没个sql只要commit和rollback就可以了,方便的很。 在delphi中怎么实现这个目的。
使用了BDE的SHARED NOAUTOCOMMIT也不起作用。
用事务控制没有试,不太方便感觉(涉及到多个数据库多个表)。
就希望实现pb的方式,一开始连接数据库的时候设置一下autocommit = false,以后没个sql只要commit和rollback就可以了,方便的很。 在delphi中怎么实现这个目的。
try
//...
database1.Commit;
except
database1.Rollback;
end;
>>>用BDE和odbc方式连接的oracle,究竟如何才能实现数据的不自动提交。 procedure TForm1.BitBtn10Click(Sender: TObject);
begin 用TTable也行===============================================
Table1.CachedUpdates:=True; //設緩存更新就不會自動提交!!!
Table1.Append;
.....
Table1.Post; //只是提交數據到緩存 Table1.ApplyUpdates; //方式一.提交到數據庫, 如需要可用事務控制!!!!
Table1.Database.ApplyUpdates(Table1);//方式二.提交到數據庫
=======================================
用TQuery也行
Query2.RequestLive:=True; Query2.CachedUpdates:=True;
Query2.Append;
.....
Query2.Post; // Query2.ApplyUpdates;
Query2.Database.ApplyUpdates(Query2);end;也可以配合如: jinjazz(近身剪(N-P攻略)) 提出的事務控制@!!!