Parametos de output

14/11/2007 - 19:30 por Robert Barreiro | Informe spam
Weenas que tal como les va?

Estoy utilizando un Stored Procedure que devuelve un parametro de OUTPUT
llamado @cotizacion. El SP anda bien si lo pruebo solo, pero cuando lo
invoco desde una aplicacion C# con Application Blocks no me anda, o sea, no
me da error pero el valor me lo retorna como cero.

Ésta es la llamada al SP desde C#:

public static decimal GetCotizacionMoneda(int currencyId, DateTime
fechaCotizacion)
{
try
{
decimal retValue = 0;

Database db = DatabaseFactory.CreateDatabase("Users");
DbCommand cmd =
db.GetStoredProcCommand(SP_GET_COTIZACION_MONEDA);
db.AddInParameter(cmd, "@codigoMoneda", DbType.Int32,
currencyId);
db.AddInParameter(cmd, "@fechaCotiz", DbType.DateTime,
fechaCotizacion);
db.AddOutParameter(cmd, "@cotizacion", DbType.Decimal, 16);

db.ExecuteNonQuery(cmd);
retValue = (decimal)db.GetParameterValue(cmd,
"@cotizacion");
return retValue;
}
catch (Exception e)
{
throw e;
}
}


No veo el problema, alguno tiene idea de qué estoy haciendo mal? Se ve que
en algo estoy pifiando. Les agradezco mucho la ayuda, esto me esta
estresando...




Robert.

Preguntas similare

Leer las respuestas

#1 Lluis Franco
15/11/2007 - 10:15 | Informe spam
:-)
Hola Robert,
No tengo la documentación a mano en este momento, pero creo recordar que
debes especificar que este parámetro es de salida:

Un saludo,

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
(Guía de netiquette de los foros)
http://sps.uyssoft.com/Foros%20onli...uette.aspx
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile/Lluis
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.
Respuesta Responder a este mensaje
#2 Robert Barreiro
15/11/2007 - 19:38 | Informe spam
Ehh..si ya esta. En realidad descubri el problema aunque surgio otro. Probé
con un parametro adicional de tipo INT y lo puedo recuperar bien. Pero con
este parametro de tipo DECIMAL si vale 0 con algo, ejemplo 0.5, me devuelve
0 y no 0.5, algo estoy haciendo mal, pero de todas formas lo resolví por
todos lados.


Muchas gracias!


"Lluis Franco" escribió en el mensaje
news:
:-)
Hola Robert,
No tengo la documentación a mano en este momento, pero creo recordar que
debes especificar que este parámetro es de salida:

Un saludo,

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
(Guía de netiquette de los foros)
http://sps.uyssoft.com/Foros%20onli...uette.aspx
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile/Lluis
This posting is provided "AS IS" with no warranties, and confers no
rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.


Respuesta Responder a este mensaje
#3 Lluis Franco
16/11/2007 - 13:01 | Informe spam
De nada!
:-)

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
(Guía de netiquette de los foros)
http://sps.uyssoft.com/Foros%20onli...uette.aspx
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile/Lluis
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida