我想做一个组合查询的程序,其中有一个combobox1控件用于选择查询字段,一个combobox2用于选择条件,一个edit控件用于输入查询值,一个checkbox选择是and还是or。输入的条件能列在一个DBGrid里。这样的查询语句该怎么写啊?????

解决方案 »

  1.   

    select  * from table  where 你几个控件中的内容
      

  2.   

    在写多条件查询是可以考虑以下两个语句:select * from tablename where 1=1 and ...
                                          select * from tablename where 1<>1 or ...
      

  3.   

    晕,不就是sql语句中加入变量?
      

  4.   

    select * from table where (条件1) AND//或者OR (条件2).....
      

  5.   

    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;
      

  6.   

    按照上面madbo(风轻扬) 所说的,稍加变换,就可以得到楼主的要求了,
    输入的条件列在一个DBGrid里,还不如列在MEMO中,先得到的SQLSTR值与后得到的SQLSTR进行AND或OR 连接
      

  7.   

    对呀就是动态生成SQL语句注意在写的是候'符号的处理,''代表一个'!
      

  8.   

    唉,100分太浪费了
    SQLStr:='Select * From clients where '+ComboBox1.Text+ComboBox2.Text+''''+Edit1.Text+'''';使用了checkbox应该还有一个条件的,根据上面的稍微变化即可以了