ClientDataSet使用心得和技巧

2022-03-26 01:27:37 字數 2209 閱讀 5486

影響clientdataset處理速度的乙個因素

tclientdataset是delphi開發資料庫時乙個非常好的控制項。有很強大的功能。

我常常用clientdataset做memorydataset來使用。還可以將clientdataset的資料儲存為xml

,這樣就可以做簡單的本地資料庫使用。還有很多功能就不多說了。在使用clientdataset的

過程中關於怎樣提高處理速度這個問題,我就我個人的一點點體會和大家分享一下。

2.finding 尋找資料

最老,但是最快的查詢方式。

使用findkey/findnearest來查詢一條或多條符合條件的資料,當然待查詢的field必須是一

個indexfield。可以看出,這種基於index的查詢速度是非常快的。

procedure tform1.findkeybtnclick(sender:

tobject);

begin

start;

if clientdataset1.findkey([searchtext]) then

begin

done;

statusbar1.panels[3].text := searchtext +

' found at record ' +

inttostr(clientdataset1.recno);

endelse

begin

done;

statusbar1.panels[3].text :=

searchtext + ' not found';

end;

end;

procedure tform1.findnearestbtnclick(sender: tobject);

begin

start;

clientdataset1.findnearest([searchtext]);

done;

statusbar1.panels[3].text := 'the nearest match to ' +

searchtext + ' found at record ' +

inttostr(clientdataset1.recno);

end3.going 定位

gotokey/gotonearest 與findkey/findnearest基本上沒有什麼區別。它也是基於index的查

找。唯一的區別就是在於你是怎麼定義你的查詢了。**上也有區別:

clientdataset1.setkey;

clientdataset1.fieldbyname(indexfieldname).value := searchtext;

clientdataset1.gotokey;

就相當於

clientdataset1.findkey([searchtext]);

要用好這兩種基於index的查詢,還需要了解clientdataset和index機制。這裡就不詳細說明

index機制。乙個基本的原則,要有index,才能查詢。

4.locating 查詢資料

2,3兩種查詢方式都是基於index的,但是在實際應用中,可能會查詢indexfield以外的fiel

d。那我們就可以使用locate。但是查詢速度是沒有2,3兩種快的。比如:如果你查詢一條紀

錄9000/10000,locate需要500ms,scanning需要》2s,findkey只要10ms(但是當你開啟cli

entdata的時候,建立index需要1s)。

procedure tform1.locatebtnclick(sender:

tobject);

begin

start;

if clientdataset1.locate('field1,field2..',vararrayof['value1,value2..'], ) then

begin

done;

statusbar1.panels[3].text :=

'match located at record ' +

inttostr(clientdataset1.recno);

endelse

begin

done;

statusbar1.panels[3].text := 'no match located';

end;

end;

ClientDataSet使用心得和技巧

clientdataset使用心得和技巧 影響clientdataset處理速度的乙個因素 tclientdataset是delphi開發資料庫時乙個非常好的控制項。有很強大的功能。我常常用clientdataset做memorydataset來使用。還可以將clientdataset的資料儲存為x...

ClientDataSet使用心得和技巧

影響clientdataset處理速度的乙個因素 tclientdataset是delphi開發資料庫時乙個非常好的控制項。有很強大的功能。我常常用clientdataset做memorydataset來使用。還可以將clientdataset的資料儲存為xml,這樣就可以做簡單的本地資料庫使用。還...

使用GraphEdit使用

1 註冊元件。其實乙個filter就是乙個com元件,所以使用之前需要註冊,可以有兩種方法對元件進行註冊。1.直接使用命令。命令列下輸入 regsvr32 hqtlystd.ax 編譯之後你會在工程目錄下的debug中找到hqtlystd.ax,這個就是要用的filter 即可註冊成功。2.vc6....