S shuquanhe Unregistered / Unconfirmed GUEST, unregistred user! 2001-12-26 #1 我在作一個審核時要對幾個ACCESS表作數據修改動作,但如果其中一個出了問題,則必須恢復原來 狀況,這就應該用到事務吧!可是我從未做過,哪位高手指點一下!謝謝
Y yzhshi Unregistered / Unconfirmed GUEST, unregistred user! 2001-12-26 #3 使用Ado时 ADOConnection1.BeginTrans; ADOConnection1.RollbackTrans; ADOConnection1.CommitTrans;
Y yzhshi Unregistered / Unconfirmed GUEST, unregistred user! 2001-12-26 #4 使用BDE时 Database1.StartTransaction; Database1.Rollback; Database1.Commit;
S shuquanhe Unregistered / Unconfirmed GUEST, unregistred user! 2001-12-26 #5 to yzhshi 我沒有做過,不知還是不知道知怎麼用,能稍微舉個例子。 比如: begin Database1.StartTransaction; 表1的代碼; 表2的代碼; 表3的代碼; 然後怎樣? end
to yzhshi 我沒有做過,不知還是不知道知怎麼用,能稍微舉個例子。 比如: begin Database1.StartTransaction; 表1的代碼; 表2的代碼; 表3的代碼; 然後怎樣? end
Y yzhshi Unregistered / Unconfirmed GUEST, unregistred user! 2001-12-27 #6 (Try内 上面的两句是CatchUpdate方式,下面的是每行提交方式, 其中赋值等可在任何地方,Post在这里面就可以了 对于CatchUpdate方式,则Post在那里都可以,而ApplyUpdate必须在这里。 try Database1.StartTransaction; Query1.ApplyUpdates; Query2.ApplyUpdates; .... Query1.Post; Query2.Post; Database1.Commit; except if Database1.InTransaction then Database1.Rollback; end;
(Try内 上面的两句是CatchUpdate方式,下面的是每行提交方式, 其中赋值等可在任何地方,Post在这里面就可以了 对于CatchUpdate方式,则Post在那里都可以,而ApplyUpdate必须在这里。 try Database1.StartTransaction; Query1.ApplyUpdates; Query2.ApplyUpdates; .... Query1.Post; Query2.Post; Database1.Commit; except if Database1.InTransaction then Database1.Rollback; end;