SQL - RecordSet a un SP con varios SELECT

 
Vista:

RecordSet a un SP con varios SELECT

Publicado por Hubert (98 intervenciones) el 24/11/2006 01:45:36
Buenas.
Generalmente mis SP me devuelven un resultado consecuencia de un SELECT, El objeto RecordSet se encargaba de recibirlo.

Como hago para diferenciar la devolucion de un SELECT sabiendo que dentro del SP hay varios.

El SP tiene varios temporales creados cargados como consecuencia de un INSERT / SELECT. Luego realizo una consulta entre mis tablas y temporales y de acurdo a una condicion se ejecutan al final diferentes SELECT y solo uno sirve.

Como tendria que hacer en el SP para obtener lo que se desea.

Se entedio? espero que si.

Saludos
Hubert
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
sin imagen de perfil

RE:RecordSet a un SP con varios SELECT

Publicado por Liliana (426 intervenciones) el 24/11/2006 16:38:16
Hola Hubert,
Cuál es el objeto de los SELECT que no te sirven?
Saludos,
Liliana.
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:RecordSet a un SP con varios SELECT

Publicado por Hubert (98 intervenciones) el 24/11/2006 17:52:50
Hola,
No es que no sirvan, de acurdo a una condicion no los utilizo.

En un primer SP1
creo una tabla temporal #tabla1, #tabla2
Luego este SP1 llama a otro SP2 el cual usa la tabla #tabla1 y le agrega registros, que luego realiza un un INSERT en la #tabla2 como consecuencia de un SELECT con #tabla1 y otras mas de mi base de datos, las condiciones tienen sus respectivos BEGIN y END.

Creo un Objeto RecordSet para recibir este resultado y no me devuelve nada, a pesar de que el Query Analizer si lo hace.

-Ejemplo
PROCEDURE SP1
creo una tabla temporal #tabla1, #tabla2
Execute SP2 param1
select * from #tabla2 -- este resultado es el que necesito
RETURN

PROCEDURE SP2
Lleno la tabla #tabla1
IF param1 = 1
luego realizo un INSERT en #tabla2 segun SELECT en tablas #tabla1,
MITABLA1, MITABLA2 WHERE criterio1
ELSE
luego realizo un INSERT en #tabla2 segun SELECT en tablas #tabla1,
MITABLA1, MITABLA2 WHERE criterio2
Return

Saludos
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
sin imagen de perfil

RE:RecordSet a un SP con varios SELECT

Publicado por Liliana (426 intervenciones) el 24/11/2006 18:30:24
Pero en el código que estás poniendo de ejemplo no hay SELECT que no te sirvan, es más, no hay SELECT, solo INSERT...
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:RecordSet a un SP con varios SELECT

Publicado por Hubert (98 intervenciones) el 24/11/2006 19:28:55
Hola.
Revise el codigo de mi componente.
Lo que pasaba era que el error estaba en mi componente, este realizaba toda la operacion y no estaba devolviendo el parametro Objeto que es el RecordSet.

Corregi el componente (DLL).
Gracias
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:RecordSet a un SP con varios SELECT

Publicado por José (11 intervenciones) el 27/11/2006 16:15:29
Hola.
Tengo el mismo problema que vos, Hubert, no puedo traer lo que devuelve un SP a un recordset.
Me podrias decir que DLL es la que está mal, y de donde saco la correción.

Saludos, gracias.
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:RecordSet a un SP con varios SELECT

Publicado por Hubert (98 intervenciones) el 27/11/2006 16:43:28
Hola,
La DLL no es del OLEDB si no una DLL nuestra (una clase), estaba incompleta.

En vez de que tu RecorSet reciba un SP, que reciba un simple simple select. eso lo debe hacer.

Sds.
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:RecordSet a un SP con varios SELECT

Publicado por José (11 intervenciones) el 27/11/2006 19:40:23
No me queda otra opcion para lo que tengo que hacer y a parte sé que se puede porquer un compañero de oficina me mostró un ejemplo, a mí no me anda y no sé por qué..

Gracias igual por reponderme.
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:RecordSet a un SP con varios SELECT

Publicado por José (11 intervenciones) el 29/11/2006 19:27:17
Descubrí el por qué del error pero no tengo la solución todavía.
El error sale cuando se quiere devolver una consulta con un SP y antes de hacerla dentro del SP se escribe un mensaje, ya sea por una insercion, por un update, un delete (tantos registros afectados) o por un simple print 'hola'.

Si alguien sabe como safar de esto (ignorar los mensajes o borrarlos), se lo agradezco
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:RecordSet a un SP con varios SELECT

Publicado por José (11 intervenciones) el 29/11/2006 20:11:40
Ya solucioné el problema.
en el Store hay que escribir al comienzo SET NOCOUNT ON para que no entreguen ningún mensaje las instrucciones INSERT, UPDATE, DELETE o SELECT y listo.

Saludos
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