|
-
October 15th, 2001, 11:14 AM
#1
ADO returning a value from SQL Server Stored Procedure
I'm having no end of hassle trying to get a value returned from a SQL Server 2000 stored procedure. I'm writing a generic SQL/Stored Procedure execution routine and everything else works but this.
For test purposes, the procedure just returns the value 1. When I try to get the value back using parameter 0, the value is empty.
This is the code:
' Execute a query or Stored Procedure
'
Public Function doQuery(eQueryType As enumQueryType, _
sCommandText As String, _
Optional colParams As Collection = Nothing) As Variant
Dim Cmd As ADODB.Command
Dim recResults As New ADODB.Recordset
Dim i As Integer
' Associate this command with the current database connection
'
Set Cmd = New ADODB.Command
Set Cmd.ActiveConnection = mConn
With Cmd
' Set up the ADO Command
'
Cmd.CommandText = sCommandText
If eQueryType = ProcSingleResult Then
.CommandType = adCmdStoredProc
.Parameters.Append .CreateParameter("ReturnValue", adInteger, adParamReturnValue)
End If
End With
' Set up any parameters, if we have any
'
If Not (colParams Is Nothing) Then
For i = 1 To colParams.Count
Cmd.Parameters.Append colParams(i)
Next i
End If
Set recResults = Cmd.Execute
Select Case eQueryType
Case QueryRecordSet, ProcRecordSet:
Set doQuery = recResults
Case ProcSingleResult:
doQuery = Cmd.Parameters(0).Value
Case ProcNoResult, QueryNoResult
End Select
End Function
Its not yet finished, but works ok with recordsets from queries or stored procedures.
Any ideas?
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|