StoredProcedure

02/12/2004 - 09:46 por CHINO | Informe spam
Hola,

Tengo un proceso almacenado en la base de datos que es una
función con 1 parámetro de entrada y 1 de salida.

Tengo claro cómo recuperar el parámetro de salida pero no
cómo recuperar el resultado de la función.

Muchas gracias,

Chino

Preguntas similare

Leer las respuestas

#1 BigSus
02/12/2004 - 11:17 | Informe spam
CHINO wrote:
Hola,

Tengo un proceso almacenado en la base de datos que es una
función con 1 parámetro de entrada y 1 de salida.

Tengo claro cómo recuperar el parámetro de salida pero no
cómo recuperar el resultado de la función.

Muchas gracias,

Chino



Tienes que pasarle dos parametros, el de salida poniendo la dirección
del parametro como ParameterDirection.ReturnValue;

Una vez ejecutada la función solo tienes que leer el parametro que le
habías enviado.

Un saludo
Respuesta Responder a este mensaje
#2 CHINO
02/12/2004 - 12:05 | Informe spam
Muchas gracias, ha funcionado perfectamente.

Ahora tengo una nueva duda:

Tengo el código:

OracleParameter myOracleParameter = new OracleParameter();
myOracleParameter.Direction = ParameterDirection.Output;
myOracleParameter.OracleType = OracleType.Number;
myOracleParameter.ParameterName = "NOMBRE";

myOracleCommand.Parameters.Add(myOracleParameter);

Y funciona perfectamente, pero lo quiero así:

myOracleCommand.Parameters.Add(new OracleParameter
("NOMBRE", OracleType.Number).Direction =
ParameterDirection.Output);

Y no funciona. Obtengo el error: "argument value must be
of type System.Data.OracleClient.OracleParameter".

¿Qué hago mal?

Gracias,

CHINO

CHINO wrote:
Hola,

Tengo un proceso almacenado en la base de datos que es




una
función con 1 parámetro de entrada y 1 de salida.

Tengo claro cómo recuperar el parámetro de salida pero




no
cómo recuperar el resultado de la función.

Muchas gracias,

Chino



Tienes que pasarle dos parametros, el de salida poniendo


la dirección
del parametro como ParameterDirection.ReturnValue;

Una vez ejecutada la función solo tienes que leer el


parametro que le
habías enviado.

Un saludo
.

Respuesta Responder a este mensaje
#3 Alex Sánchez
14/12/2004 - 07:06 | Informe spam
Hola
No encuentro una sobrecarga para el metodo Parameters.Add, te propongo que
escribas un nuevo metodo como el siguiente
private OracleParameter CreaParametro(string nombre, object valor,
ParameterDirection direccion)

{

OracleParameter param = new OracleParameter(nombre, valor);

param.Direction = direccion;

return param;

}

que lo podras usar como esperas

myOracleCommand.Parameters.Add(CreaParametro("Parametro", 123,
ParameterDirection.Output));




Alex Sánchez
//Logic Studio Panamá
{
Ejecución de Proyectos .NET
Galerías Balboa, Avenida Balboa y Aquilino de la Guardia, piso 3
oficina 46
Marbella - Panamá
(507) 673 9049
http://www.logicstudio.net
Participa del .NET User Group http://panama.latindevelopers.net
Comité de Relación de Grupos de Usuarios INETA-LATAM Muchas voces, una
pasión -> Asociación Internacional .NET;
}


Alex Sánchez
//Logic Studio Panamá
{
Ejecución de Proyectos .NET
Galerías Balboa, Avenida Balboa y Aquilino de la Guardia, piso 3
oficina 46
Marbella - Panamá
(507) 673 9049
http://www.logicstudio.net
Participa del .NET User Group http://panama.latindevelopers.net
Comité de Relación de Grupos de Usuarios INETA-LATAM Muchas voces, una
pasión -> Asociación Internacional .NET;
}
"CHINO" escribió en el mensaje
news:07eb01c4d85e$e1ac56f0$

Muchas gracias, ha funcionado perfectamente.

Ahora tengo una nueva duda:

Tengo el código:

OracleParameter myOracleParameter = new OracleParameter();
myOracleParameter.Direction = ParameterDirection.Output;
myOracleParameter.OracleType = OracleType.Number;
myOracleParameter.ParameterName = "NOMBRE";

myOracleCommand.Parameters.Add(myOracleParameter);

Y funciona perfectamente, pero lo quiero así:

myOracleCommand.Parameters.Add(new OracleParameter
("NOMBRE", OracleType.Number).Direction ParameterDirection.Output);

Y no funciona. Obtengo el error: "argument value must be
of type System.Data.OracleClient.OracleParameter".

¿Qué hago mal?

Gracias,

CHINO

CHINO wrote:
Hola,

Tengo un proceso almacenado en la base de datos que es




una
función con 1 parámetro de entrada y 1 de salida.

Tengo claro cómo recuperar el parámetro de salida pero




no
cómo recuperar el resultado de la función.

Muchas gracias,

Chino



Tienes que pasarle dos parametros, el de salida poniendo


la dirección
del parametro como ParameterDirection.ReturnValue;

Una vez ejecutada la función solo tienes que leer el


parametro que le
habías enviado.

Un saludo
.

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