Procedimientos Almacenados SQLServer2000 y C#

03/01/2006 - 09:02 por solusoft | Informe spam
Hola a todos,

estoy utilizando una base de datos SQL Server, en la que existen muchos
procedimientos y funciones.

Quisiera saber si puede determinar si un procedimiento almacenado devuelve
una tabla o no, para poder utilizar .ExecuteReader() o ExecuteNonQuery () en
otro caso.

Utilizo estos procedimientos de sistema:

sp_stored_procedures
sp_sproc_columns 'nombrePr'

Un saludo, feliz año.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristán
03/01/2006 - 09:13 | Informe spam
No tiene mucho sentido lo que estás pidiendo, porque si solicitas algo
al servidor ya sabes cómo manejarlo, porque si no es así, ya me dirás para
qué lo quieres...


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"solusoft" escribió en el mensaje
news:
Hola a todos,

estoy utilizando una base de datos SQL Server, en la que existen muchos
procedimientos y funciones.

Quisiera saber si puede determinar si un procedimiento almacenado devuelve
una tabla o no, para poder utilizar .ExecuteReader() o ExecuteNonQuery ()


en
otro caso.

Utilizo estos procedimientos de sistema:

sp_stored_procedures
sp_sproc_columns 'nombrePr'

Un saludo, feliz año.

Respuesta Responder a este mensaje
#2 solusoft
03/01/2006 - 09:39 | Informe spam
Hola,

Yo puedo saber todos los procedimientos y funciones de la BBDD con
sp_stored_procedures en tiempo de ejecución, y lo que quería saber es si
existe algún campo o "algo" que me determine si el procedimiento devuelve una
tabla.

Pero todo esto en tiempo de ejecución y sin intervención humana, claroq ue
yo si accedo al código del procedure lo sé, pero el que lo tiene que
determinar será mi programa C#.

Espero haberme explicado mejor. Gracias.

"Carlos Sacristán" escribió:

No tiene mucho sentido lo que estás pidiendo, porque si solicitas algo
al servidor ya sabes cómo manejarlo, porque si no es así, ya me dirás para
qué lo quieres...


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"solusoft" escribió en el mensaje
news:
> Hola a todos,
>
> estoy utilizando una base de datos SQL Server, en la que existen muchos
> procedimientos y funciones.
>
> Quisiera saber si puede determinar si un procedimiento almacenado devuelve
> una tabla o no, para poder utilizar .ExecuteReader() o ExecuteNonQuery ()
en
> otro caso.
>
> Utilizo estos procedimientos de sistema:
>
> sp_stored_procedures
> sp_sproc_columns 'nombrePr'
>
> Un saludo, feliz año.
>



Respuesta Responder a este mensaje
#3 Maxi
03/01/2006 - 12:42 | Informe spam
Hola,m esta es una pregunta mas para el foro de c# que para SQL, pero se que
desde ADO.NET podes ejecutar el SP sin que retorne registros y ver la
estructura que retorna


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"solusoft" escribió en el mensaje
news:
Hola a todos,

estoy utilizando una base de datos SQL Server, en la que existen muchos
procedimientos y funciones.

Quisiera saber si puede determinar si un procedimiento almacenado devuelve
una tabla o no, para poder utilizar .ExecuteReader() o ExecuteNonQuery ()
en
otro caso.

Utilizo estos procedimientos de sistema:

sp_stored_procedures
sp_sproc_columns 'nombrePr'

Un saludo, feliz año.

Respuesta Responder a este mensaje
#4 Alejandro Mesa
03/01/2006 - 15:08 | Informe spam
solusoft,

Una posible solucion seria usando "SET FMTONLY ON", lo cual hace que no se
procese ninguna fila pero que se envia informacion sobre la metadata hacia la
aplicacion cliente.

Ejemplo:

use northwind
go

SET FMTONLY ON
go

exec dbo.[Sales by Year] @Beginning_Date = '19980101', @Ending_Date =
'19981231'
go

SET FMTONLY OFF
go

Esta solucion, aunque sencilla, no nos sirve del todo pues cuando el sp
devuelve un resulset basado en una tabla temporal, este nos devuelve un error
ya que al no procesar ninguna fila, las tablas temporales no son creadas.

Ejemplo:

create procedure dbo.p1
as
set nocount on

select orderid, orderdate, customerid
into #t
from dbo.orders

select * from #t

return @@error
go

SET FMTONLY ON
go

exec dbo.p1
go

SET FMTONLY OFF
go

drop procedure p1
go


AMB

"solusoft" wrote:

Hola,

Yo puedo saber todos los procedimientos y funciones de la BBDD con
sp_stored_procedures en tiempo de ejecución, y lo que quería saber es si
existe algún campo o "algo" que me determine si el procedimiento devuelve una
tabla.

Pero todo esto en tiempo de ejecución y sin intervención humana, claroq ue
yo si accedo al código del procedure lo sé, pero el que lo tiene que
determinar será mi programa C#.

Espero haberme explicado mejor. Gracias.

"Carlos Sacristán" escribió:

> No tiene mucho sentido lo que estás pidiendo, porque si solicitas algo
> al servidor ya sabes cómo manejarlo, porque si no es así, ya me dirás para
> qué lo quieres...
>
>
> Un saludo
>
> -
> "Sólo sé que no sé nada. " (Sócrates)
>
> "solusoft" escribió en el mensaje
> news:
> > Hola a todos,
> >
> > estoy utilizando una base de datos SQL Server, en la que existen muchos
> > procedimientos y funciones.
> >
> > Quisiera saber si puede determinar si un procedimiento almacenado devuelve
> > una tabla o no, para poder utilizar .ExecuteReader() o ExecuteNonQuery ()
> en
> > otro caso.
> >
> > Utilizo estos procedimientos de sistema:
> >
> > sp_stored_procedures
> > sp_sproc_columns 'nombrePr'
> >
> > Un saludo, feliz año.
> >
>
>
>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida