adoquery查不到结果,select语句在sqlserver中测试过是没问题的
代码如下,数据库里确实有这条记录,可就是查不出来,update语句也不行,是参数没起作用吗?
- Delphi(Pascal) code
adoQuery.close;adoQuery.sql.clear;adoQuery.sql.add('select * from userinfo where name=:name');adoQuery.Parameters.ParameterByName('name').value := 'admin';//拼写可能有误adoQuery.open;
[解决办法]
请问你这个查不出是什么情况呢?是Open后提示错误还是Showmessage(inttostr(ADOQuery1.RecordCount))提示'0'?
建议检查下ADOQuery的连接是否正确,确保name=:name没有空格符,确定'admin'正确……
[解决办法]
改成
QuotedStr('admin')试试
[解决办法]
你不用条件,将数据查询出来后,移动记录到该笔记录,然后比较下它的值(我怀疑它前后有空格),或利用语句比较:
- Delphi(Pascal) code
if ADOQuery.FieldByName('admin').AsString='admin' then showmessage('值相同') else showmessage('值不相同')。
[解决办法]
条件不满足就查不出来,仔细看看到底是不是admin
在查询分析器中执行试试
ParameterByName->ParamByName