用ADO.recordset得到存储过程返回的记录集无法更新,如何处理

michael_zy 2006-07-04 07:10:21
ado.recordset 是由执行存储过程返回的记录集。
但是却无法使用addnew,update,delete等方法了,应该是存储过程返回的记录集是不支持更新的,如何修改存储过程?
...全文
420 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
michael_zy 2006-07-08
  • 打赏
  • 举报
回复
晕。 如果能用recordset.open 早用了。算了,自己写更新语句好了。
hellowork 2006-07-07
  • 打赏
  • 举报
回复
用command.execute产生的recordset是不能更新的,只能使用recordset.open或RecordSet = connection.execute.
michael_zy 2006-07-05
  • 打赏
  • 举报
回复
存储过程返回的记录集不能更新,难道没有其它方法使其能更新么
lhhyjxt 2006-07-05
  • 打赏
  • 举报
回复
要取可更新的记录集,可以用rs.open strsql的形式呀?不一定非用存贮过程呀?
存贮过程一般用于执行复杂的操作,然后返回执行结果的.
lhhyjxt 2006-07-04
  • 打赏
  • 举报
回复
好象存贮过程返回的记录集是不能更新的,这个问题我问过,不知我的回答对否?
fcuandy 2006-07-04
  • 打赏
  • 举报
回复
他是執行存儲過程返回記錄集,所以是command的execute.我印像中command的execute反回的也是只讀的. 但樓主說,是可以更新的,我明天再去試試确定一下.

很少用recordset去更新存儲過程返回的記錄集,所以印像不是很深.
billpu 2006-07-04
  • 打赏
  • 举报
回复
如果我没记错 conn.execute默认的是adlockreadonly
billpu 2006-07-04
  • 打赏
  • 举报
回复
是不是游标类型定义错误
recordset.Open Source, ActiveConnection, CursorType, LockType, Options

LockType可选。确定提供者打开 Recordset 时应该使用的锁定(并发)类型的 LockTypeEnum值,可为下列常量之一(参见LockType属性可获得详细信息)。

常量 说明
AdLockReadOnly (默认值)只读 — 不能改变数据。
AdLockPessimistic 保守式锁定(逐个) — 提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录。
AdLockOptimistic 开放式锁定(逐个) — 提供者使用开放式锁定,只在调用Update 方法时才锁定记录。
AdLockBatchOptimistic 开放式批更新—用于批更新模式(与立即更新模式相对)。
fcuandy 2006-07-04
  • 打赏
  • 举报
回复
e,那可能我記錯了
michael_zy 2006-07-04
  • 打赏
  • 举报
回复
不是的,如果cmd直接执行查询语句返回的记录集也是可以更新的。
fcuandy 2006-07-04
  • 打赏
  • 举报
回复
ado中,command对象的execute方法所获取的记录集应该是只读的吧,这跟存储过程没什么关系.

不知道有没有记错.

34,871

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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