adoQuery 在编译的程序里一直提示SQL语句错误呢

坏人修 2008-05-23 12:50:46
为什么我通过断点获取SQL语句在查询分析器可以运行,在编译的程序里一直提示SQL语句错误呢?代码如下,请高手解释下

str1:='INSERT INTO ws_WorkProcedure '
+'SELECT DISTINCT '
+'WorkBillNO, '
+'WorkProcedureName = CASE WHEN WorkProcedureName = ''样箱'' THEN ''裱胶'' '
+'WHEN WorkProcedureName=''电脑'' THEN ''裱胶'' '
+'WHEN WorkProcedureName = ''喷墨稿'' THEN ''裱胶'' END, '
+'PlanNum, PlanArea, BillDate, BillUser, FactNum, FactDate, FactArea, '
+'ScrapNum, Reason, CheckUser, CheckDate, CheckReason, Remarks, '
+'Flag, Fclass '
+'FROM ws_WorkProcedure '
+'WHERE WorkProcedureName IN (''样箱'', ''电脑'', ''喷墨稿'') ' ;

openSql(adoQuery_temp,quotedstr(str1));
...全文
51 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
坏人修 2008-05-23
  • 打赏
  • 举报
回复
惊讶?各行业有各行业的术语啊。某非咱同行了?
坏人修 2008-05-23
  • 打赏
  • 举报
回复
谢谢楼上各位

已经找到错误了
openSql(adoQuery_temp,quotedstr(str1));改为
ExecSql(adoQuery_temp,str1);

就可以了
jenhon 2008-05-23
  • 打赏
  • 举报
回复
如果错误提示贴出来最好,
已经发现一个错误:
case when 嵌套不对
1、case when a=b then a else (case when b=c then b else c end) end

2、case a when 'b' then x1
when 'c' then x2
when 'd' then x3

lz的格式显然不对
九桔猫 2008-05-23
  • 打赏
  • 举报
回复
''样箱'' ??

'样箱' ??

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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