query:
sqlstr:=' select * from tablename where (datetime=date) '
if checkbox1.checked then sqlstr:=sqlstr+'and 客户=;kehu'
if checkbox2.checked then...
with query do
begin
clear;
sql.add(sqlstr);
parambyname()
open;
可以用带参数的查询实现:
with query1 do
begin
close;
unprepare;
sql.clear;
sql.add('selece * from tablename where 客户=:k and (时间>=:d1 and 时间 <=:d2 ');
if checkbox1.checked then params[0].asstring:='张三';
if checkbox2.checked then
begin
params[1].asdatetime:='2001/01/01';
params[2].asdatetime:='2001/06/30';
end;
prepare;
open;
end;
用了param 的参数做查询,如果我不设查询条件,要显示全部记录,
比如sql.add(select * from sellrecord where customer=:c and
(time>=ti and time<=t2) and
seller:=s);
这样的话,如果我不选择查询条件,或者只选择某一个查询条件
那不是c 、t1、 t2、 s 都为'',数据库不能正确显示了么!?