在用ADO调用存储过程的时候,如何得到它的返回值?

ttt 2001-12-05 01:18:26
execute的方法返回的是recordset,可我在存储过程里面返回一个字符串如何得到呢 ?
...全文
78 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
xmao 2001-12-06
是输入的参数,对应存储过程里的变量
回复
shiwu 2001-12-05
是的
事实上不用写得这么复杂,只要在传递参数前,调用parameters的refresh,然后就可以直接传递参数了
as follow:
(in sqlserver2000)
create procdure kk
@a int,
@b int output
as
begin
set @b=@a
end
(in vb)
set conn.createobject("adodb.connection")
set cmd=createobject("adodb.command")
conn.open ""
cmd.activeconnection=conn
cmd.parameters.refresh
cmd.parameters("@a")=1
cmd.execute
msgbox cmd.parameters("@b")
回复
ttt 2001-12-05
Set parIn = cmdTest.CreateParameter(名称, 类型, adParamInput, 长度, 值)

这里的 名称 是指在存储过程里定义的变量名还是什么?
回复
ttt 2001-12-05
to xmao(小猫):
我用你的方法做了以后,现在不出现异常,但我用 parOut->Value,得到的是"", 为什么?
回复
net_steven 2001-12-05
存储过程里定义一个out参数;ADO.COMMAND.parameters.addPARAMETER(...) 定义相对应的接受
回复
xmao 2001-12-05
抄一段给你
Dim cmdTest As ADODB.Command
Dim parIn As ADODB.Parameter
Dim parOut As ADODB.Parameter

Set cmdTest = New ADODB.Command

cmdTest.Prepared

'输入参数用 adParamInput,其中名称,类型长度和值按你的需要来写
Set parIn = cmdTest.CreateParameter(名称, 类型, adParamInput, 长度, 值)
cmdTest.Parameters.Append parIn

'输入参数用 adParamOutput
Set parOut = cmdTest.CreateParameter("输出参数", 类型, adParamOutput, 长度, 值)
cmdTest.Parameters.Append parOut

cmdTest.Execute

MsgBox cmdTest.Parameters("输出参数"), vbInformation
回复
N_chow 2001-12-05
用ADO.Command物件。查以前的帖子,或者查MSDN.
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2001-12-05 01:18
社区公告
暂无公告