ADODataSet 新增/修改問題 |
尚未結案
|
sginpt
一般會員 發表:9 回覆:8 積分:3 註冊:2003-06-08 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 如果是使用BatchUpate功能時﹐需要注意配合使用UpdateBatch和CancelBatch方法來确認或者取消所有的異動作業﹒因為BatchUpdate的工作原理是當ADO從資料來源處取回資料后﹐用戶端對所有的資料異動都暫時儲存在用戶端的快取記憶體中﹐而不是立即更新回后端的資料庫﹒
确認異動作業方法 begin ADODataSet1.UpdateBatch; end; 取消異動作業方法 begin ADODataSet1.CancelBatch; end;發表人 - cashxin2002 於 2004/09/14 17:47:12
------
忻晟 |
sginpt
一般會員 發表:9 回覆:8 積分:3 註冊:2003-06-08 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
|
sginpt
一般會員 發表:9 回覆:8 積分:3 註冊:2003-06-08 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
太客氣了﹐sginpt兄﹒ 就您的問題回答如下﹕
1﹒在使用BATCHUPDATE時該怎麼做才會將資料寫到資料庫呢
答﹕當需要把快取記憶體中所有的異動回存到后端資料庫來源﹕
begin ADODataSet1.UpdateBatch; end;當需要把快取記憶體中所有的異動取消﹐即放棄之前在快取記憶體中的異動﹐不回存到后端資料庫﹕ begin ADODataSet1.CancelBatch; end;2﹒UpdateBatch方法要怎麼用? 答﹕啟用UpdateBatch功能的前提條件﹕ 使用ADO之BatchUpdate功能之前提條件 CursorType屬性值需為﹕ctKeySet 或 ctStatic a. LockType屬性值需為﹕LtBatchUpdate b. 執行的SQL敘述需為﹕Select 敘述 c. CursorLocation屬性值需為﹕clUseClient 當CursorLocation屬性值為clUseServer時也可使用BatchUpdate功能﹐ 只是說其缺點是無法使用ADO的Briefcase模型功能﹐且在執行效率上不佳﹒ 完成如上的設定就已經自動開啟Batchupdate功能了﹐在對資料庫進行異動時(如Post, Insert, Delete)﹐并非對后端的資料庫來源﹐而是針對前端的快取記憶體中的資料而言﹐因為Batchupdate功能已將后端資料庫中的資料抓取到前端的快取記憶體中了﹐回存后端資料庫時請參考第一點﹒ ========================= 大病初愈﹐休養調整中... ========================= 發表人 - cashxin2002 於 2004/09/15 14:02:15
------
忻晟 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |