| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
rauls66 Lt Cmdr

Registrado: 20 Abr 2008Mensajes: 119
|
Publicado: Mie 15 Feb, 2012 7:29 pm Asunto: Comprobar si existe un campo de la tabla |
|
|
Hola a todos, a ver si alguien sabe la respuesta. Tengo un programa que crea tablas paradox con unos campos definidos. Estas tablas se editan y guardan por el usuario. En cierto momento he tenido que añadir un campo nuevo. El problema sucede cuando el usuario recoge los datos de una tabla creada con anterioridad la cual no contiene este campo. El programa la abre sin problemas, pero hay un momento que intento leer el campo que no existe y evidentemente da error. El problema es que no consigo interrogar al objeto tabla si existe ese campo o no.
Por ejemplo, en una parte del programa leo el valor:
Table->FieldByName("nuevoCampo")->AsString;
Aquí como no existe nuevoCampo falla. Pero por más que intento identificar si existe no lo consigo, siempre me da error al intentar leer la información.
He probrado cosas como:
if(Table->FieldByName("nuevoCampo")->IsNull)
o
if(Table->FieldByName("nuevoCampo")->Value.IsNull())
o
if(Table->FieldByName("nuevoCampo")->AsString.IsEmpty())
Y todas con el mismo problema, da error al intentar leer el campo.
Un saludo. |
|
| Volver arriba |
|
 |
Touchsoftwares Master


Registrado: 16 Dic 2002Mensajes: 869Ubicación: MEXICO Playa del Carmen
|
Publicado: Jue 16 Feb, 2012 3:01 am Asunto: |
|
|
| Código: |
bool bExiste=false;
for(int i = 0; i <qry>FieldCount; i++) // Recorre todos los campos de query o Table
if(UpperCase(qry->Fields->Fields[i]->FieldName)=="tucamponuevo")
bExiste=true;
if(!bExiste)
{
// No esta en la tabla, solucionalo
}
|
_________________ Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc
http://www.touchsoftwares.com |
|
| Volver arriba |
|
 |
|