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);的值确实存在。请帮忙。
谢谢
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);的值确实存在。请帮忙。
谢谢
加一空格,再加trim
adoquery1.sql.add('where jh='+'''+combobox1.text+''');的后面加
showmessage(adoquery1.sql);就能发现问题所在了
execsql是用在执行的sql没有返回值的情况下用
active和open是在有返回值的情况下用
所以在你的程序中可以把adoquery1.execsql;去掉
adoquery1.sql.clear;
adoquery1.SQL.add('select * from gtdata');
adoquery1.sql.add('where jh='''+combobox1.text+'''');
adoquery1.Active:=true;
dbgrid1.Visible:=true;