Office中国论坛/Access中国论坛

标题: 存储过程返回的记录集如何更新(后台是SQLserver [打印本页]

作者: mclly2000    时间: 2013-6-4 01:09
标题: 存储过程返回的记录集如何更新(后台是SQLserver
本帖最后由 mclly2000 于 2013-6-4 01:22 编辑

窗体绑定的记录集来自ado(使用存储过程获取数据即cmd.Execute),窗体获取记录集后无法编辑,关于锁的类型,游标位置,游标类型的设置都是正确的。看到这个帖子http://bbs.csdn.net/topics/90117687
说用command.execute产生的recordset是不能更新的,只能使用recordset.open或RecordSet =connection.execute.
由于我这个查询呢比较复杂需要使用存储过程,请教论坛老师可有什么办法让返回的记录集可更新。
原代码如下:

  1. <P>Private Sub Form_Load()
  2. Dim CmdUntread As New ADODB.Command
  3. Dim RsUntread As New ADODB.Recordset
  4. Dim pUntread01 As ADODB.Parameter
  5. Dim pUntread02 As ADODB.Parameter
  6. RsUntread.LockType = adLockBatchOptimistic
  7. RsUntread.CursorType = adOpenStatic
  8. RsUntread.CursorLocation = adUseClient
  9. CmdUntread.ActiveConnection = NetDS'激活连接
  10. CmdUntread.CommandText = "proc_HeaveyPerson_ReplyUntreadMsg @username=?,@CaseNumber=?"
  11. Set pUntread01 = CmdUntread.CreateParameter(Type:=adVarChar, Size:=10)   
  12. CmdUntread.Parameters.Append pUntread01  
  13. CmdUntread.Parameters(0) = "10000"  
  14. Set pUntread02 = CmdUntread.CreateParameter(Type:=adVarChar, Size:=30)  
  15. CmdUntread.Parameters.Append pUntread02   
  16. CmdUntread.Parameters(1) = "C342500VEH13000986"
  17. CmdUntread.Execute
  18. RsUntread.Open CmdUntread
  19. Set Me.Recordset = RsUntread
  20. Me.Refresh
  21. Set RsUntread = Nothing
  22. End Sub</P>
复制代码

作者: admin    时间: 2013-6-4 08:52
你先试试 存储过和本身返回的查询是否 可更新?
另试试 在服务器 使用视图 或函数 做一个返回看看是否可更新(可先用ADP试试可否更新)
作者: mclly2000    时间: 2013-6-4 09:03
本帖最后由 mclly2000 于 2013-6-4 09:06 编辑
admin 发表于 2013-6-4 08:52
你先试试 存储过和本身返回的查询是否 可更新?
另试试 在服务器 使用视图 或函数 做一个返回看看是否可更 ...


站长可否远程看看,另外我这个记录集是断开的啊,为什么不能改呢
另外视图好像都是不能更新的吧

作者: tmtony    时间: 2013-6-4 09:10
如果视图本身是可更新的,就可更新
作者: 竹笛    时间: 2013-6-4 14:53
你看看你其他代码 有没有把可更新的属性去更改
作者: mclly2000    时间: 2013-6-4 15:41
竹笛 发表于 2013-6-4 14:53
你看看你其他代码 有没有把可更新的属性去更改

窗体的数据属性是可更新的应该没问题
作者: mclly2000    时间: 2013-6-4 16:00
感谢楼上各位老师已解决,还是查询的问题




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3