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

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 16-08-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

¡Hola a todos!

Cita:
Empezado por GuerreroDelphi Ver Mensaje
Deseo capturar la información relacionada a una excepción en firebird desde Delphi 5. Por ejemplo, si trato de eliminar un registro que es llave foránea, necesito saber las tablas en la que aparece dicha llave, y si es posible también saber información acerca del registro relacionado.
Si alguien me puede colaborar, le agradezco enormemente.
En el mensaje de error "violation of FOREIGN KEY constraint "X"", X es el nombre de la llave foránea. Extraigo ese nombre que está entre comillas dobles para hacer una consulta en los metadatos (Firebird 1.5 y otras versiones).

Normalmente el índice de la llave foránea se llama igual que ésta. Así que, en ese caso, puede hacerse la consulta:
Código SQL [-]
  Select RDB$Relation_Name From RDB$Indices Where RDB$Index_Name = 'X'
Para obtener el nombre de la tabla que tiene esa llave foránea. Y para obtener el nombre del primer campo relacionado con ese índice:
Código SQL [-]
  Select RDB$Field_Name From RDB$Index_Segments Where
    (RDB$Index_Name = 'X') And (RDB$Field_Position = 0)

Esto lo escribí a botepronto, porque ya me retiraba a dormir. Mas espero pueda serte de utilidad.

Un meta abrazo.

Al González.
Responder Con Cita
 



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
Capturar una excepcion en Delphi producida por FIREBIRD ronson Firebird e Interbase 21 01-09-2010 21:18:10
Capturar la excepcion EAccessViolation beatriz g Varios 2 25-08-2006 10:49:16
Capturar informacion de balanza electronica zugazua2001 Varios 1 09-07-2006 20:23:58
Capturar excepcion formato datos DBGrid manolop Firebird e Interbase 1 13-05-2005 23:43:00
Cantidad de Informacion en Firebird Choclito Firebird e Interbase 9 27-10-2004 20:37:27


La franja horaria es GMT +2. Ahora son las 08:11:17.


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