with adoquery1 do begin close; sql.text :=' select * from user_desc where '+trim(searchwhat)+' like :b'; parameters.ParamByName('b').Value := trim(Edit1.text); Open; end;
sql中变量不能这么写,只能象这样 where 字段=:a,这样,a会被认为是一个参数,否则不承认
还不支持字段参数化,只能是查询的字段的内容比对参数化。同样表明也不能参数化。 建议用个switch语句处理字段识别吧,或者如果不考虑效率,多 Or 几个字段 Like.. 就可以了。
begin
close;
sql.text :=' select * from user_desc where '+trim(searchwhat)+' like :b';
parameters.ParamByName('b').Value := trim(Edit1.text);
Open;
end;
建议用个switch语句处理字段识别吧,或者如果不考虑效率,多 Or 几个字段 Like.. 就可以了。