请问怎么取出数据库的返回值,注意不是输入参数的值

kneek 2004-08-31 12:43:36
我的代码如下:
Dim rs As New ADODB.Recordset
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim param As New ADODB.Parameter
cn.ConnectionString = "Driver={sql server};server=148.2.1.12;uid=sa;pwd=;database=data_db"
cn.Open
If rs.State = adStateOpen Then rs.Close
cmd.ActiveConnection = cn
cmd.CommandText = "test"
cmd.CommandType = adCmdStoredProc

'返回值
Set param = cmd.CreateParameter("RetVal", adInteger, adParamReturnValue, 4)
cmd.Parameters.Append param

'输入参数
Set param = cmd.CreateParameter("serviceid", adChar, adParamInput, 5, Trim(txtServiceid.Text))
cmd.Parameters.Append param

'输出参数
Set param = cmd.CreateParameter("servicename", adChar, adParamOutput, 40)
cmd.Parameters.Append param

Set rs = cmd.Execute()

If cmd.Parameters("RetVal").Value = 0 Then
MsgBox cmd.Parameters("servicename").Value
Else
MsgBox "没有记录"

End If

Set rs = Nothing
cn.Close
Set cmd = Nothing
Set param = Nothing
Set cn = Nothing

存储过程:
create proc test @serviceid char(5),@servicename char(40) output
as
select @servicename=service_name from conf_service where service_id=@serviceid
if @@rowcount=1
return 0
else
return @@rowcount

在VB的代码中去不出返回值和输出参数
如果我把
Set rs = cmd.Execute()
改为
cmd.Execute
可以取出输入参数@servicename的值还是取不出存储过程的返回值。请问错误原因在哪儿啊?
...全文
81 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kneek 2004-08-31
  • 打赏
  • 举报
回复
前面说错了
标题应该是:
请问怎么取出数据库的返回值,注意不是输“出”参数的值
最后一句话应该是:
可以取出输“出”参数servicename的值还是取不出存储过程的返回值。请问错误原因在哪儿啊?
kneek 2004-08-31
  • 打赏
  • 举报
回复
to online(龙卷风V2.0--再战江湖) :
原来是存储过程的差别啊,谢谢了,给分!
online 2004-08-31
  • 打赏
  • 举报
回复
改一下

存储过程:
create proc test @serviceid char(5),@servicename char(40) output
as
select @servicename=service_name from conf_service where service_id=@serviceid
if @@rowcount=1
return 0
else
return 1

If cmd.Parameters("RetVal").Value = 1 Then
MsgBox cmd.Parameters("servicename").Value
Else
MsgBox "没有记录"

End If

online 2004-08-31
  • 打赏
  • 举报
回复
参考
http://blog.csdn.net/online/archive/2004/08/05/66376.aspx

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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