Visual Basic - store procedures + visual basic

Life is soft - evento anual de software empresarial
 
Vista:

store procedures + visual basic

Publicado por manuel (2 intervenciones) el 28/09/2007 19:59:33
Buenas gente,

Tengo un procedimiento almacenado en SQL Server que borra de una tabla y luego realiza un select, al ejcutarlo en el Query Analizer no me da problemas y me retorna los datos de la consulta bien, pero cuando lo llamo desde una aplicación en Visual Basic 6, no me retorna nada. Si elimino el delete si me retorna los datos correctamente.

Este es el procedimiento:
CREATE PROCEDURE sp_conec_obtenerPendientes AS
BEGIN
delete tabla_pruebas where id='1';
select * from tabla_pruebas;
END

Este es el llamado desde vb
With cmd
.ActiveConnection = gcnxDatos.ActiveConnection
.CommandText = "sp_conec_obtenerPendientes"
.CommandType = adCmdStoredProc
Set rsResultado = .Execute()
End With

Les agradezco cualquier comentario al respecto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:store procedures + visual basic

Publicado por Edgar Rodriguez (15 intervenciones) el 01/10/2007 03:56:51
creo q debes cambiar primero de comando.

.CommandText = "select * from sp_conec_obtenerPendientes"

mira a ver si t recibe el * y si no, usa ALL

y ya es tiempo q migres, pásate a Delphi, es igual de fácil, más potente y tiene soporte...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:store procedures + visual basic

Publicado por Manuel (2 intervenciones) el 03/10/2007 16:16:37
Gracias por la respuesta, en realidad el problema no estaba en Visual Basic, sino en el procedimiento almacenado del SQL Server.

Cuando un procedimiento tiene mas de una sentencia, ya sea un select, update o delete o cualquier otra se debe colocar la opción NOCOUNT en ON.

SET NOCOUNT ON

Esto porque el SQL Server por cada sentencia que ejecuta devuelve la cantidad de filas afectadas. Al colocar esta variable en ON solo devuelve el resultado real que debe devolver el procedimiento almacenado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar