我的代码如下:
With Data.adoq1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select * from t_spjcxx where spdm like :a or spmc like :a or gg like :a');
      parameters.ParamByName('a').value := Trim(bg.Cells[spdm,Row1])+ '%';
      Open;
    end;
在stringgrid中,我输入spdm时可以查询出相应的记录显示在dbgrid中,但是我输入spmc或是gg时,却不能显示相应的记录?
难道我这条语句错了吗??
请各位指点!!

解决方案 »

  1.   

    感觉有可能是这bg.Cells[spdm,Row1])的值的问题,跟踪一下看看
      

  2.   

    貌似要这样:
    SQL.Add( 'select * from t_spjcxx where spdm like :a or spmc like :b or gg like :c '); 
    parameters.ParamByName( 'a').value := Trim(bg.Cells[spdm,Row1])+  '% '; 
    parameters.ParamByName( 'b').value := Trim(bg.Cells[spdm,Row1])+  '% '; 
    parameters.ParamByName( 'c').value := Trim(bg.Cells[spdm,Row1])+  '% '; 
      

  3.   

    thinknet 的方法可以实现,但是我想不通为什么我那样写不行呢?