A ver como podria ser esta cosa rara.

12/08/2004 - 16:09 por Pablo Fabian Savino | Informe spam
Hola,
o estoy loco o no lo se hacer, pero necesito lo siguiente:

Como hago una funcion que me debuelva el Array de los parametros que pueda
tener un SP para luego usar estos parametros y asignarle valores etc etc.

lo que intento es que al hacer por ej:

mi_function.param1=1
mi_function.param2='hola'

me explico, claro,esta funcion deberia poder digamos...recrear el array
de parametros para cada SP diferente!

Yo me hice una DLL que maneja todo lo que es conexiones y DataReader,
DataSets, SqlCommand.etc
entonces creanme que en mis aplicaciones ya no mas hago un dim Ds as DataSet
porque a mi DLL le digo que quiero los datos de
tal tabla y me trae todo todo y ya, tambien puede ejecutar SP, pero ahora
estoy mas ambicioso!!! jejejej, quiero poder hacer lo explicado arriba para
solo usar una funcion que sirva para cualquier SP que este en el server.

Bueno, estoy loco o no lo se hacer?

Sugerencias, ejemplitos de arrays debueltos por funciones...etc...Se
agradecen!!!!!!!!!!!!

Salute!!!

Preguntas similare

Leer las respuestas

#6 Pablo Fabian Savino
12/08/2004 - 21:12 | Informe spam
OK, eso es lo que necesito , diste en el clavo!!!
mil gracias, voy a ponerlo a funcionamiento!

Salute!

"Eduardo A. Morcillo [MS MVP VB]" <emorcilloATmvps.org> wrote in message
news:
> se me ocurrio que podria hacer algo asi porque si al arrastrar y
> soltar un SP desde el Server Explorer de Net, este me crea un
> sqlcommad con los parametros del SP, entonces pense que por codigo
> tambien habria alguna manera de saber cuantos parametros tiene tal SP
> para luego yo trabajarlos.

Pero eso es justamente lo que hace SqlCommandBuilder.DeriveParameters!


Creas
un commando que apunte al SP y lo pasas a DeriveParameters y este te


inserta
en la coleccion Parameters del comando los parametros del SP. Yo uso algo
asi:

Public Sub EjecutaSP( _
ByVal procedure As String, _
ByVal ParamArray params() As Object)

' Creo el comando
Dim cmd As New SqlCommand(procedure, cnx)
cmd.CommandType = CommandType.StoredProcedure

Try

' Abro la conexion
cnx.Open()

' Cargo los parametros del SP
SqlCommandBuilder.DeriveParameters(cmd)

' Agrego los valores pasados a la funcion
For i As Integer = 1 To params.Length
cmd.Parameters.Item(i).Value = params(i - 1)
Next

' Ejecuto el SP
cmd.ExecuteNonQuery

Catch ex As Exception

Throw ex

Finally

cnx.Close()

End Try

End Sub

Al metodo le pasas el nombre del SP y los parametros en el orden en que
estan definidos en el SP y el metodo lo ejecuta. De la misma forma haces
otros para que devuelvan un datatable, datareader, etc.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida