Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-11-2005
pyanqn pyanqn is offline
Miembro
 
Registrado: oct 2005
Posts: 54
Poder: 19
pyanqn Va por buen camino
Question Comparando valores nulos

Hola. tengo una base de datos, y una table que puede contener valores de fecha nulos, ahora es necesario conocer si el valor contenido en el campo es nulo o no, la pregunta es como comparo valores nulos?

[delphi]

if (datasource.dateset['fecha'] = Null )then

[delphi/]

Esto no funciona.
Responder Con Cita
  #2  
Antiguo 09-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Tienes varias formas:
Código Delphi [-]

if varIsNull(datasource.dateset['fecha'] ) then 
  showmessge('nulo');

if datasource.dateset['fecha'].IsNull then 
  showmessge('nulo');

Para el primer método, tienes que añadir el Uses Variant;

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 09-11-2005
pyanqn pyanqn is offline
Miembro
 
Registrado: oct 2005
Posts: 54
Poder: 19
pyanqn Va por buen camino
funciona igual si lo que tengo es un Query, en lugar de un datasource?
Responder Con Cita
  #4  
Antiguo 09-11-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por pyanqn
funciona igual si lo que tengo es un Query, en lugar de un datasource?
Editar/Borrar Mensaje
la propiedad DataSet de cualquier datasource es, en efecto, un TDataSet, y TQuery es un TDataset.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 15-11-2005
pyanqn pyanqn is offline
Miembro
 
Registrado: oct 2005
Posts: 54
Poder: 19
pyanqn Va por buen camino
Tengo un problemita, ¿acaso esta funcion varisNull, booleana trabaja con logica inversa?

Para ver si un campo era nulo, era un campo de fecha, hice:

Código Delphi [-]

if not VarIsnull(algo) then
//Aqui un error
Responder Con Cita
  #6  
Antiguo 15-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Y ¿ese algo que es? porque dependiendo de lo que pongas, tiene un significado u otro.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #7  
Antiguo 15-11-2005
pyanqn pyanqn is offline
Miembro
 
Registrado: oct 2005
Posts: 54
Poder: 19
pyanqn Va por buen camino
lo que en realida estoy haciendo es:

Código Delphi [-]

if VarIsNull (DataSource1.dataset['FECHA'].asDate) then
      messagedlg('No se puede cambiar la fecha');
Responder Con Cita
  #8  
Antiguo 15-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por pyanqn
lo que en realida estoy haciendo es:

Código Delphi [-]

if VarIsNull (DataSource1.dataset['FECHA'].asDate) then
      messagedlg('No se puede cambiar la fecha');
Y lo que quieres es....?

No se si no estoy captando
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #9  
Antiguo 15-11-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Cita:
Empezado por pyanqn
Para ver si un campo era nulo, era un campo de fecha, hice:
Código Delphi [-]
 if not VarIsnull(algo) then
//Aqui un error
__________________
No todo es como parece ser...

Última edición por lucasarts_18 fecha: 15-11-2005 a las 18:39:27.
Responder Con Cita
  #10  
Antiguo 15-11-2005
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por pyanqn
lo que en realida estoy haciendo es:

Código Delphi [-]

if VarIsNull (DataSource1.dataset['FECHA'].asDate) then
      messagedlg('No se puede cambiar la fecha');
La propiedad AsDate de un TField no devuelve un variant, devuelve un TDateTime, por tanto, jamás devolverá un nulo.

Podes comprobar entonces, DataSource1.DataSet['FECHA'].IsNull o bien VarIsNull(DataSource1.DataSet['FECHA'].Value)

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 04:15:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi