我正在使用与MS ACCESS数据库的OLEDB 4.0连接创建Delphi XE3应用程序。 我已经在这些表上保存了一些信息,但现在我想开发一个“搜索内容表单”
我希望有一个radiogroup让用户选择他想要如何搜索数据库上每个表的内容。喜欢:按姓名,按日期或按年龄。然后有一个TEdit供用户动态输入他在该特定表上寻找的内容。
我正在使用TADOconnection和ADOtables。
答案 0 :(得分:2)
假设您有3列Name
,Date
,Age
,您可能会尝试这样的事情。您需要将间隔设置为搜索项写入间隔(例如1000毫秒),然后是具有3个项目的无线电组,其中第1个用于名称,第2个用于日期,第3个用于年龄搜索词选择。然后你需要有一个搜索编辑框本身并处理以下事件:
procedure TForm1.Edit1Change(Sender: TObject);
begin
Timer1.Enabled := False;
Timer1.Enabled := True;
end;
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
Timer1.Enabled := False;
Timer1.Enabled := True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled := False;
ADOTable1.Filtered := False;
if Edit1.Text <> '' then
begin
case RadioGroup1.ItemIndex of
0: ADOTable1.Filter := 'Name';
1: ADOTable1.Filter := 'Date';
2: ADOTable1.Filter := 'Age';
end;
ADOTable1.Filter := ADOTable1.Filter + ' LIKE ' + QuotedStr(Edit1.Text);
ADOTable1.Filtered := True;
end;
end;