Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como extraer field description de un campo? (https://www.clubdelphi.com/foros/showthread.php?t=52736)

rulo_m 29-01-2008 21:10:09

Como extraer field description de un campo?
 
Buenos dias, mi duda es como hacer para extraer el field description de un dado campo y mostrarlo en un dbedit, utilizo firebird 1.5 y delphi 2007

Gracias de antemano.

jhonny 29-01-2008 21:23:23

Asi captura la descripción de dicho campo, el resto solo es mostrarlo:

Código SQL [-]
select 
  RDB$DESCRIPTION 
from 
  RDB$RELATION_FIELDS
where 
  RDB$RELATION_NAME = 'Nombre_tabla' and
  RDB$FIELD_NAME = 'Nombre_Campo'

rulo_m 29-01-2008 21:28:01

asi de facil? :eek:

muchas gracias jhonny

rulo_m 30-01-2008 02:21:36

Ahh no podia ser tan facil!

despues de batallarle un rato resulto esto

Código SQL [-]
select f.RDB$DESCRIPTION
FROM  RDB$relations r
left join RDB$relation_fields f on (r.rdb$relation_name=f.rdb$relation_name)
where f.RDB$RELATION_NAME = 'TABLA' and RDB$field_name = 'CAMPO'

uff.. nunca me habia metido con estas tablas

ojala le sirva a alguien mas

jhonny 30-01-2008 13:48:43

Cita:

Empezado por rulo_m (Mensaje 262059)
Ahh no podia ser tan facil!

despues de batallarle un rato resulto esto

Código SQL [-]
select f.RDB$DESCRIPTION
FROM  RDB$relations r
left join RDB$relation_fields f on (r.rdb$relation_name=f.rdb$relation_name)
where f.RDB$RELATION_NAME = 'TABLA' and RDB$field_name = 'CAMPO'

uff.. nunca me habia metido con estas tablas

ojala le sirva a alguien mas

¿Porque no te funciono la que mostré?, veo que en la consulta que propones, sacas el valor del mismo campo y de la misma tabla, cuya tabla tiene un campo tambien llamado RDB$RELATION_NAME, el cual es el nombre de la tabla y RDB$FIELD_NAME el cual es el nombre del campo, por lo que no habria necesidad de hacer dicho Join... ¿Sera acaso la version del ODS?, ¿Sera que el ODS de FireBird 1.5 tenia la estructura que tu indicas y las del 2.0 tiene la que yo indico?, voy a investigar en este instante con una BD que tiene el ODS de FB 1.5.

jhonny 30-01-2008 13:57:54

Pues te cuento que estuve mirando en las dos BDs (Una con el ODS 10.1 y la otra con el ODS 11.1) y este asunto es igual... de hecho lo probé en las dos BD y me funciono bien, solo que hay que tener en cuenta que dichos valores (Nombre_tabla y Nombre_campo), siempre deben ser escritos en mayusculas o hacerle una pequeña "mejora" a la consulta para que nunca mas nos suceda...

Código SQL [-]
select 
  RDB$DESCRIPTION 
from 
  RDB$RELATION_FIELDS
where 
  RDB$RELATION_NAME = Upper('Nombre_tabla') and
  RDB$FIELD_NAME = Upper('Nombre_campo')

jhonny 30-01-2008 14:04:18

Ademas, hice una prueba de rendimiento de las dos consultas y la tuya tambien funciona, pero se demora 16ms, mientras que la que te mostré no me arroja ni un milisegundo, esto es debido a que el Join que estas empleando sobra en la consulta.

rulo_m 30-01-2008 18:20:04

Pues no se que sera.. pero muchas gracias por tomarte tantas moletias

De todos modos ahi esta.

De nuevo muchas gracias.

jachguate 30-01-2008 18:38:41

¡claro que no hace falta el join!

Como lo veo, debiera funcionar tal como publicó jhonny la consulta originalmente.

Hasta luego.

;)

jhonny 30-01-2008 19:04:05

Cita:

Empezado por jachguate (Mensaje 262172)
¡claro que no hace falta el join!

Como lo veo, debiera funcionar tal como publicó jhonny la consulta originalmente.

Hasta luego.

;)

Definitivamente creo que es porque quizá rulo_m no estaba pasando los valores nombre_tabla y nombre_campo en mayusculas.

rulo_m 30-01-2008 20:34:15

Cita:

Empezado por jhonny (Mensaje 262179)
Definitivamente creo que es porque quizá rulo_m no estaba pasando los valores nombre_tabla y nombre_campo en mayusculas.

Brujo Birria!! jeje
Este.. despues de checar.. hmm creo que si habia minusculas por ahi.. :p
(soy.. como que nuevo en esto de delphi y firebird)
y tienes toda la razon... Tu consulta anda perfecto

jhonny 30-01-2008 21:10:25

Cita:

Empezado por rulo_m (Mensaje 262208)
Brujo Birria!! jeje

Acaso no haz leido las politicas de privacidad?, ellas dicen claramente que todo el que se incriba al club automaticamente acepta que se le instale una camara oculta en su casa :D:rolleyes::D

rulo_m 30-01-2008 21:18:48

oops y yo programando en calzones!!!

jhonny 30-01-2008 21:44:22

Cita:

Empezado por rulo_m (Mensaje 262228)
oops y yo programando en calzones!!!

Ahora si me haz hecho reir :D. En todo caso, que bueno que te haya funcionado el asunto.


La franja horaria es GMT +2. Ahora son las 08:37:55.

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