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)
-   -   Error Firebird (https://www.clubdelphi.com/foros/showthread.php?t=31881)

joanajj 20-05-2006 14:47:29

Error Firebird
 
Buenas a todos, tengo el siguiente error en una aplicación delphi:

Uso Firebird..

Creo dos tablas con la Trial de SQL Manager donde relaciono masetro y detalle de la siguiente manera.

Tabla1

campo NUMERO integer clave primaria

tabla 2

campo NUMERO integer clave primaria y clave Foranea(apuntando a Numero de Tabl1)

Al crear la aplicación de prueba en DElphi 7 y poner los dataset ,dbgrid y demás(FIBplus trial). Introduzco datos en la tabla maestro y bien, pero al itroducir datos en la detalle tengo este error:

violation de Foreing Key contrait "FK_tabla2" on table tabla2 foreign key reference target does not exist

sabría alguien decirme la posible causa, estoy empezando con fierbird y ando perdido.

Gracias

celades1 20-05-2006 17:43:09

Hola

En el evento afterinsert o en el beforepost de tabla2 pon
tabla2numero.asinteger=tabla1numero.asinteger y si tienes bien hecho el FK tiene que funcionar

Saludos

Lepe 20-05-2006 17:50:59

Yo uso el Ib Expert que en su version personal es Free.

Tambien los MDOLIB
que son OpenSource.

Saludos

joanajj 20-05-2006 21:24:09

sigue sin funcionar
 
buenas de nuevo; he hecho lo que me habeis dicho y no funciona:

las claves estän definidas como sigue:

En tabla1:

NUMERO es Clave primaria e índice UNIQUE

En tabla2

NUMERO es clave foranea(a NUMERO en tabla1) e índice NO UNIQUE

y al hacer lo que me decís sigo con el error mencionado al principio.

La idea era hacer dos tablas relacionadas maestro-detalle de forma que un factura maestra por ej.1000, tenga un detalle con varias lineas de esa factura 1000. Sin enrrollarme, una simple factura.

Si me podéis ayudar un poco más... Gracias

celades1 21-05-2006 13:01:24

Hola

Las FK no fallan nunca, yo quiza tengo 1000 creadas en mi aplicación

revisa la manera como la creas

este seria el codigo de creacion desde culquier consola Ibexpert o cualquier otra, y luego en delphi lo que te puse en mi anterior respuesta, y luego revisa bien los dataset la propiedades updatesql, insertsql, pero lo que esta claro que tienes un error en delphi o en la creacion de la FK.

Código SQL [-]
alter table TABLA2
add constraint NUMERO_TABLA2_FK
foreign key (NUMERO)
references TABLA1(NUMERO)
on update CASCADE


Saludos

joanajj 23-05-2006 01:12:53

gracias
 
Gracias, por la respuesta..


La franja horaria es GMT +2. Ahora son las 23:22:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi