使用ado.command dim cmd as adodb.command Set cmd = New ADODB.Command Set cmd.ActiveConnection = cnn cmd.Parameters.Append cmd.CreateParameter("nErrorNum", adInteger, adParamOutput) cmd.CommandText = SQLString'你的存储过程名称 cmd.CommandType = adCmdStoredProc cmd.Execute 执行以后可以通过cmd.Parameters(("nErrorNum").Value得到返回的 @@Error
对,用command对象,具体请看微软的帮助
declare @Rec int set @Rec=0 ... set @Rec=@@error IF @Rec <>0 --如果出错,返回错误代码 goto TheEnd ... CLOSE my_cursor DEALLOCATE my_cursor TheEnd: RETURN @Rec go VB: set rs=con.execute("declare @Rec int exec @Rec=ProcName ... select @Rec as Rec ") if rs!Rec=0 then debug.print "成功" else debug.print "错误号:" & rs!Rec end if
Private Function RESET_PASSWORD() As Integer Dim cmd As New ADODB.Command Dim par0 As New ADODB.Parameter '返回值 Dim par1 As New ADODB.Parameter ' 帐号 Dim par2 As New ADODB.Parameter '密码With cmd .ActiveConnection = CnnStr .CommandType = adCmdStoredProc .CommandText = "PR_RESET_PASSWORD" .ActiveConnection.CursorLocation = adUseClient par0.Direction = adParamReturnValue '返回值 par0.Type = adInteger par0.Size = 0 .Parameters.Append par0par1.Direction = adParamInput '帐号 par1.Type = adChar par1.Size = 18 par1.Value = Acc .Parameters.Append par1par2.Direction = adParamInput '新密码 par2.Type = adChar par2.Size = 20 par2.Value = NewPassWord.Text '密码 .Parameters.Append par2.Execute End With VERIFY_USER_QUERY = par0.Value cmd = Nothing End Function
dim cmd as adodb.command
Set cmd = New ADODB.Command
Set cmd.ActiveConnection = cnn
cmd.Parameters.Append cmd.CreateParameter("nErrorNum", adInteger, adParamOutput)
cmd.CommandText = SQLString'你的存储过程名称
cmd.CommandType = adCmdStoredProc
cmd.Execute
执行以后可以通过cmd.Parameters(("nErrorNum").Value得到返回的
@@Error
set @Rec=0
...
set @Rec=@@error
IF @Rec <>0 --如果出错,返回错误代码
goto TheEnd
...
CLOSE my_cursor
DEALLOCATE my_cursor
TheEnd:
RETURN @Rec
go
VB:
set rs=con.execute("declare @Rec int exec @Rec=ProcName ... select @Rec as Rec ")
if rs!Rec=0 then
debug.print "成功"
else
debug.print "错误号:" & rs!Rec
end if
Dim cmd As New ADODB.Command
Dim par0 As New ADODB.Parameter '返回值
Dim par1 As New ADODB.Parameter ' 帐号
Dim par2 As New ADODB.Parameter '密码With cmd
.ActiveConnection = CnnStr
.CommandType = adCmdStoredProc
.CommandText = "PR_RESET_PASSWORD"
.ActiveConnection.CursorLocation = adUseClient
par0.Direction = adParamReturnValue '返回值
par0.Type = adInteger
par0.Size = 0
.Parameters.Append par0par1.Direction = adParamInput '帐号
par1.Type = adChar
par1.Size = 18
par1.Value = Acc
.Parameters.Append par1par2.Direction = adParamInput '新密码
par2.Type = adChar
par2.Size = 20
par2.Value = NewPassWord.Text '密码
.Parameters.Append par2.Execute
End With
VERIFY_USER_QUERY = par0.Value
cmd = Nothing
End Function