例如: sql := 'select * from T where a=:a'送参数的时候:
ParamByName('a').AsString := 's';这时他会自动的在字符串上加上引号,SQL就成了
select * from T where a='s'而我希望他以字符串的方式加进去而不加上''号..
即: select * from T where a=s这要怎么处理?
ParamByName('a').AsString := 's';这时他会自动的在字符串上加上引号,SQL就成了
select * from T where a='s'而我希望他以字符串的方式加进去而不加上''号..
即: select * from T where a=s这要怎么处理?
参数赋值要根据你的字段的类型进行转换的.
比如a字段如果为字符型,你就可以这样:adoquery1.parameters.parambyname('a').value := 'a';
如果a字段为数字型,你就可以这样:adoquery1.parameters.parambyname('a').value := inttostr(s);
//这里假设S录入的是'5'之类的.
一般情况 .value 会帮你转换的.
adoquery1.parameters.parambyname('a').value := strtoint(s);
没办法以param参数赋值的方式来得到我想要的效果?