strtemp:='select * from TableName where 1=1 '
if Edit1<>'' then StrTemp:=StrTemp+' and k_name1='''+Edit1.text+'''';
if Edit2<>'' then StrTemp:=StrTemp+' and k_name2='''+Edit2.text+'''';
.
.
.
就这样吧

解决方案 »

  1.   

    cobi你好,很高兴又见到你了,实际我的问题很简单就是:有四个选项条件供查询(三个edit对话框,一个combobox下拉框),这四个条件可任意为空,但只要都不为空就行。这四个条件分别对应那四个字段(上面说的).麻烦你解答一下。谢谢!
      

  2.   

    同意xxmmmx(踢踏)的方法:edit1<>''应为edit1.text<>'',其它类推.
      

  3.   

    界面上为每个条件前加一个checkbox,来判断是否选中该条件
      

  4.   

    andriy的主意不错,但似乎有些复杂
      

  5.   

    在这个查询语句之前,可以先判断一下是否四个选项为空
    if (Edit1.text<>'') and (Edit2.text<>'') ......then
    begin
    if Edit1.text<>'' then StrTemp:=StrTemp+' and k_name1='''+Edit1.text+'''';
    if Edit2.text<>'' then StrTemp:=StrTemp+' and k_name2='''+Edit2.text+'''';
    .
    .
    .
    end;