Mensaje
 
a
Todos
General information
Foro:
Microsoft SQL Server
Category:
Stored procedures, Triggers, UDFs
Título:
SELECT after INSERT does'nt return resultset in Stored Proc
Miscellaneous
ID de la conversación:
00522072
ID del mensaje:
00522072
Views:
58
I have a stored procedure that inserts into a table (via the INSERT SQL statement).

If I issue any SELECT statement issued before that,
it gets returned to my ADO Recordset.

But if the SELECT is issued after the INSERT (the SELECT is issued on a table that may or may not have anything to do with the table in the INSERT statement),
it does not work ! The ado recordset does not get any results.

I know the stored procedure itself worked and did not error out, because table A contains the results of the insert.

Create procedure sp_test
( @TEST Varchar(100), @TEST2 varchar(100) )
as
Select * from Y /* this will work, but I don't need this */

insert into A select * from B

Select * from Y /* this will not work, but I want this to work */
Select * from A /* this will not work, but I want this to work */

GO

'******* VB Code
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset

cn.Provider = "sqloledb"
cn.Properties("Data Source").Value = "MYSQLSERVERNAME"
cn.Properties("Initial Catalog").Value = "MYDATABASENAME"
cn.Properties("Integrated Security").Value = "SSPI"
cn.Open

cmd.ActiveConnection = cn
cmd.CommandText = "sp_test"
cmd.CommandType = adCmdStoredProc
cmd.Parameters.Append cmd.CreateParameter("TEST", adVarChar, adParamInput, 100, "nurskill")
cmd.Parameters.Append cmd.CreateParameter("TEST2", adVarChar, adParamInput, 100, "FK_HOSP")
Set rs = cmd.Execute

Debug.Print rs(0) ' nothing in the resultset !!

I even tried this: the ADO calls stored proc A, which in turn calls a stored proc B, which does the INSERT. Then stored proc A returns the resultset. So that the StoredProc that does th INSERT is not the one that returns the resultset. It still does not reach the ADO recordset.

I even tried creating an ADO Connection object WITHEVENTS so that I can wait till the Command Complete Event before checking hte recordset... still no luck.


thanks
Bharat Sanghvi
Vice President, Information Technology
Deyta
Continuous Quality Measurement Systems
Next
Responder
Mapa
Ver