字段的模糊查询(20分)

  • 主题发起人 主题发起人 boby
  • 开始时间 开始时间
B

boby

Unregistered / Unconfirmed
GUEST, unregistred user!
yqid是一个整形字段,我想根据edityqh中所输入的内容做该字段的模糊查询,代码如下:


with Queryyq do
begin
close;
sql.Clear;
sql.Add('select yqid,yqm from yqtable');
sql.Add('where yqid like :yqid'+'"%"');
parambyname('yqid').asinteger:=strtoint(edityqh.text);
try
prepare;
open;
except
showmessage('无法执行查询!');
end;
end;

为什么执行程序后弹出 queryyq Parameter 'yqid' not found
我定义了变量yqid呀! 求教!
 
整形不可
 
将yqid改为别的东西,因为它与字段名相同,可能会认为不是个参数。
 
那我要模糊查询,怎么办
 
我其他表中都是采取与字段同名变量,查询正常,但只有这个是整形的,就出错了,
是否真的不能给整形字段做模糊查询
 
一个怎么模糊查询,只能是在一个范围内大于某个数并且小于某个数,
你用一个具体的数字只能相等
 
我来:)

把你的'yqid'改为char或varchar类型;
出问题找我;
LoverFlower521@sohu.com
没有问题结束!
 
哈哈 请再您老人家的yqid前加上引号 试一试吧
 
接受答案了.
 

程序可以改成这样,不用传参数了
var
wherestring:string;
begin
wherestring:=format('where yqid like %s%s',[edityqh.text,'%']);
with Queryyq do
begin
close;
sql.Clear;
sql.Add('select yqid,yqm from yqtable');
sql.Add(wherestring);
try
prepare;
open;
except
showmessage('无法执行查询!');
end;
end;
end;
 
后退
顶部