请帮我做这个查询(50分)

  • 主题发起人 主题发起人 clion
  • 开始时间 开始时间
C

clion

Unregistered / Unconfirmed
GUEST, unregistred user!
我想作一个查询,可以根据用户选择的查询条件构造SQL语句,
(用户可以选择每一个字段值的范围)谁能给我一个例子。
 
好象许多DELPHI教学书上都有例子的,我MAIL一个给你要不?
 
http://202.98.107.86/tyb/delphi/chap/chapt17.htm
 
to 小天:
my email:wzchk@telekbird.com.cn
 
我MAIL给你了,收到了吗:)
 
其实这个很容易的,比如table1的数据如下:
table1
no1 name
1 a
2 b
3 c
4 d
在form上添加Query1,DataSource1,DBGrid1,Edit1,Edit2和Button1,如果我要查
询table1的no=1到3的数据,只要在Edit1填写1,在edit2填写3,在button1的
OnClick事件:
with query1 do
begin
close;
sql.clear;
sql.add('select * from table1 where no1>=:n1 and no1<=:n2');
ParamByName('n1').AsString:=edit1.text;
ParamByName('n2').AsString:=edit2.text;
Open;
end;
OK!行了。
 
根据查询选择及范围,构造一个SQL串,用QUERY查询不就行了
 
给你个简单的例子吧!

先做个查询界面,要查询的字段用一个ComboBox,条件(如'<','=')等用一个ComboBox
procedure TfrmChaXun.QueDingClick(Sender: TObject);
begin
t1:=ComboBox1.text; {用变量提取要查询的字段)
t2:=ComboBox2.text; {用变量提取查询的条件}
t3:=edit1.text; {输入查询的值}
frmMain.Query.sql.clear;
frmMain.Query.SQL.add('select * from yourTabel');
frmMain.Query.SQL.add('where');
frmMain.Query.SQL.add(ComboBox1.text);
frmMain.Query.SQL.add(ComboBox2.text);
frmMain.Query.SQL.add(edit1.text);
frmMain.Query.active:=true;
close;
frmMain.Query.edit;
end;
 
多人接受答案了。
 
后退
顶部