Stored Procedure has both return value and data set (SqlDataReader)

N

Neo Chou

Greetings!

I met the same question as in ADO a few months ago.

I'm working on MS SQL Server 2000. I have a stored procedure that returns a
return value as well as a record set (by "select" statement). Below is my
ASP code:

<%
Set OBJdbConn = Server.CreateObject("ADODB.Connection")
....
OBJdbConn.CursorLocation = adUseClient
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = OBJdbCONN
....
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs = cmd.Execute
ResultType = cmd("@ResultType")
If ResultType = 0 Then
Do Until rs.EOF
....
rs.MoveNext
Loop
rs.Close
End If
%>

I can get the return value and record set at the same time, by specifying
"CursorLocation" as "adUseClient". Now I want to re-write it in
ASP.NET/ADO.NET. I'm using SqlConnection, SqlCommand and SqlDataReader. I
can only get the return value after the SqlConnection is closed, but at that
time SqlDataReader is no longer available. Is there any option in
ADO.NET/SqlClient to specify "CursorLocation" as ADO?

Thanks in advance!

Neo
 
C

CT

I'm afraid there isn't a CursorLocation option with ADO.NET. So, what you
can do is to have the return value returned as the first result set,
followed by the data from the SELECT statement, and use the NextResult
method of the DataReader to move from the return value once read, to the
actual result set. If modifying the stored procedure isn't an option you
will need to go with the DataAdapter and DataSet.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,571
Members
45,045
Latest member
DRCM

Latest Threads

Top