SQL中如何加变量?
s:='hello';
query.close;
query1.sql.add('insert into ddd (aaa) values (s)');
query1.execsql;
但运行是出错。
我后面将它改为
query1.sql.add('insert into ddd (aaa) values (:s)');
也不行。
请问各位大虾,如何在SQL中加变量?
我的数据库是vfp6 的 dbf表
问题点数:50、回复次数:8Top
1 楼yangrenzhi()回复于 2002-05-30 15:42:14 得分 10
s:='hello';
query.close;
query1.sql.add('insert into ddd (aaa) values (:s)');
query1.parameters.parambyname("s").Value := s;
query1.execsql;Top
2 楼qufeng0511()回复于 2002-05-30 16:01:42 得分 5
s:='hello';
query.close;
query.sql.clear;
query1.sql.add('insert into ddd (aaa) values (:s)');
query1.parameters.parambyname("s").Value := s;
query1.prepare;
query1.execsql;
:s不是变量,是sql中的参数,要用
query1.parameters.parambyname("s").Value := s;把变量给参数复制!
Top
3 楼lincanwen(密码错误)回复于 2002-05-30 16:01:43 得分 10
s:='hello'; 两个s是有区别的,这个是字符变量
query.close;
query1.sql.add('insert into ddd (aaa) values (:s)');这个是参数
query1.parameters.parambyname("s").Value := s;
query1.execsql;
Top
4 楼adminis(古董)回复于 2002-05-30 16:03:00 得分 5
with query do
begin
close;
sql.clear;
sql.add('insert into ddd values(:s)')
parambyname('t1').asstring:=s;
execsql;
end;
Top
5 楼qybao(阿宝)回复于 2002-05-30 16:07:32 得分 15
也可以直接往sql里面添加变量
s:='hello';
with query do
begin
close;
sql.clear;
sql.add('insert into ddd values('''+s+''')') //此处s就是你的变量
execsql;
end;
Top
6 楼zhuzhuer(zhuzhuer)回复于 2002-05-30 16:13:06 得分 5
s:='hello';
query.close;
query1.sql.add('insert into ddd (aaa) values (:aaa)');
query1.parameters.parambyname("aaa").asstring := s;
query1.execsql;
Top
7 楼actor(Mark Lover)回复于 2002-05-30 16:18:22 得分 0
xiaocainiaoTop
8 楼steel1991(首席潜水员)回复于 2002-05-30 17:44:34 得分 0
s:='hello';
query.close;
query1.sql.add(format('insert into ddd (aaa) values (''%s'')',[s]));
query1.execsql;
Top




