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

ADO + Access插入5000笔的速度问题

尚未結案
lovelypp
初階會員


發表:122
回覆:111
積分:46
註冊:2003-02-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-19 12:32:39 IP:218.104.xxx.xxx 未訂閱
使用TADODataSet.Append插入5000笔资料,每一笔资料除了一个Field从1到5000 在变化外,其余不变,竟然需要十几秒钟。 有无快速的方法? TestTable: No Int <-----从1到5000逐步递增 Name Text(20) Status Int
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-19 15:14:48 IP:203.95.xxx.xxx 未訂閱
Hi, 請問你有使用 visual 的元件嗎? 如 DBGrid 等, 若有的話, 可以先斷開可視的這些元件, 以增進效能.
lovelypp
初階會員


發表:122
回覆:111
積分:46
註冊:2003-02-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-19 22:32:35 IP:218.2.xxx.xxx 未訂閱
感谢! 请教如何断开跟DBGrid的连接,以提高速度? 另外有无其它更快的方法?
海星
高階會員


發表:41
回覆:217
積分:106
註冊:2003-01-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-20 08:20:10 IP:61.59.xxx.xxx 未訂閱
引言: 感谢! 请教如何断开跟DBGrid的连接,以提高速度? 另外有无其它更快的方法?
Hi! 試試下面的源代碼,下面可以切斷 Table(或者 Query) 跟任何 VCL DB元件的連結,或者還原(等處理完畢後)與VCL DB元件連結.這樣速度可以增快很多. 你也不用管什麼 DBGrid 或 DBEdit...xxoo 的問題了. if( DataSource1->DataSet == NULL ) { DataSource1->DataSet = Table1; } else { DataSource1->DataSet = NULL; }
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-20 09:41:34 IP:63.84.xxx.xxx 未訂閱
引言: 感谢! 请教如何断开跟DBGrid的连接,以提高速度? 另外有无其它更快的方法?
您好﹗ 資料集元件有一個DisableControls的方法﹐作用是斷開資料集元件和資料感知元件的連接﹐一個EnableControls的方法﹐作用是恢愎資料集元件和資料感知元件的連接﹒ 語法﹕ ADODataSet1.DisableControls; ADODataSet1.EnableControls; 方法特色﹕ 斷開和恢愎資料集元件和資料感知元件的連接﹐可有效的提高查詢﹐異動效能﹐暫時斷開后﹐資料集元件所對應的資料庫無論有何異動﹐皆不會出資料感知元件(如DBGrid等)反映出來﹐當重新恢愎連接時﹐資料感知元件才可對應顯示﹒ 參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
系統時間:2024-06-24 3:22:02
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!