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

#6 Octavio Hernandez
09/06/2005 - 22:44 | Informe spam
Si hubieras avisado... :-)
Efectivamente, los tipos anulables son perfectos para esto...

Salu2 - Octavio

"abibiano" escribió en el mensaje
news:
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
#7 Eduardo A. Morcillo [MS MVP VB]
10/06/2005 - 04:22 | Informe spam
Comentario: aunque no es exactamente lo mismo que lo nullable types, con las
versiones anteriores a la 2.0 se pueden usar los tipos de
System.Data.SqlTypes los cuales se comportan de manera similar. Por ejemplo:

SqlInt32 enteroNullable;
int entero = 1;

// asignar desde entero
enteroNullable = entero;

// comprobar si no es nulo y
// asignar a entero
if(!enteroNullable.IsNull)
entero = (int) enteroNullable;

// asignar nulo
enteroNullable = SqlInt32.Null;

Si se usa SqlDataReader se pueden obtener los campos directamente en estos
tipos.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
Respuesta Responder a este mensaje
#8 Octavio Hernandez
11/06/2005 - 09:35 | Informe spam
Hola, Eduardo!

Sí efectivamente esto ya existe, pero nunca me pareció muy atractivo... Sin
embargo los tipos anulables sí me parecen una idea genial, y ya me he
apuntado.
Por cierto, ¿habrá tipos anulables también en VB.NET 2005, no? ¿Cómo será la
sintaxis?

Salu2 - Octavio

"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> escribió en el
mensaje news:
Comentario: aunque no es exactamente lo mismo que lo nullable types, con
las versiones anteriores a la 2.0 se pueden usar los tipos de
System.Data.SqlTypes los cuales se comportan de manera similar. Por
ejemplo:

SqlInt32 enteroNullable;
int entero = 1;

// asignar desde entero
enteroNullable = entero;

// comprobar si no es nulo y
// asignar a entero
if(!enteroNullable.IsNull)
entero = (int) enteroNullable;

// asignar nulo
enteroNullable = SqlInt32.Null;

Si se usa SqlDataReader se pueden obtener los campos directamente en estos
tipos.

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