在ADOQuery1中有大量代碼,ADOQuery2也有大量的代碼。
資料之間是有邏輯關系的,所以當ADOQuery1,POST之后,ADOQuery2也要POST
例如:
ADOQuery1.POST;
ADOQuery2.POST;
那么假如ADOQuery1,POST后,主機斷電了,那么ADOQuery2就無法POST
所以,能不能讓他們同時POST
類似這個:ADOQuery1 and ADOQuery1 POST
目的就是要么全部POST,要么全否。
uj5u.com熱心網友回復:
使用ado的事務首先確認query1和query2連接的adoconnection是同一個,代碼大致如下:
ADOConnection1.BeginTrans;//啟動事務
try
//post1
//post2
//post3
ADOConnection1.CommitTrans;//提交事務
except
on E: Exception do
begin
ADOConnection1.RollbackTrans;//事務回滾
end;
end;
uj5u.com熱心網友回復:
因為,你剛入門,通常在ADOQuery里只使用了簡單查詢SQL,所以是兩表分別提交。在實際應用中,可以使用更新語法/插入語法(SQL的語法)在ADOQuery里,并且可以是多條陳述句一起,就是一段SQL代碼。同時可以使用到事務管理,就可以達到同時更新或出錯回滾(全部撤銷)
當然,在你這樣簡單應用的情況下,你可以不用考慮斷電的情況。
如果,想使用簡單技術方法去處理,你可以做一個本地記錄,當ADOQueryPost成功后,在本地記錄下來,當ADOQuery2也POST成功后,取消記錄,之后在程式的某個地方,例如啟動的時候或其他什么時間去檢查這個本地記錄,如果發現有沒有POST成功的,你就啟用你的解決辦法,要么重新提交,要么洗掉已提交。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/147275.html
標籤:語言基礎/算法/系統設計
