Foros del Web » Programando para Internet » ASPX (.net) »

Evitando valores nulos desde la SQL en Access

Estas en el tema de Evitando valores nulos desde la SQL en Access en el foro de ASPX (.net) en Foros del Web. Buenos dias, Mi duda viene relacionada con Access. Yo, para extraer datos de la BD y sustituir los valores nulos por valores reales, de forma ...
  #1 (permalink)  
Antiguo 17/05/2006, 10:08
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
Evitando valores nulos desde la SQL en Access

Buenos dias,
Mi duda viene relacionada con Access. Yo, para extraer datos de la BD y sustituir los valores nulos por valores reales, de forma que nunca se devuelvan valores nulos, lo hago así en Access:

SELECT IIF(Nombre Is Null, '', Nombre) AS Nombre FROM Clientes...

En caso de SQL Server sería utilizando la funcion IsNull de SQLServer. En este caso uso la funcion IIF de Access.

Bien, pues ocurre que cuando aplicas un IIF en la consulta sobre un campo MEMO, el tio trunca la salida, limitándola a 255 caracteres, con lo que se pierde el resto de texto del campo MEMO.

No quiero tener que recorrer todo el DataSource obtenido, sustituyendo los valores nulos, porqué bajaría el rendimiento de la Pagina. Entonces, como hacen ustedes, en Access, para controlar los nulos en los campos Memo?

Gracias.
Un saludo a todos!
__________________
..:: moNTeZIon ::..
  #2 (permalink)  
Antiguo 17/05/2006, 19:22
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
la forma más normal sería hacer (si estás usando datareaders) algo así:

Cita:
resultado =
(DBNull.Value != dr["tu_campo"]) ? dr["tu_campo"].ToString() : "";
Con ello verificas que tu datareder no tenga valores nulos y en caso de encontrarlo coloques un valor vacío o lo que necesites..

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 18/05/2006, 01:36
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
Claro, ya tengo que estar pendiente, en todos los sitios desde los que se llame a la función, de comprobar en el resultado devuelto que no sean valores nulos... Es lo que queria evitar precisamente...
Yo queria que la SQL me devuelva los registros ya preparados, sin valores nulos.
Gracias por la idea RootK. Yo hasta ahora lo hacía así:

resultado = IIF(dr("tu_campo") = DBNull.Value, dr("tu_campo").ToString(), "")

Saludos.
__________________
..:: moNTeZIon ::..
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 02:52.