电脑学习
COMPUTER STUDY
1999年 第4期 No.4 1999
用TTABLE控件搜寻表记录
余俊
Searching List Record with TTABLE Control
Yu Jun
1 TTable组件及应用
开发数据库应用程序,Delphi3的TTable组件是最重要的组件,它封装了数据库表的概念,提供了访问数据库表的功能。它不仅能存取或删除表中已有的记录、插入新的记录,而且能搜寻表中的记录。TTable组件的方法中有关搜寻表记录的有:
SetKey 将数据库表置于搜寻状态
GotoKey 精确搜寻匹配项
GotoNearest 搜寻最接近的匹配项
FindKey 精确搜寻匹配项
FindNearest 搜寻最接近的匹配项
Locate 无索引搜寻
首先创建一个Paradox数据库Cust.db,结构如下:
字段名 类 型 长度
CustNo 字符型 8
Company 字符型 30
Addr 字符型 30
City 字符型 15
State 字符型 20
Country 字符型 20
再以字段Custno建立主索引,以字段Company建立副索引名为ByCompany,然后向数据库添加一些数据供演示。
创建应用工程
在Delphi中创建一个新的应用工程,在窗体Form1上放置组件,并设置组件的属性和事件如表1。
表1
组件名称属性或事件设定值
Table1DatabaseName BCDEMOS
TableName Cust.db
Active True
DataSourcel DataSet Table1
DBGrid1DataSource DataSource1
Edit1
Edit2
Button1OnClick Button1 Click
2 各种搜寻方法
双击Button1按钮在OnClick事件中输入不同的代码以实现各种不同的查询。DBGrid1控件的当前记录是搜寻到的表记录。
1. 对数据库每一条记录进行循环搜寻,代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.DisableControls;
Table1.First;
while f do
begin
if (Table1.FieldByName(′CustNo′). asString=Edit1.Text)
and (Table1.FieldByName(′CITY′). asString=Edit2.Text) then
Break;
Table1.Next;
end;
Table1.EnableControls;
end;
2.对主索引关键字搜寻,代码如下:
procedure TForm1.Button1Click(Sender:TObject);
begin
Table1.IndexName:=″;
Table1.SetKey;
Table1.FieldByName(′CustNo′).AsString:=edit1.Text;
Table1.GotoKey;
end;
或者
procedure TForm1.Button1 Click(Sender:TObject);
begin
Table1.IndexName:=″;
Table1.FindKey([edit1.Text]);
end;
3.对副索引关键字搜寻,代码如下:
procedure TForm1.Button1 Click(Sender: TObject);
begin
Table1.IndexName:=′ByCompany′;
Table1.SetKey;
Table1.FieldByName(′Company′). AsString:=edit1.Text;
Table1.GotoKey;
end;
或者
procedure TForm1.Button1 Click(Sender: TObject);
begin
Table1.IndexName:=′ByCompany′;
Table1.FindKey([edit1.Text]);
end;
4. 无索引搜寻
(1)对某个无索引的字段进行搜寻,代码如下:
procedure TForm1.Button1 Click(Sender: TObject);
begin
Table1.Locate(′City′,,
[loCaseInsensitive,loPartialKey]);
end;truncate带查询
(2)对多个无索引的字段进行搜寻,代码如下:
procedure TForm1.Button1 Click(Sender: TObject);
begin
Table1.Locate(′City; State′,
VarArray of([, ]),
[loCaseInsensitive,loPartialKey]);
end;
以上在Delphi中搜寻数据库记录的各种方法,可以在不同情况中使用。程序在Windows95中文版、Delphi3环境下调试通过。
作者简介:余俊 青岛大学电气及自动化工程学院讲师(266071)
收稿日期:1998-12-10
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论