读书人

delphi sql like 话语字符不匹配

发布时间: 2013-07-01 12:33:04 作者: rapoo

delphi sql like 语句,字符不匹配
一个简单的截取字符,然后查询的功能
function TDMDiquweihu.QueryFJiaoyan(e: string):Boolean;
var
i,n:integer;
begin
if Length(trim(e))<7 then
i:=Length(trim(e))
else
i:=6;
n:=strtoint(LeftStr(e,i));
with QueryC do
begin
close;
sql.Clear;
sql.Add('select * from JCdiqu');
sql.Add('where 现在编码 like :e);
Parameters.ParamByName('e').Value:='%'+n+'%';
open;
end;
end;
数据库中,现在编码是int类型,运行就告诉我有错误,直接like LeftStr(e,i)类型有不对,试了几种写法,就是不行,最后把数据库的类型改成varchar,然后直接like LeftStr(e,i)就可以了,想问问,为什么这么写错误。
[解决办法]
like 是用字符串匹配的,你数据字段是整型当然会出错。如果字段类型是整型,可以用=,<=,>=等,或者用 in (...),或者用 Between

读书人网 >.NET

热点推荐