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 17-10-2008
Palmiro Palmiro is offline
Miembro
 
Registrado: oct 2005
Ubicación: Argentina - Chaco
Posts: 57
Poder: 19
Palmiro Va por buen camino
Error de integridad referencial

Hola amigos del foro....Estoy necesitando de su ayuda.

Estoy haciendo una aplicacion que se conecta a mysql(INNOBD), puesta en un servidor linux y las aplicaciones clientes estan en windows.
La conexion se estable por odbc con ADO y trabajo con ADODataSet.

He aqui el problema...
Cuando estoy haciendo in Insert en una tabla que esta relacionada con otra. Despues de hacer el Post, sale el error de que nose puede establecer la integridad referencial. Siendo esta bien referenciada con los datos.
He probado dar de alta con otra administradores de mysql, osea desde afuera de mi aplicación y no he tenido drama en dar de alta.

Espero que me hallan entendido lo que les comente...
Si alguien se ha encontrado con este problema y sabe la solucion o si alguien se da cuenta que me estoy pasando por alto por favor, no tarden en decirlo...

Desde ya muchas gracias.... estare espereando su respuesta....
__________________
No es lo mejor, pero es lo que hay...
Responder Con Cita
  #2  
Antiguo 17-10-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola, actualiza el controlador ODBC de MySQL tal vez se resuelva el problema.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 17-10-2008
Palmiro Palmiro is offline
Miembro
 
Registrado: oct 2005
Ubicación: Argentina - Chaco
Posts: 57
Poder: 19
Palmiro Va por buen camino
Gracias por la respuesta, pero el controlador no es, ya que esta instalado el ultimo que esta en la pagina de mysql (versión 5.1.5)
Ademas como comente anteriormente la aplicacion de administracion de mysql se conecta con el mismo conector y no hay drama...
__________________
No es lo mejor, pero es lo que hay...
Responder Con Cita
  #4  
Antiguo 17-10-2008
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Ok prueba lo siguiente

los campos que tengan llaves foráneas verifica que el valor que insertas exista en las tablas maestro.

has una inserción cuidando eso. y nos comentas el resultado. Saludos
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #5  
Antiguo 17-10-2008
Palmiro Palmiro is offline
Miembro
 
Registrado: oct 2005
Ubicación: Argentina - Chaco
Posts: 57
Poder: 19
Palmiro Va por buen camino
Hola poliburro.
He probado miles de veces y no logro dar con el problema.
Como escribi anteriormente. Desde la aplicacion no me deje insertar un nuevo registro que contenga claves o compos foraneos.
Hice lo siguiente...
Hice un alta desde Access y no tuve problemas. Tambien probe con RapidSQL (de la empresa Embarcadero soft) y tampoco hubo problema.
Revise una por una las consultas y la forma en que lo estoy haciendo, y no puedo hacer con el problemas...

Te doy mas detalle.... tengo por ej. una tabla persona, la cual se especializa en contratados y de planta, osea 3 tablas
para poder hacer un alta en contratados debe existir primero en persona.
En persona esta dada de alta un fulano. No deberia haber problema de ponerlo como contratado a fulano.
Pero al tratar de hacer, no me deja ya que me dice que hay error de integridad referencial....y la verdad me esta volviendo loco esto...

Si le sirve para ayudarme....
el codigo para el alta es

Código Delphi [-]
 
dsConstrado.DataSet.Insert;
frmContratado.ShowModal;
Una ves que se rellenaron los campos solicitados...

desde el formulario contradados
un boton con comandos

Código Delphi [-]
 
frmGestionContratado.dsPersona.DataSer.Post;
Close;

Luego Channnnn ERRRRROOOORR!!!!
__________________
No es lo mejor, pero es lo que hay...
Responder Con Cita
  #6  
Antiguo 17-10-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola me imagino que el último código es un error tipográfico ¿no?, ¿verificaste que las claves foráneas tengan el valor Cascade en On Update y On Delete?.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #7  
Antiguo 17-10-2008
Palmiro Palmiro is offline
Miembro
 
Registrado: oct 2005
Ubicación: Argentina - Chaco
Posts: 57
Poder: 19
Palmiro Va por buen camino
Si es error un error en tipeado...
Cuando me di cuenta ya esta la respuesta... perdon

Si estan las claves foráneas con Cascade en On Update.
__________________
No es lo mejor, pero es lo que hay...
Responder Con Cita
  #8  
Antiguo 20-10-2008
Palmiro Palmiro is offline
Miembro
 
Registrado: oct 2005
Ubicación: Argentina - Chaco
Posts: 57
Poder: 19
Palmiro Va por buen camino
amigos del foro aca les dejo el error, que me da cuando intento hacer un alta

Código Delphi [-]
 
Project Synapse.exe raised exception class EoleException with messge '[MySQL][ODBC 5,1 Driver][mysql-5.0.51a-12]Cannot add or update a child row: a foreign key constraint fails (`synapse/contratado`,CONSTRAINT `Refpersona46` FOREIGN KEY(`genero`,`dni`) REFERENCES `persona` (`genero`,`dni`) ON DELETE ON UPDATE CASCADE)'

Ya nose por donde mas mirar...
la verdad que nose que estoy haciendo mal...
__________________
No es lo mejor, pero es lo que hay...
Responder Con Cita
  #9  
Antiguo 20-10-2008
Palmiro Palmiro is offline
Miembro
 
Registrado: oct 2005
Ubicación: Argentina - Chaco
Posts: 57
Poder: 19
Palmiro Va por buen camino
amigos... asunto solucionado... estaba mal mi consulta...
gracias por su respuestas...
hasta pronto
__________________
No es lo mejor, pero es lo que hay...
Responder Con Cita
  #10  
Antiguo 20-10-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
EDITADO: Borrado por tardarme demasiado en contestar
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
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
integridad referencial Pollo2004 Varios 2 04-09-2008 21:10:24
integridad referencial Kamael Varios 3 28-01-2008 09:10:56
Integridad Referencial seara2005 Firebird e Interbase 6 15-05-2006 06:58:29
Integridad Referencial pablo Conexión con bases de datos 3 03-01-2004 14:02:53
Integridad referencial jdiazan Firebird e Interbase 3 07-07-2003 17:27:34


La franja horaria es GMT +2. Ahora son las 11:10:49.


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