showmessage('查找:'+combobox1.text);
adoquery1.close;
adoquery1.sql.clear;
adoquery1.SQL.add('select * from gtdata');
adoquery1.sql.add('where jh='+'''+combobox1.text+''');
adoquery1.ExecSQL;
adoquery1.Active:=true;
dbgrid1.Visible:=true;为何上述语句为何得到的记录集数空的,而showmessage('查找:'+combobox1.text);的值确实存在。请帮忙。
谢谢

解决方案 »

  1.   

    adoquery1.sql.add(' where jh='+'''+trim(combobox1.text)+''');
    加一空格,再加trim
      

  2.   

    你在调试的时候应该在
    adoquery1.sql.add('where jh='+'''+combobox1.text+''');的后面加
    showmessage(adoquery1.sql);就能发现问题所在了
      

  3.   

    adoquery1.sql.add('where jh='''+combobox1.text+'''');//再试试。
      

  4.   

    另外
    execsql是用在执行的sql没有返回值的情况下用
    active和open是在有返回值的情况下用
    所以在你的程序中可以把adoquery1.execsql;去掉
      

  5.   

    showmessage('查找:'+combobox1.text);
    adoquery1.sql.clear;
    adoquery1.SQL.add('select * from gtdata');
    adoquery1.sql.add('where jh='''+combobox1.text+'''');
    adoquery1.Active:=true;
    dbgrid1.Visible:=true;
      

  6.   

    谢谢:IORILI(眼镜@_@),分不够了,再次感谢!