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)
-   -   Con respecto a los dominios (https://www.clubdelphi.com/foros/showthread.php?t=79647)

rruffino 26-07-2012 02:14:09

Con respecto a los dominios
 
Hola gente, buenas a todos.
Tengo una inquietud, queria saber como puedo obtener en tiempo de ejecución los valores que puede tomar un dominio en particular. Por ejemplo, tengo un dominio que se llama Colectora, que es de tipo varchar de 40, en la clausula check yo pongo los valores que puede tomar. Mi necesidad es saber si en tiempo de ejecución desde Delphi puedo acceder a ver esos valores y mejor aún saber como hacer para modificar de manera persistente esos valores, principalmente agregando nuevos valores. Desde ya muchas gracias!

ecfisa 26-07-2012 02:28:06

Hola rruffino.

¿ Que SGBD estas utilizando?

Saludos.

rruffino 26-07-2012 03:56:30

Respuesta
 
Firebird 2.1 amigo.

ecfisa 26-07-2012 06:28:20

Hola rrufino.

Para los obtener nombres, tipos y valores de dominios podrías hacer:
Código SQL [-]
SELECT T1.RDB$FIELD_NAME AS F_NAME,
  CASE T1.RDB$FIELD_TYPE
    WHEN 7 THEN 'SMALLINT'
    WHEN 8 THEN 'INTEGER'
    WHEN 9 THEN 'QUAD'
    WHEN 10 THEN 'FLOAT'
    WHEN 11 THEN 'D_FLOAT'
    WHEN 12 THEN 'DATE'
    WHEN 13 THEN 'TIME'
    WHEN 14 THEN 'CHAR'
    WHEN 16 THEN 'INT64'
    WHEN 27 THEN 'DOUBLE'
    WHEN 35 THEN 'TIMESTAMP'
    WHEN 37 THEN 'VARCHAR'
    WHEN 40 THEN 'CSTRING'
    WHEN 261 THEN 'BLOB'
    ELSE 'UNKNOWN TYPE'
  END AS F_TYPE,
  T1.RDB$FIELD_LENGTH AS F_LENGTH,
  T1.RDB$FIELD_PRECISION AS F_PRECISION,
  T1.RDB$FIELD_SCALE AS F_SCALE
FROM RDB$FIELDS T1
WHERE NOT (RDB$FIELD_NAME LIKE 'RDB$%')
En cuanto a modificarlos, revisa este enlace: [ Alter domain ]

Saludos.


La franja horaria es GMT +2. Ahora son las 12:15:54.

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