PDA

Ver la Versión Completa : saber si el campo es calculado


jzginez
04-12-2007, 20:28:54
Hola amigos, estoy usando delphi 7, firebird 1.5, y las fibplus.
Tengo la siguiente tabla:

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:

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:


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...


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