怎么用按钮执行SQL语句查询某.db与某一字段相等的记录?(50分)

  • 主题发起人 主题发起人 gy_126
  • 开始时间 开始时间
G

gy_126

Unregistered / Unconfirmed
GUEST, unregistred user!

select * from ask.db where name=gy;
怎么用按钮实现?
还有,我的Query控件的PARAM属性怎么什么都没有,什么都是unenable的?
如果还不明白,请看下面:
我其实是想做一个能查询几个字段的的查询,用几个EDIT输入其字段的记录值,如果
只有一个就用一个字段查,如果填了两个,就用两个一起查...........用按钮开始查
询,不知各位有何高见?
 
var s1:string:
s1:='select * from ask.db ';
if length(edit1.text)>0 then
s1:='where ...'
else
s1:=' where ....'
......

 
如果edit少于5个的话可以用带参数的查询实现:
query的sql属性设为:
select * from table where
(字段1=:a) or (字段2=:b) or (字段3=:c) or (字段4=:d) or (字段5=:c)

然后打开Query的Params属性,分别为这几个参数选择适当的类型(如ftstring、ftdatetime等)

然后在button的click事件里:
procedure TForm1.Button1Click(Sender: TObject);
begin
with query1 do
begin
close;
unprepare;
params[0].asstring:=edit1.text;
params[1].asdatetime:=datetimepicker1.date;
params[2].asinteger:=strtoint(edit2.text);
......
prepare;
open;
active:=true;
end;
end;

如果edit>5个的话,建议使用动态生成sql语句的方法,其实也很简单,就是多几个if
判断而已。
 
后退
顶部