在Query控件中,怎样使用SQL语句中的变量?(100分)

  • 主题发起人 主题发起人 派伯
  • 开始时间 开始时间

派伯

Unregistered / Unconfirmed
GUEST, unregistred user!
[red][/red]在Query控件中,怎样在SQL语句中(如:('select * from tab where xm=:变量')),
变量的引号怎样使用?
 
我的用法
sql.add(format(
'select * from tab where xm=''%s'';',
[xm]));
数字用%d,%n等,不加引号
 
直接用你的方法传参数就可以了吧
 
变量,还是变量的引号??

query1.paramsbyname(变量).as……:=……
 
Query1.sql.clear;
Query1.add('select * from tab where xm='''变量'''');
Query1.Open;
 
如变量为int
'select * from tab where xm='''+inttostr(变量)+''''
 
sxqsxq,错了。
如果变量是int型,你就直接IntToStr就行了,不用打那么多引号了。
'select * from tab where xm='+inttostr(变量)+'//如果xm是数字型
我都习惯了,喜欢直接写SQL语句,用+''''+变量+''''。
 
最好这样:
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select * from tab where xm=:@xm');
adoquery1.parameters.parambyname('@xm').value:=变量;
open;

 
query1.close;
Query1.sql.clear;
Query1.add('select * from tab where xm=:变量);
query1.param[0].asstring:='aaa';
Query1.Open;
 
to:zhangkan
光说无意,用你的方法实际运行是要出错的[:D]
 
后退
顶部