var sql_string:string;开始查询时,逐个判断Edit的内容,如果不为空,则: if Edit1.text<>'''' then begin sql_string:=sql_string+''driver_name like ''''%''+edit1.text+''%''''''+'' and ''; china_condition:=china_condition+''驾驶员姓名:''+Trim(edit1.text)+''/''; end;全部判断完成后,删除字符串最后的'' and'' delete(sql_string,(length(sql_string)-4),4);调用Query: if sql_string<>'''' then with driver_query_form do begin query1.close; query1.sql.clear; query1.sql.add(''select * ''); query1.sql.add(''from in_base ''); query1.sql.add(''where ''+sql_string); query1.Open; end;
procedure TForm1.Button7Click(Sender: TObject); begin with adoquery1 do begin close; sql.Clear; sql.Add('select * from 表 where '); if edit1.text <> '' then sql.Add(Format(' edit1对应的字段 like ''%s''',['%'+edit1.text+'%'])); if edit2.text <> '' then sql.add(format('and (edit2对应的字段 like ''%s'')',['%'+edit2.text+'%'])); open; end; end;
with adoquery1 do begin close; sql.Clear; strSql:='select * from 表 where '+ComboBox1.text' +ComboBox2.text+''''+edit1.text+''''; sql.Add(strSql); open; end; combobox1.text 为字段名 combobox2.text 为运算符 edit1.text 为过滤值
sqlstr:string; begin sqlstr:='select * from hjgl.jbqk where (1=1)'; if edit1.Text <>'' then sqlstr:=sqlstr+'and (jb_name='''+edit1.text+''')'; if edit3.text<>'' then sqlstr:=sqlstr+'and (jb_jg='''+edit3.text+''')'; if combobox1.Text<>'' then sqlstr:=sqlstr+'and (jb_sex='''+combobox1.text+''')' ; ADOQuery1.Close ; ADOQuery1.SQL.Clear ; ADOQuery1.SQL.Add(sqlstr); ADOQuery1.Open ;
begin
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('select * from 表 where ');
if edit1.text <> '' then
sql.Add(Format(' edit1对应的字段 like ''%s''',['%'+edit1.text+'%']));
if edit2.text <> '' then
sql.add(format('and (edit2对应的字段 like ''%s'')',['%'+edit2.text+'%']));
open;
end;
end;
begin
close;
sql.Clear;
strSql:='select * from 表 where '+ComboBox1.text'
+ComboBox2.text+''''+edit1.text+'''';
sql.Add(strSql);
open;
end;
combobox1.text 为字段名
combobox2.text 为运算符
edit1.text 为过滤值
begin
sqlstr:='select * from hjgl.jbqk where (1=1)';
if edit1.Text <>'' then
sqlstr:=sqlstr+'and (jb_name='''+edit1.text+''')';
if edit3.text<>'' then
sqlstr:=sqlstr+'and (jb_jg='''+edit3.text+''')';
if combobox1.Text<>'' then
sqlstr:=sqlstr+'and (jb_sex='''+combobox1.text+''')' ; ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add(sqlstr);
ADOQuery1.Open ;