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 12-09-2011
bgespada bgespada is offline
Registrado
NULL
 
Registrado: ago 2011
Posts: 6
Poder: 0
bgespada Va por buen camino
.IsNull no me funciona

Hola

No soy un experto en delphi 7 y me encuentro con un problema.

Intento utilizar:

if not DBgenvlg.FieldByName(genvlgNomRobot).IsNull then

para ver si el registro es NULL de un objeto TTable y siempre me da false sea o no un valor NULL.

Consulta completa:
if not DBgenvlg.FieldByName(genvlgNomRobot).IsNull then
sNomRob := DBgenvlg.FieldByName(genvlgNomRobot).Value //Nombre
else
sNomRob := 'error'; //Nombre

¿Que estoy haciendo mal?
Llevo peleándome unas horas y buscando información, pero no tengo éxito.
Si alguien puede echarme un cable, muchas gracias.
Responder Con Cita
  #2  
Antiguo 12-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola y bienvenido a los foros de Club Delphi

Si no cometiste omisión de caracteres al escribir, el problema es la sintáxis.

Debería ser:
Código Delphi [-]
  if not DBgenvlg.FieldByName('genvlgNomRobot').IsNull then
Es decir que el nombre de campo va entre ' '.
Lo extraño es... ¿ Tenés además alguna variable llamada genvlgNomRobot ? y si el nombre del campo lo envias como valor de una variable ¿ Está correctamente asignado ?

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 12-09-2011 a las 20:30:20.
Responder Con Cita
  #3  
Antiguo 13-09-2011
bgespada bgespada is offline
Registrado
NULL
 
Registrado: ago 2011
Posts: 6
Poder: 0
bgespada Va por buen camino
Gracias

Las comillas no son necesarias ya que es una variable que contiene el nombre del campo en string.

Creo que el problema es que la base de datos (que me han suministrado) no permite campos null. Al menos es de lo último que he leído por la web y es una vía para seguir buscando el problema.

Gracias de nuevo
Responder Con Cita
  #4  
Antiguo 13-09-2011
bgespada bgespada is offline
Registrado
NULL
 
Registrado: ago 2011
Posts: 6
Poder: 0
bgespada Va por buen camino
Hola de nuevo.

He conseguido solucionar el problema de la siguiente manera:

1º Añadiendo la unit Variants y

2º con la siguiente condición:
Código Delphi [-]
  if DBgenvlg.FieldValues[genvlgNomRobot] <> null then
    sNomRob := DBgenvlg.FieldByName(genvlgNomRobot).Value //Nombre
  else
    sNomRob := 'error'; //Nombre

Funciona!
¿Es igualmente correcto que utilizar .IsNull?
Responder Con Cita
  #5  
Antiguo 13-09-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por bgespada Ver Mensaje
¿Es igualmente correcto que utilizar .IsNull?
Hola.

Si, por que la comprobación ( if DBgenvlg.FieldValues[genvlgNomRobot] = null ) tiene el mismo efecto que IsNull.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 13-09-2011 a las 13:45:08.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
funciona bien en windows 7 64b pero en XP no funciona ASAPLTDA Varios 5 06-05-2011 16:24:50
$L .Obj no funciona rastafarey Varios 2 09-01-2009 19:47:09
IsNull para Firebird betto SQL 4 30-05-2008 18:17:22
Como hacer: Select * from Where IsNull(Campo) sitrico SQL 2 04-02-2004 22:27:02
problema con DBGRID.selectedfield.isnull gloritavn Varios 3 20-09-2003 11:20:43


La franja horaria es GMT +2. Ahora son las 22:12:58.


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