Valores nulos

07/06/2005 - 15:12 por abibiano | Informe spam
Tengo una variable decimal que la quiero llenar con una consulta. El código es

decimal idUsuario;
idUsuario = (decimal)queriesTableAdapter.GetIdUsuarioByUsuario(Usuario);

El problema es que este método puede devolver un valor nulo si no existe el
usuario. ¿como puedo controla que si devuelve nulo asigne un 0 a idUsuario?

Preguntas similare

Leer las respuestas

#1 Steven Lewis
07/06/2005 - 17:48 | Informe spam
Creo que lo podrías hacer desde la consulta o procedimiento almacenado. No
sé cómo sea en T-SQL, pero en Oracle es con la función NVL.

Saludos

Steven Lewis

"abibiano" escribió en el mensaje
news:
Tengo una variable decimal que la quiero llenar con una consulta. El
código es

decimal idUsuario;
idUsuario = (decimal)queriesTableAdapter.GetIdUsuarioByUsuario(Usuario);

El problema es que este método puede devolver un valor nulo si no existe
el
usuario. ¿como puedo controla que si devuelve nulo asigne un 0 a
idUsuario?
Respuesta Responder a este mensaje
#2 Octavio Hernandez
07/06/2005 - 21:41 | Informe spam
Usa:

if (queriesTableAdapter.GetIdUsuarioByUsuario(Usuario) == DBN­ull.Value)
idUsuario = 0M;
else
idUsuario = (decimal)queriesTableAdapter.GetIdUsuarioByUsuario(Usuario);

Slds - Octavio

"abibiano" escribió en el mensaje
news:
Tengo una variable decimal que la quiero llenar con una consulta. El
código es

decimal idUsuario;
idUsuario = (decimal)queriesTableAdapter.GetIdUsuarioByUsuario(Usuario);

El problema es que este método puede devolver un valor nulo si no existe
el
usuario. ¿como puedo controla que si devuelve nulo asigne un 0 a
idUsuario?
Respuesta Responder a este mensaje
#3 abibiano
08/06/2005 - 07:13 | Informe spam
Gracias a todos.

Creo que cambiaré el SQL. La opción de verificar el resultado por código

if (Convert.IsDBNull(queriesTableAdapter.Getxxx(Usuario))) {
idUsuario = 0m;
}
else {
idUsuario = Convert.ToDecimal(queriesTableAdapter.Getxxx(Usuario));
}

ya la había pensado, pero creo que consume muchos recursos, ya que he de
realizar la consulta 2 veces.

"Pedro Luna Montalvo" wrote:

Saludos Guillermo,

El problema utilizando tu propuesta es que si el query retorna un valor nulo, este método fallará con una excepción.

Como indicaron antes, o bien verificas el resultado, algo asi como:

if (Convert.IsDBNull(queriesTableAdapter.Getxxx(Usuario))) {
idUsuario = 0m;
}
else {
idUsuario = Convert.ToDecimal(queriesTableAdapter.Getxxx(Usuario));
}

o tambien podrias hacer esta validacion a nivel del script, por ejemplo en SQL:

select isnull(algun_valor_nuleable, 0)
from


Saludos,
Pedro Luna Montalvo, [MVP VB.NET]
Gye, Ecu

"Guillermo González A." <gugonzar(arroba)epm.net.co> escribió en el mensaje news:
Hola Abibiano,

Intenta con:

decimal idUsuario;
idUsuario = Convert.ToDecimal(queriesTableAdapter.GetIdUsuarioByUsuario(Usuario));

Guillermo G.


Guillermo González Arroyave :: MCP ASP.Net C# :: DCE4

"abibiano" wrote in message news:
Tengo una variable decimal que la quiero llenar con una consulta. El código es

decimal idUsuario;
idUsuario = (decimal)queriesTableAdapter.GetIdUsuarioByUsuario(Usuario);

El problema es que este método puede devolver un valor nulo si no existe el
usuario. ¿como puedo controla que si devuelve nulo asigne un 0 a idUsuario?
Respuesta Responder a este mensaje
#4 Alfredo Novoa
08/06/2005 - 13:58 | Informe spam
On Tue, 7 Jun 2005 06:12:01 -0700, "abibiano"
wrote:

Tengo una variable decimal que la quiero llenar con una consulta. El código es

decimal idUsuario;
idUsuario = (decimal)queriesTableAdapter.GetIdUsuarioByUsuario(Usuario);

El problema es que este método puede devolver un valor nulo si no existe el
usuario. ¿como puedo controla que si devuelve nulo asigne un 0 a idUsuario?



Lo mejor es evitar que la consulta devuelva nulos.

Por ejemplo podrías lograrlo usando COALESCE.


Saludos.
Respuesta Responder a este mensaje
#5 abibiano
09/06/2005 - 08:55 | Informe spam
Me han respondido en otro foro con una contestación que os puede interesar:

Si estais usando C# 2.0 (que es mi caso), existen los tipo que soportan
nulos. En mi caso el código seria:

decimal? userID = queriesTableAdapter.GetIdUsuarioByUsuario(Usuario);


"abibiano" wrote:

Tengo una variable decimal que la quiero llenar con una consulta. El código es

decimal idUsuario;
idUsuario = (decimal)queriesTableAdapter.GetIdUsuarioByUsuario(Usuario);

El problema es que este método puede devolver un valor nulo si no existe el
usuario. ¿como puedo controla que si devuelve nulo asigne un 0 a idUsuario?
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida