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 Temas de Hoy

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: 28
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: 27
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: 28
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: 27
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



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 12:38:07.


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