if ComboBox1.Text='全部' then
      begin
        SQL.Add('select * from rszx where xl like:xl1 and mm like:mm1 and xm like:xm1 and zy like:zy1 and sf like:sf1 and yx like:yx1');
        Parameters.ParamValues['xl1']:='%'+xledit.text+'%';
        Parameters.ParamValues['xm1']:='%'+xmedit.text+'%';
        Parameters.ParamValues['mm1']:='%'+mmedit.text+'%';
        Parameters.ParamValues['zy1']:='%'+zyedit.text+'%';
        Parameters.ParamValues['sf1']:='%'+sfedit.text+'%';
        Parameters.ParamValues['yx1']:='%'+yxedit.text+'%';
      end
      else
        begin
        SQL.Add('select * from rszx where dw like:dw1 and xl like:xl1 and mm like:mm1 and xm like:xm1 and zy like:zy1 and sf like:sf1 and yx like:yx1');
        Parameters.ParamValues['dw1']:='%'+combobox1.text+'%';
        Parameters.ParamValues['xl1']:='%'+xledit.text+'%';
        Parameters.ParamValues['xm1']:='%'+xmedit.text+'%';
        Parameters.ParamValues['mm1']:='%'+mmedit.text+'%';
        Parameters.ParamValues['zy1']:='%'+zyedit.text+'%';
        Parameters.ParamValues['sf1']:='%'+sfedit.text+'%';
        Parameters.ParamValues['yx1']:='%'+yxedit.text+'%';
        end;
这个是代码,就是在用COMBOBOX1进行选择进行查询时,不能全部列出与COMBOBOX1相符合的数据,请高手解决,同时希望各位高手能提供简单的多条件查询的代码.

解决方案 »

  1.   

    加trim(combobox1.text)试试,或者combobox1.Items.Strings[index]
      

  2.   

    按F5下断点, 程序运行时,选择要看的变量值按ctrl+F7  看看传入的参数是不是你想传入的.
      

  3.   

    每个都像这样改试试
     Parameters.ParamValues['xl1']:=''%'+xledit.text+'%''';
      

  4.   

    Parameters.ParamValues['xl1']:='''%'+xledit.text+'%''';
      

  5.   

    谢谢大家!我也知道了点原因!是因为我数据库的数据是在电子表格中导入的!所以就出现了查不全的情况!而且我就查询一个也是这样!你们能有其他的电子表格导入到数据库后的查询代码吗?麻烦给我一个塞!谢谢大家!邮箱:[email protected]