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

OLE error 800AC472

答題得分者是:smallfox
l730626
一般會員


發表:22
回覆:21
積分:8
註冊:2009-03-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-06-21 10:03:22 IP:60.249.xxx.xxx 訂閱
我將資料庫中的資料轉出至Excel,因為資料量很大,完全轉好需要花費一段時間,

且在轉出時有時候會發生Error訊息(OLE error 800AC472.),請問有方法可以避免嗎?



老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-06-21 10:20:01 IP:59.120.xxx.xxx 未訂閱
smallfox
高階會員


發表:2
回覆:113
積分:128
註冊:2003-02-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-06-22 01:21:41 IP:203.73.xxx.xxx 訂閱
在處理大量資料時, 往往耗費許多電腦資源及時間, 特別是這種轉出的處理,
一般的處理模式都是:

ADOQuery1.First;
while (not ADOQuery1.Eof) do begin
......
......
ADOQuery1.Next;
end;

這樣的遞增寫法會牽涉到記錄指標移動的問題, 因此比較容易耗費時間,
我通常會改採遞減的方式, 如下:

ADOQuery1.LockType:=ltBatchOptimistic;
ADOQuery1.Open;
ADOQuery1.First;
while (not ADOQuery1.Bof) do begin
.....
.....
ADOQuery1.Delete;
ADOQuery1.First;
end;

這樣的處理方式, 會使得電腦記憶體內的資料筆數愈來愈少, 而且指標都是在最前面,
系統減少處理指標移動的問題, 自然就加快處理的速度.
提供給各位參考.
系統時間:2024-03-29 12:56:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!