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] 下一页
|