Foros del Web » Programación para mayores de 30 ;) » .NET »

Puedo asignar valor Null a un entero?

Estas en el tema de Puedo asignar valor Null a un entero? en el foro de .NET en Foros del Web. Recojo algunos campos de base de datos de tipo numerico que pueden ser nulos. Como le asigno valor nulo a una variable de tipo entero ...
  #1 (permalink)  
Antiguo 04/11/2005, 06:43
Avatar de txarly  
Fecha de Ingreso: marzo-2003
Ubicación: Eibar (Gipuzkoa)
Mensajes: 455
Antigüedad: 21 años, 1 mes
Puntos: 2
Puedo asignar valor Null a un entero?

Recojo algunos campos de base de datos de tipo numerico que pueden ser nulos.

Como le asigno valor nulo a una variable de tipo entero en .NET?


int Tipo = dataReader.GetInt32(dataReader.GetOrdinal("int_tip o"));

Si el campo contiene un <NULL> no puedo asignar el valor
__________________
¿Por qué Uri Geller doblaba cucharas?
  #2 (permalink)  
Antiguo 04/11/2005, 06:56
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Todo lo que le asignas a una variable de un tipo, debe ser de ese tipo.

Para lo que tu quieres, quizás deberías preguntar antes si el valor de la BD es nulo, y en tal caso actuar en consecuencia, pero no podrás asignarle un nulo.

Saludos.
__________________
..:: moNTeZIon ::..
  #3 (permalink)  
Antiguo 04/11/2005, 07:47
Avatar de Hell08  
Fecha de Ingreso: enero-2005
Mensajes: 174
Antigüedad: 19 años, 3 meses
Puntos: 0
y como podria verifiacar que justo ese campo es null?

saludos.
__________________
existen 10 tipos de personas los que entienden los numeros binarios y los que no :cool:
  #4 (permalink)  
Antiguo 04/11/2005, 09:32
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
seria mejor que validaras la salida desde la consulta...

si estas utilizando sql server...seria algo como:

select isnull(micampo, 0) from miTablaSql

en donde esta el cero puedes incluir cualquier valor que requieras... asi cuando sea nulo el campo te devolvera el valor que definiste...

no es recomendable trabajar con nulos...

un saludo
  #5 (permalink)  
Antiguo 04/11/2005, 10:10
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Como bien dice Andres95, esa es la mejor opcion, así te despreocupas en tu codigo, del tema este.
De todas formas, si deseas comprobar desde código, seria algo así con un DataReader:

Dim miNum as Integer
miNum = iif(dR(0) is DBNull.value,0,dR(0))

Donde dR(0) es el dato del campo 0 del datareader. El iif devuelve el 0 en caso que la condicion sea verdadero, ò dR(0) en caso que la condición sea false.

Un saludo!
__________________
..:: moNTeZIon ::..
  #6 (permalink)  
Antiguo 04/11/2005, 10:13
Avatar de lucxx  
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 321
Antigüedad: 20 años, 5 meses
Puntos: 0
En Visual Basic .Net 2.0 existe el tipo Nullable Of, que permite hacer eso:
Ej: Dim codigo As Nullable Of Integer, pero con versiones anteriores hazlo como dice Andres95
__________________
Salu2

www.pcealcala.net
  #7 (permalink)  
Antiguo 04/11/2005, 13:43
Avatar de Hell08  
Fecha de Ingreso: enero-2005
Mensajes: 174
Antigüedad: 19 años, 3 meses
Puntos: 0
aqui otra opcion:
If not r.IsDBNull(2) then
r.getString(2)
end if

ahi sabes si el campo recogido desde el datareader es nulo o no.

saludos.
__________________
existen 10 tipos de personas los que entienden los numeros binarios y los que no :cool:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:44.