Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   saber si el campo es calculado (https://www.clubdelphi.com/foros/showthread.php?t=51016)

jzginez 04-12-2007 20:28:54

saber si el campo es calculado
 
Hola amigos, estoy usando delphi 7, firebird 1.5, y las fibplus.
Tengo la siguiente tabla:
Código SQL [-]
Create tabla prueba (
ID Integer no null,
Nombre varchar(30),
APaterno Varchar(30),
AMaterno varchar(30),
nomape computed by Nombre||' '||APaterno||' '||AMaterno)
en delphi en tiempo de ejecución genero la siguiente consulta:
Código Delphi [-]
pFIBDataSet1.close;
pFIBDataSet1.selectSQL.add('select * from Prueba');
pFIBDataSet1.open;

ahora bien lo que necesito es como saber cuales campos son calculado (en este caso NOMAPE) ya que en este campo el usuario no puede escribir datos.


Gracias

jhonny 04-12-2007 20:54:58

Si quieres saber si un campo es editable o no, puedes hacer lo siguiente:

Código SQL [-]
select RDB$UPDATE_FLAG from RDB$RELATION_FIELDS where RDB$FIELD_NAME=UPPER('Nombre_del_campo') and RDB$RELATION_NAME=UPPER('Nombre_de_la_tabla')

Si es 0 no es editable, si es 1 si es editable :).

Pero si en realidad quieres saber si un campo es Computed, puedes hacer la siguiente consulta...

Código SQL [-]
select C.RDB$COMPUTED_SOURCE from RDB$FIELDS C, RDB$RELATION_FIELDS R
where C.RDB$FIELD_NAME = R.RDB$FIELD_SOURCE and R.RDB$FIELD_NAME=UPPER('Nombre_del_campo') and R.RDB$RELATION_NAME=UPPER('Nombre_de_la_tabla')

Si el resultado es Null, es porque dicho campo no es Computed, por el contrario... si el campo tiene algo es porque si es Computed :).

jzginez 04-12-2007 23:44:54

Gracias Jonny


La franja horaria es GMT +2. Ahora son las 01:42:45.

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