用command对象打开存储过程得到的记录集居然提示"不支持更新..."

frankwong 2004-08-23 03:02:57
'存储过程
CREATE PROCEDURE 查找货品图片
@hpbh varchar(10),

AS

select *--编号,图片
from 货品信息
where 编号=@hpbh

go

'vb代码

dim Cmd as Command
Set Cmd = New Command
Cmd.ActiveConnection = Cn_SQL
Cmd.CommandType = adCmdStoredProc
Cmd.CommandText = "查找货品图片"
Cmd.Parameters("@hpbh") = Bh.Text
dim Rs as Recordset
Set Rs = New Recordset
Rs.CursorLocation = adUseClient
Rs.CursorType = adOpenKeyset
Rs.LockType = adLockOptimistic
Set Rs = Cmd.Execute
Rs.Fields("图片") = "" '出错,提示记录集不支持更新
Rs.Update
...全文
109 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wumylove1234 2004-08-24
啊?图片字段啊?
那用流吧!
回复
frankwong 2004-08-23
图片字段怎么insert into ?
回复
wumylove1234 2004-08-23
呵呵.邹大侠说的有道理啊.你不要用VB的那种更新方法啦.
Insert Into吧.
回复
zjcxc 2004-08-23
存储过程的结果集怎么可能支持更新

用脑想都知道不支持啦(存储过程那么麻烦,根本无法从存储过程推到基表)
回复
frankwong 2004-08-23
to chenyu5188:
错误依然,关键不是赋值语句错误,如果我使用
rs.open "select * from 货品信息 where 编号='" & Bh.text &"'" ,cn_sql,adOpenKeyset,adLockOptimistic
的话,可以执行后面的代码,而且成功,但是使用command对象执行存储过程就出现标题的错误了
回复
chenyu5188 2004-08-23
dim Cmd as Command
Set Cmd = New Command
Cmd.ActiveConnection = Cn_SQL
Cmd.CommandType = adCmdStoredProc
Cmd.CommandText = "查找货品图片"
Cmd.Parameters("@hpbh") = Bh.Text
dim Rs as Recordset
Set Rs = New Recordset
Rs.CursorLocation = adUseClient
Rs.CursorType = adOpenKeyset
Rs.LockType = adLockOptimistic
Set Rs = Cmd.Execute
Rs.Fields("图片") = Null
Rs.Update

回复
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2004-08-23 03:02
社区公告
暂无公告