Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-12-2007
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 18
totote Va por buen camino
dbExpress + Constraint

Buenas, Hay alguna forma de saber que campos son PK o FK en una tabla desde dbExpress, por ejempo para otener las tablas de una base de datos y sus campos es:

Código PHP:
// Obtener Tablas
DataModule.SQLConnection.GetTableNames(ListBox1.Items,False);
// Obtener Campos
Tabla:= ListBox1.Items[ListBox1.ItemIndex];
DataModule.SQLConnection.GetFieldNames(Tabla,ListBox2.Items); 
Lo que necesito saber ahora es como se cuales campos son PK o FK. Saludos
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita
  #2  
Antiguo 22-12-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile RDB$Relation_Constraints

¡Hola a todos!

Totote: No especificas qué base de datos utilizas, ni la versión de Delphi / dbExpress, pero si por casualidad estuvieras trabajando con Firebird / InterBase, con esta consulta SQL puedes obtener los nombres de los campos de una tabla que constituyen llaves foráneas (FKs) —una de las dos cosas que buscas—.
Código SQL [-]
Select ISe.RDB$Field_Name From RDB$Index_Segments ISe

Inner Join RDB$Relation_Constraints RC
On RC.RDB$Index_Name = ISe.RDB$Index_Name

Where (RC.RDB$Relation_Name = :Tabla) And
(RC.RDB$Constraint_Type = 'FOREIGN KEY')
Mirando el contenido de la tabla RDB$Relation_Constraints, podrás descubrir fácilmente cómo obtener entonces los campos que son llaves primarias.

Confírmanos qué base de datos utilizas. En general, no dejes de retroalimentar el hilo. Gracias.

Un abrazo foráneo.

Al González.
Responder Con Cita
  #3  
Antiguo 22-12-2007
Avatar de totote
totote totote is offline
Miembro
 
Registrado: oct 2006
Posts: 150
Poder: 18
totote Va por buen camino
Ups!!! fue sin querer, Si la version de delphi es 2007, no se que versión de dbExpress será, y el motor de base de datos es firebird es 2.0, ahora pruebo esto que me estás diciendo, hay algun sitio para más información, nunca se me ocurrió buscar por el lado del motor, pero ahora lo haré tambien. Gracias por la ayuda Al
__________________
¡Oh nooo! no compartas, compartir es pirateria, compartir te llevara a la carcel - Revolution OS
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
crear constraint Johnny Q SQL 4 23-06-2005 22:55:50
drop constraint TJose Firebird e Interbase 2 21-12-2004 21:43:40
error de violation of foreign key constraint... en ibx Arturo Firebird e Interbase 1 07-12-2004 19:38:57
Obtener el nombre de la constraint que dio error jberaza Firebird e Interbase 1 04-10-2004 22:23:27
Constraint Unica lafirma Firebird e Interbase 7 14-08-2003 13:29:46


La franja horaria es GMT +2. Ahora son las 07:49:47.


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
Copyright 1996-2007 Club Delphi