各位高手帮帮忙!
我的查询语句如下: 
sql.Add('select a.grm_bh,a.grm_dwbh,a.grm_yje,a.grm_ys,a.grm_jzyf,a.grm_fsrq,a.grm_dwje,a.grm_grje,a.grm_bjje,a.grm_yjje,b.grq_xm,b.grq_ygz 
from grmxb a inner join grqkb b 
on grm_bh=grq_bh where grm_bh like "%'+edit1.text+'%"');
在98下执行时才出错!
这是什么原因呢?

解决方案 »

  1.   

    sql.Add('select a.grm_bh,a.grm_dwbh,a.grm_yje,a.grm_ys,a.grm_jzyf,a.grm_fsrq,a.grm_dwje,a.grm_grje,a.grm_bjje,a.grm_yjje,b.grq_xm,b.grq_ygz 
    from grmxb a inner join grqkb b 
    on a.grm_bh=b.grq_bh where a.grm_bh like "%'+edit1.text+'%"');
      

  2.   

    ...where a.grm_bh like :aa');
    parambyname('aa').asstring:='%'+edit1.text+'%';
    试一下
    你这种模糊查询最好在SQL SERVER中先试!
      

  3.   

    sql.Add('select a.grm_bh,a.grm_dwbh,a.grm_yje,a.grm_ys,a.grm_jzyf,a.grm_fsrq,a.grm_dwje,a.grm_grje,a.grm_bjje,a.grm_yjje,b.grq_xm,b.grq_ygz 
    from grmxb a inner join grqkb b 
    on a.grm_bh=b.grq_bh where a.grm_bh like "%'''+edit1.text+'''%"');
      

  4.   

    sql.Add('select a.grm_bh,a.grm_dwbh,a.grm_yje,a.grm_ys,a.grm_jzyf,a.grm_fsrq,a.grm_dwje,a.grm_grje,a.grm_bjje,a.grm_yjje,b.grq_xm,b.grq_ygz 
    from grmxb a,grqkb b 
    where a.grm_bh=b.grq_bh and a.grm_bh like ''%'+edit1.text+'%''');
      

  5.   

    把双引号改成两个单引号
    sql.Add('select a.grm_bh,a.grm_dwbh,a.grm_yje,a.grm_ys,a.grm_jzyf,a.grm_fsrq,a.grm_dwje,a.grm_grje,a.grm_bjje,a.grm_yjje,b.grq_xm,b.grq_ygz 
    from grmxb a inner join grqkb b 
    on grm_bh=grq_bh where grm_bh like ''%'+edit1.text+'%''');