Problema con SP y Visual Basic

05/09/2004 - 01:46 por Leo Lob | Informe spam
Tengo este Stored Procedure en SQL Server:

CREATE PROCEDURE SP_Clientes AS

select nombre, domicilio, saldo from clientes order by saldo desc

GO


Desde VB lo abro asi:

Dim DB As New ADODB.Connection
Dim RS As New ADODB.Recordset
DB.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist
Security Info=False;Initial Catalog=ORT;Data Source=lsiserver"
DB.Open

RS.Open "SP_Clientes", DB, adOpenForwardOnly, adLockOptimistic
RS.MoveFirst
.
.
.
Y anda todo bien.

Ahora, si antes del Select en el SP agrego un Insert Into, no logro que el
SP me devuelva nada. Me da un error en la linea del RS.MoveFirst.

Porque es eso?

Si quiero hacer un Insert y que el mismo SP me devuelva la tabla con el
Insert ya hecho, no puedo???

Gracia.
 

Leer las respuestas

#1 Gustavo Larriera [MVP]
05/09/2004 - 04:02 | Informe spam
Si estás ejecutando una sentencia INSERT seguida de SELECT, estás haciendo
un INSERT de los datos que el SELECT produce. Entonces el sproc está
devolviendo nada pues lo que está haciendo es INSERT y no un SELECT.

Tu código VB está esperando un recordset, pero tu sproc está haciendo un
INSERT.

Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Leo Lob" wrote in message
news:
Tengo este Stored Procedure en SQL Server:

CREATE PROCEDURE SP_Clientes AS

select nombre, domicilio, saldo from clientes order by saldo desc

GO


Desde VB lo abro asi:

Dim DB As New ADODB.Connection
Dim RS As New ADODB.Recordset
DB.ConnectionString = "Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist
Security Info=False;Initial Catalog=ORT;Data Source=lsiserver"
DB.Open

RS.Open "SP_Clientes", DB, adOpenForwardOnly, adLockOptimistic
RS.MoveFirst
.
.
.
Y anda todo bien.

Ahora, si antes del Select en el SP agrego un Insert Into, no logro que el
SP me devuelva nada. Me da un error en la linea del RS.MoveFirst.

Porque es eso?

Si quiero hacer un Insert y que el mismo SP me devuelva la tabla con el
Insert ya hecho, no puedo???

Gracia.


Preguntas similares