![]() |
.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. |
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: 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. |
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 |
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:
Funciona! ¿Es igualmente correcto que utilizar .IsNull? |
Cita:
Si, por que la comprobación ( if DBgenvlg.FieldValues[genvlgNomRobot] = null ) tiene el mismo efecto que IsNull. Saludos. |
La franja horaria es GMT +2. Ahora son las 07:34:31. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi