applyupdate 跟 commit的差別 |
尚未結案
|
andygod
一般會員 發表:7 回覆:7 積分:2 註冊:2002-11-16 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
ApplyUpdates是將cachedUpdate之資料送回DataBase Server儲存.
TBDEDataSet.CommitUpdates是將local的cachedUpdate之內容清空, 並不執行任何post等動作注意DataBase.Commit與DataSet.CommitUpdates意義完全不同 在BDE中TDataBase及TBDEDataSet均有此method, 但效能不完全相同
以Dataset而言, 以下是online Help中之標準寫法
with CustomerQuery do //針對dataset begin Database1.StartTransaction; //開始一個Transaction try ApplyUpdates; //實際執行寫入 Database1.Commit; //確認寫入, 此為database之method except Database1.Rollback; raise; {raise the exception to prevent a call to CommitUpdates!} end; CommitUpdates; //清除 cache buffer end;但這兩個指令 最大的差別在哪裡 DataSet.applyupdates, database.commit是Transaction之兩個階段 dataset.commitupdates是清除 cache buffer 意義是完全不同的 另外TDatabase元件也有applyupdates method 例: Database1.applyupdates([query1,query2...]); //多個dataset Database之applyupdates會自動包裝整個Transaction, 如同上面的一樣, 包含Database.commit, rollback等等均會自動完成 因此, 使用Cached updates時應用Database.applyupdates不要用dataset.applyupdates, 否則就要自己包Transaction |
pgdennis
資深會員 發表:41 回覆:526 積分:443 註冊:2002-05-23 發送簡訊給我 |
引言: ApplyUpdates是將cachedUpdate之資料送回DataBase Server儲存. TBDEDataSet.CommitUpdates是將local的cachedUpdate之內容清空, 並不執行任何post等動作注意DataBase.Commit與DataSet.CommitUpdates意義完全不同 在BDE中TDataBase及TBDEDataSet均有此method, 但效能不完全相同 以Dataset而言, 以下是online Help中之標準寫法又上了寶貴的一課了...感謝with CustomerQuery do //針對dataset begin Database1.StartTransaction; //開始一個Transaction try ApplyUpdates; //實際執行寫入 Database1.Commit; //確認寫入, 此為database之method except Database1.Rollback; raise; {raise the exception to prevent a call to CommitUpdates!} end; CommitUpdates; //清除 cache buffer end;但這兩個指令 最大的差別在哪裡 DataSet.applyupdates, database.commit是Transaction之兩個階段 dataset.commitupdates是清除 cache buffer 意義是完全不同的 另外TDatabase元件也有applyupdates method 例: Database1.applyupdates([query1,query2...]); //多個dataset Database之applyupdates會自動包裝整個Transaction, 如同上面的一樣, 包含Database.commit, rollback等等均會自動完成 因此, 使用Cached updates時應用Database.applyupdates不要用dataset.applyupdates, 否則就要自己包Transaction
------
星期一,二...無窮迴圈@@ |
andygod
一般會員 發表:7 回覆:7 積分:2 註冊:2002-11-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |