線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1397
推到 Plurk!
推到 Facebook!

ADO一問

答題得分者是:pprayer
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-10-02 18:24:04 IP:61.222.xxx.xxx 未訂閱
請問各位: 我使用 AdoConnection 連結遠端 SQL2000, 以 ADOquery來做資料管理 現下 ADOquery.Append之後, 記錄要回存, 我下了 ADOquery1.Post; ADOquery1.UpdateBatch(arCurrent); 資料可以存回主機, 然而我只下 ADOquery1.Post; 也可以正常回存主機, 那 ADOquery1.UpdateBatch()使用時機何在? 另外如果必須加 UpdateBatch的話, 應該是加在 Post之前或之後? 謝謝!
mm
一般會員


發表:7
回覆:11
積分:8
註冊:2002-08-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-10-03 18:18:58 IP:203.204.xxx.xxx 未訂閱
好像要先把 ADOquery 的 lock type 屬性設為 ltBatchOptimistic 這樣的話如果以 post 的方式資料並不會異動到資料庫而將存在client端 等到要異動時以 UpdateBatch() 的方式作批次處理 我也不是很清楚
mm
一般會員


發表:7
回覆:11
積分:8
註冊:2002-08-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-10-04 09:05:44 IP:203.204.xxx.xxx 未訂閱
ADOquery1.UpdateBatch(arCurrent) 為把目前異動的資料中最後一筆異動資料先與資料庫作異動 而其他異動資料先保留待會在決定是否異動
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-10-04 09:52:39 IP:210.85.xxx.xxx 未訂閱
引言: ADOquery1.UpdateBatch(arCurrent) 為把目前異動的資料中最後一筆異動資料先與資料庫作異動 而其他異動資料先保留待會在決定是否異動
sorry! 你可能誤會我的意思, 我並不是指UpdateBatch的意思, 我主要是想了解Post 與 UpdateBatch 的差異性, 如我上面所說, 我只下 Post 一樣可以把當筆回存到主機, UpdateBatch(arCurrent)也是將當筆回存, 那兩者有何差別, 使用時機(何時該用post,或UpdateBatch), 以及使用這兩者的效能差異如何?
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-10-04 10:54:06 IP:211.21.xxx.xxx 未訂閱
TADOQuery.Post 會將資料直接寫進DB 一次一筆 ADOquery1.UpdateBatch 可以選擇全部寫入 但是cursertype & locktype 要注意 TClientDataSet.Post 會將資料寫入changelog 這是我看HELP的 好像兩者是沒什麼差別
系統時間:2024-05-06 19:18:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!