在写多条件查询是可以考虑以下两个语句:select * from tablename where 1=1 and ... select * from tablename where 1<>1 or ...
晕,不就是sql语句中加入变量?
select * from table where (条件1) AND//或者OR (条件2).....
var sqlstr,s : string; begin if checkbox1.checked then s := ' And ' else s:=' or '; sqlstr := 'select * from table where '+combobox1.text+'='+edit1.text + s + combobox2.text; adoquery1.active := false; adoquery1.sql.clear; adoquery1.sql.add(sqlstr); adoquery1.active := true; end;
select * from tablename where 1<>1 or ...
begin
if checkbox1.checked then
s := ' And '
else
s:=' or ';
sqlstr := 'select * from table where '+combobox1.text+'='+edit1.text + s + combobox2.text;
adoquery1.active := false;
adoquery1.sql.clear;
adoquery1.sql.add(sqlstr);
adoquery1.active := true;
end;
输入的条件列在一个DBGrid里,还不如列在MEMO中,先得到的SQLSTR值与后得到的SQLSTR进行AND或OR 连接
SQLStr:='Select * From clients where '+ComboBox1.Text+ComboBox2.Text+''''+Edit1.Text+'''';使用了checkbox应该还有一个条件的,根据上面的稍微变化即可以了