我是初学者,希望能给点帮助!

newmung 2001-10-26 11:18:01
我想实现动态生成SQL语句,但是引号出错,如:
VAR
S:STRING;
STRSQL:STRING;
I:INTEGER;


BEGIN
S:= ‘TABLENAME’;
I:= 3;
STRSQL:=‘SELECT * FROM ’+S+‘ WHERE ID=’+I;*
SHOWMESSAGE(STRSQL)
END;

带星好的一句错误,说STRING,INTERGER有问题
我改成
STRSQL:=‘SELECT * FROM ’+S+‘ WHERE ID=’+'''+I+'''’;
也不对,为什么?
该怎么写?
还有,在调试的时候,如果一句有错,其他的代码就不运行吗?
我设置了断点也不能,为什么?
...全文
123 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
newmung 2001-10-26
  • 打赏
  • 举报
回复
谢谢,还有一个问题:
我在带星的一句上设置了断点,然后按F8,为什么他还是报错而不执行呢,依我的理解,按执行,断点前面的语句应该执行啊?
票子,你说动态SQL应该是什么样子的?
RedBeret 2001-10-26
  • 打赏
  • 举报
回复
I是整型变量嘛,怎么能与字符型变量相加呢?
改成这样试试吧:
STRSQL:=‘SELECT * FROM ’+S+‘ WHERE ID=’+IntToStr(I);*
piaozi 2001-10-26
  • 打赏
  • 举报
回复
这是什么动态SQL,就是字符串。
在你加*的一句中,I是整型值,应当用IntToStr(I)将其改为字符串。
不过我虽然学了一年DELPHI,但水平也不怎么样,希望能和你多商量。

5,388

社区成员

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

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