奇怪呀!为什么我的VB程序不能运行两个 adocm.execute?

lzheng2001 2003-11-19 12:46:14
sql 7 数据库,每个客户端应用程序用户只拥有Public角色的权限,在数据库中已设置Public角色不具备对数据库内任何Object的操作权限.客户端应用程序启动后激活一个应用程序角色 APP_ROLE,此角色定义的所有的操作权限.
问题:
Private Sub cboContractNo_Click()
Dim adcmd1 As New ADODB.Command
Dim adpara1 As New ADODB.Parameter
Dim adrs1 As New ADODB.Recordset
Dim adcmd2 As New ADODB.Command
Dim adpara2 As New ADODB.Parameter
Dim adrs2 As New ADODB.Recordset

Set adcmd.ActiveConnection = padcnnCCS
adcmd.CommandText = "SP_1"
adcmd.CommandType = adCmdStoredProc
Set adpara1 = adcmdTmp.CreateParameter("contract_uid", adInteger, adParamInput, , cboContractNo.Columns("contract_uid").Value)
adcmdTmp.Parameters.Append adparaTmp
set adrs1 = adcmdTmp.Execute
...
Set adcmd2.ActiveConnection = padcnnCCS
adcmd2.CommandText = "SP_2"
adcmd2.CommandType = adCmdStoredProc
Set adpara2 = adcmdTmp.CreateParameter("contract_uid", adInteger, adParamInput, , cboContractNo.Columns("contract_uid").Value)
adcmd2.Parameters.Append adparaTmp
set adrs2 = adcmdTmp.Execute
...
End Sub
当程序运行 set adrs2 = adcmdTmp.Execute 发生错误!说没有权限运行 sp_2! 实际上应用程序角色 APP_ROLE是具备运行sp_1和sp_2的权限的,在代码中随便注释任何一段EXECUTE代码都能正常运行,可两个EXECUTE命令一起运行时就说无权限运行!为什么呢?
请高手指教.
...全文
33 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzheng2001 2004-02-04
  • 打赏
  • 举报
回复
更好的方法是加上这句问题解决CursorLocation = adUseClient.
yunfeng007 2003-11-19
  • 打赏
  • 举报
回复
哦,set adrs1 = adcmd.Execute 之后set adcmd=nothing
wolfhero 2003-11-19
  • 打赏
  • 举报
回复
把第一个关闭了。在运行第二个试试
lzheng2001 2003-11-19
  • 打赏
  • 举报
回复
请问ADODB.COMMAND有没有一种属性设置只能在同时运行一个COMMAND?
lzheng2001 2003-11-19
  • 打赏
  • 举报
回复
改好了,仍是这样啦! 再提醒一遍:如果这两个命令随便运行一个都正常,可两个一起运行时就说没有权限运行第二个啦

看贴的朋友帮忙UP一下好吗,急呀:(
yunfeng007 2003-11-19
  • 打赏
  • 举报
回复
上面还有一点adcmdTmp.Parameters.Append adpara1 改成adcmd.Parameters.Append adpara1
yunfeng007 2003-11-19
  • 打赏
  • 举报
回复
改成
Set adcmd.ActiveConnection = padcnnCCS
adcmd.CommandText = "SP_1"
adcmd.CommandType = adCmdStoredProc
Set adpara1 = adcmd.CreateParameter("contract_uid", adInteger, adParamInput, , cboContractNo.Columns("contract_uid").Value)'这里
adcmdTmp.Parameters.Append adpara1 '这里
set adrs1 = adcmd.Execute '这里
...
Set adcmd2.ActiveConnection = padcnnCCS
adcmd2.CommandText = "SP_2"
adcmd2.CommandType = adCmdStoredProc
Set adpara2 = adcmd2.CreateParameter("contract_uid", adInteger, adParamInput, , cboContractNo.Columns("contract_uid").Value)'这里
adcmd2.Parameters.Append adpara2 '这里
set adrs2 = adcmd2.Execute '这里
BingGroup 2003-11-19
  • 打赏
  • 举报
回复
看看 padcnnCCS 的连接属性

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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