这条UPDATE语句哪里错了,为什么总是通不过?

zpc38368330 2013-04-04 10:25:31
csSql.Format("UPDATE 当月使用记录 SET 当月使用量 =(SELECT TMPVIEW6.当月使用量 FROM \
TMPVIEW6 WHERE TMPVIEW6.件号=\'100\') WHERE 件号=\'100\'");
想更新表:当月使用记录当月使用量 字段,通过查询 临时视图 TMPVIEW6TMPVIEW6.件号='100' 所得的记录里的TMPVIEW6.当月使用量 批量更新 表 当月使用记录 里相同的件号=‘100’的记录。
为什么执行的时间,总是报错 错误是 未指定的错误操作必须使用一个可更新的查询
...全文
274 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zpc38368330 2013-04-05
  • 打赏
  • 举报
回复
知道错哪了,我用的ACCESS的SQL,ACCESS的SQL是JET-SQL,就是最蛋疼的那个。。 参考贴: http://bbs.csdn.net/topics/120021763 谢谢楼上两位了
zpc38368330 2013-04-05
  • 打赏
  • 举报
回复
UPDATE 当月使用记录 SET 当月使用量=(SELECT TMPVIEW6.当月使用量*2 FROM TMPVIEW6 WHERE TMPVIEW6.件号='KE99' AND TMPVIEW6.当月使用量=500) WHERE 件号='KE99' AND 当月使用量=500 我将这两步在ACCESS的SQL查询中分开使用 先是 SELECT TMPVIEW6.当月使用量*2 FROM TMPVIEW6 WHERE TMPVIEW6.件号='KE99' AND TMPVIEW6.当月使用量=500 得出的结果查到一个记录,并将且结果是 EXPR1000 值理所当然为 1000 然后 UPDATE 当月使用记录 SET 当月使用量=当月使用量*2 WHERE 件号='KE99' AND 当月使用量=500 表:当月使用记录里的 当月使用量符合条件的一个记录也成功更新了 结果也是未1000 但是联合使用在ACCESS的SQL视图里执行 总是提示 操作必须使用一个可更新的查询 郁闷。。。
zyq5945 2013-04-05
  • 打赏
  • 举报
回复
分两步试试,测试SELECT语句再来测试UPDATE语句。
SONG_CA 2013-04-04
  • 打赏
  • 举报
回复
自己在数据库查看器中执行sql语句,看是否执行 UPDATE 当月使用记录 SET 当月使用量 =(SELECT TMPVIEW6.当月使用量 FROM TMPVIEW6 WHERE TMPVIEW6.件号='100') WHERE 件号='100' 不会是你的件号字段的类型有问题吧?

4,011

社区成员

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

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