在ADO组件中如问在查询条件中使用变量(50分)

  • 主题发起人 主题发起人 cjsy
  • 开始时间 开始时间
C

cjsy

Unregistered / Unconfirmed
GUEST, unregistred user!
在ADO组件中如问在查询条件中使用变量
例如:ADOCommand1.CommandText:=select …form…where …=a; a为一个字符串变量
这样写会出错,不知该如何写。
 
改成这样吧:
ADOCommand1.CommandText:=‘select …form…where …=’+a;
加上引号就可以了。
 
对于字符串变量,楼上的方法就可以了,对于其它类型,最好用参数变量
ADOCommand1.CommandText:=select …form…where …=:a;
用如下语句赋值,
adocommand1.Parameters.ParamValues['a']:=...
 
简单的取数,别用参数变量,除非你要频繁取数。
ADOCommand1.CommandText:=select …form…where …='''+a+'''';
 
ADOCommand1.CommandText:=‘select …form…where …='+QuotedStr(a);
QuotedStr(a),为a加上一个单引号
若其它类型,如浮点型,可用FloatToStr
整形可用IntToStr
日期形可用FormatDataTime

 
在 Ado的属性中这样定义:
Adodataset1.commmdtext='select * from data_table where column like :ag1'
查询的时候:
with Adodataset1 do begin
close;
parameters.parameterByname('ag1').value:=ag1;
prepare:=true;
open;
end;
很好用的。
 
多人接受答案了。
 
后退
顶部