sql.text:='select kno from nos where kname like '+''''+'%'+:epartname+'%'+'''';
改成这样: sql.text:='select kno from nos where kname like ''%:epartname%''';
可能这样才行: query1.sql.text:='select kno from nos where kname like :epartname'; query1.ParamByName('epartname').Asstring := '%匹配的字符串%';
上面的都不成立,没有这种使用的方式:...like ''%:epartname%''' 应该这样写: select kno from nos where kname like :epartname; 然后: parambyname[epartname].vlaue:='%name%'; 给参数赋你想查找的条件字符串!
谢谢各位! 所提供的方法没有全部试过。 但用如下方式成功: sql.text:='select kno from nos where kname like :epartname'; parameters.parabyname('epartname').value:='%'+partname+'%';
to yangwang : 那是因为你用的是Adoquery 如果你用query的话,我的是可以通过的
其实在adoquery中可以这样: sql.text:='select kno from nos where kname like ''%''+:partname +''%'''; parameters.parabyname('epartname').value:=partname; 关键是:partname与+''%''之间一定要有一个空格 这个方法我试过,没有问题。
sql.text:='select kno from nos where kname like ''%:epartname%''';
query1.sql.text:='select kno from nos where kname like :epartname';
query1.ParamByName('epartname').Asstring := '%匹配的字符串%';
应该这样写:
select kno from nos where kname like :epartname;
然后:
parambyname[epartname].vlaue:='%name%';
给参数赋你想查找的条件字符串!
还写错了一句:
最后一句应该为:
params[0].value:='%name%'
所提供的方法没有全部试过。
但用如下方式成功:
sql.text:='select kno from nos where kname like :epartname';
parameters.parabyname('epartname').value:='%'+partname+'%';
那是因为你用的是Adoquery
如果你用query的话,我的是可以通过的
sql.text:='select kno from nos where kname like ''%''+:partname +''%''';
parameters.parabyname('epartname').value:=partname;
关键是:partname与+''%''之间一定要有一个空格
这个方法我试过,没有问题。