使用ado中的一个不解!(50分)

  • 主题发起人 主题发起人 fwq
  • 开始时间 开始时间
F

fwq

Unregistered / Unconfirmed
GUEST, unregistred user!
我在delphi中使用ado写的一句sql语句,该语句在delphi的sql explorer 中执行正常,
而在程序中则出现:操作必须使用一个可更新的查询!!!
其中的sql语句如下:
update in_temp
set je=
(select sum(je)
from sr
where sr.rq>=:afromdate
and sr.rq<:atodate)
where in_temp.rec=:arec
有哪位仁兄可以解答,在下实在感恩不及!谢谢。
 
去丢所有的冒号
 
你不会是用ADOQuery.Open来执行的吧?如果是的话改用ADOQuery.ExecSQL;
 
提问应该更详细一点,这样别人只能猜测,贴点源码,别人可以给你解决啊
 
这是一个在adoquery中sql语句,将语句该成insert程序中执行成功,将语句移到sql explorer
中执行也成功,请大家(高手)指导。
 
上面不说了吗,用ExecSQL代替Open
 
初学者:ExecSQL和Open有什么区别呢?

 
ExecSQL 要求不返回数据集,如追加,更新,删除
open 要求返回数据集,主要是查寻
 
那我用adoCommand执行的时候为什么也是这个提示信息呢?
insert into table1
select a as a1,b as b1,c as c1
from table2
它并没有返回数据集
 
后退
顶部