SQL中如何加变量?

mygodsos 2002-05-30 03:38:35
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表
...全文
99 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
steel1991 2002-05-30
  • 打赏
  • 举报
回复
s:='hello';
query.close;
query1.sql.add(format('insert into ddd (aaa) values (''%s'')',[s]));
query1.execsql;
actor 2002-05-30
  • 打赏
  • 举报
回复
xiaocainiao
zhuzhuer 2002-05-30
  • 打赏
  • 举报
回复
s:='hello';
query.close;
query1.sql.add('insert into ddd (aaa) values (:aaa)');
query1.parameters.parambyname("aaa").asstring := s;
query1.execsql;
qybao 2002-05-30
  • 打赏
  • 举报
回复
也可以直接往sql里面添加变量
s:='hello';
with query do
begin
close;
sql.clear;
sql.add('insert into ddd values('''+s+''')') //此处s就是你的变量
execsql;
end;
adminis 2002-05-30
  • 打赏
  • 举报
回复
with query do
begin
close;
sql.clear;
sql.add('insert into ddd values(:s)')
parambyname('t1').asstring:=s;
execsql;
end;
lincanwen 2002-05-30
  • 打赏
  • 举报
回复
s:='hello'; 两个s是有区别的,这个是字符变量
query.close;
query1.sql.add('insert into ddd (aaa) values (:s)');这个是参数
query1.parameters.parambyname("s").Value := s;
query1.execsql;
qufeng0511 2002-05-30
  • 打赏
  • 举报
回复
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;把变量给参数复制!
yangrenzhi 2002-05-30
  • 打赏
  • 举报
回复
s:='hello';
query.close;
query1.sql.add('insert into ddd (aaa) values (:s)');
query1.parameters.parambyname("s").Value := s;
query1.execsql;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧