Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-05-2006
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 20-05-2006
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Poder: 19
celades1 Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 20-05-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Yo uso el Ib Expert que en su version personal es Free.

Tambien los MDOLIB
que son OpenSource.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 20-05-2006
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
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
Responder Con Cita
  #5  
Antiguo 21-05-2006
celades1 celades1 is offline
Miembro
 
Registrado: ago 2005
Posts: 116
Poder: 19
celades1 Va por buen camino
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
Responder Con Cita
  #6  
Antiguo 23-05-2006
joanajj joanajj is offline
Miembro
 
Registrado: jul 2003
Posts: 144
Poder: 21
joanajj Va por buen camino
gracias

Gracias, por la respuesta..
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
Firebird 2.0 Beta Error jwmoreira Firebird e Interbase 1 07-12-2005 17:45:11
Error feo en firebird rastafarey Firebird e Interbase 5 02-12-2005 14:45:07
Caracter ' error en firebird Trigger Firebird e Interbase 6 06-08-2005 01:30:36
error Select firebird 1.5 ale21alito Firebird e Interbase 2 25-04-2005 20:20:03
Error mio o bug de Firebird? TJose Firebird e Interbase 3 18-04-2005 15:29:17


La franja horaria es GMT +2. Ahora son las 08:20:48.


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