14.5.1 使用GotoKey方法查找數據記錄
使用Gotokey方法查詢數據庫中的記錄的具體步驟如下:
1、確保要查找的字段是關鍵字或已經為它定義了輔助索引,并保證TTable部件的屬性列表中有關鍵字段名或輔助索引名。
2、通過調用GotoKey方法,把要查找的TTable部件置成查找模式。
3、把查找值送進被查找的Field的查找緩沖區。
4、調用TTable部件的GotoKey方法,并測試它的返回值判斷查找是否成功。
如果查找成功,GotoKey返回一個True值,并且表中的記錄指針指向找到的記錄。如果查找失敗,GotoKey返回False,表中的記錄指針不發生變化。
在這里要注意的是如何給Field的查找緩沖區賦值,我們知道字段對象是不可見的對象,它們沒有自己的名字,在大多數情況下,要使用TTable部件的FieldByName 方法到字段列表中查找字段對象以便為它賦值。但字段緩沖區也是沒有名字的,當TTable部件處于查找模式時,我們只要把查找值賦給字段對象的AsString屬性就可以了。AsString的作用不只是它的表面意思。它是一個轉換屬性,任何賦給字段對象的AsString屬性的字符串都將轉換成該字段對象應于數據庫表中的字段的數據類型。當然AsString不能將查找值轉換成BLOB、Bytes、Memo和Graphic類型的數據,用戶一般也不會查找這種數據類型的字段。
下面便是說明使用Gotokey方法查找數據記錄的例子。
例14.3 當用戶在Edit1部件中輸入客戶號碼并單擊查找按鈕,程序便開始在Table1中查找這個客戶號。如果查找成功,查找信息“查找成功”便會顯示在標簽Label1上,被查詢到的客戶的電話號碼顯示在標簽Label2上。表中的記錄指針將轉移到該客戶記錄處。并且在網格DBGrid1中以高亮度顯示這一條記錄。
查詢數據庫中的記錄
下面的程序清單是查詢按鈕上的onClick事件的處理程序,它是使用Gotokey方法查找數據庫中的記錄的。
procedure TForm1.Button1onClick(Sender:TObject);
begin
with Table1 do
begin
Label1.Caption:=' ';
Label1.Caption:=' ';
IndexFieldName:='CustNo';
setkey;
FieldByName('CustNo').AsString:=Edit1.Text;
If GotoKey then
begin
Label1.Caption:='查找成功';
Label1.Caption:=FieldByName('Phone').AsString;
end;
else
Label1.Caption:='查找失敗';
end;
查詢數據庫中的記錄
14.5.2 使用FindKey方法查找數據庫中的記錄
雖然使用上面的Gotokey方法在數據庫中查找記錄效果不錯,但是Delphi 還提供了一種更加容易的查找方法,這就是Findkey方法,兩種方法雖然很相似,但是Findkey方法更簡單明了一些。 [1] [2] 下一頁
|