Se puede hacer esto?

16/07/2003 - 21:32 por Diego Arnejo | Informe spam
Que tal gente?
Estoy rompiendome la cabeza tratando de hacer una funcion en asp que se
conecte con un Stored Procedure en SQL. Esto no seria tan dificil si mis
SP no recibieran parametros, pero estos si, y lo peor es que no siempre
son la misma cantidad. Hay alguna forma o instruccion que te permita
pasar a la funcion X cantidad de parametros (por array o xml) y que
segun la cantidad que le paso se arme por medio de un for...next o algo
similar?
No se, para peor no vi ningun tutorial que expliquen como hacerlo.
Yo arme una DLL que hace esto, pero cuando la intente pasar a ASP muchas
instrucciones no servian, asi que me di por vencido.
Gente buena de este foro, espero una mano solidaria, que me ayude a
resolver este problema
Muchas gracias
 

Leer las respuestas

#1 Nicolás Ghezzi
16/07/2003 - 22:38 | Informe spam
No se si me cuadro en la definición de "Gente Buena", pero esto es lo que
necesitas creo...

Public Function ExecuteSP(StoreName, ArrParam) 'as Long
Dim objConn
Dim objCommand
Dim i

set objConn = server.createobject("ADODB.Connection")
set objCommand = server.createobject("ADODB.Command")

objConn.ConnectionString = "Tu cadena de conexion"
objConn.Open

objCommand.CommandText = cstr(StoreName)
objCommand.CommandType = 4
Set objCommand.ActiveConnection = objConn
objCommand.Parameters.Refresh

if not(IsArray(ArrParam)) then
'Error, el parametro no es un array
else
If UBound(ArrParam) >= 0 Then
For i = 0 To UBound(ArrParam)
objCommand.Parameters(i + 1) = ArrParam(i)
Next
End If
end if

objCommand.Execute
ExecuteSP = objCommand.Parameters(0)
Set objConn = Nothing
Set objCommand = Nothing
End Function

'

ArrParam es del tipo array y recibe los parametros cualquiera sea su tipo
ordenados como los recibe el SP.
Entonces podrias llamar a la funcion como esta lina:

lngValorDevuelto = ExecuteSP("sp_GetClientByIDCity", Array(99))

Dentro del array(1, 2, n...) podes poner los parametros que tu SP necesita.

Saludos, Nico.



"Diego Arnejo" wrote in message
news:
Que tal gente?
Estoy rompiendome la cabeza tratando de hacer una funcion en asp que se
conecte con un Stored Procedure en SQL. Esto no seria tan dificil si mis
SP no recibieran parametros, pero estos si, y lo peor es que no siempre
son la misma cantidad. Hay alguna forma o instruccion que te permita
pasar a la funcion X cantidad de parametros (por array o xml) y que
segun la cantidad que le paso se arme por medio de un for...next o algo
similar?
No se, para peor no vi ningun tutorial que expliquen como hacerlo.
Yo arme una DLL que hace esto, pero cuando la intente pasar a ASP muchas
instrucciones no servian, asi que me di por vencido.
Gente buena de este foro, espero una mano solidaria, que me ayude a
resolver este problema
Muchas gracias

Preguntas similares