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 27-04-2005
romansiux romansiux is offline
Miembro
 
Registrado: mar 2005
Posts: 33
Poder: 0
romansiux Va por buen camino
Problemas con las relaciones

Hola que tal a todos...
Les agradeceria muchisimo su ayuda...
Estoy trabajando con Delphi7 y mi Base de Datos esta en Mysql 4.0.18,
Tengo una tablaPadre con su id_llav (que se va auto incrementando) y una tablaHija, con su llave foranea id_llav.
Tengo un Form donde capturo la informacion de la Tabla Padre por medio de DBEdiths y de la Tabla Hija capturo la informacion por medio de un DBGrid, en la tablaHija en la propiedad cahedUpdate la tengo en true, para que los datos que tenga en el DBGrid me los guarde en Cache.

Pero el problema es cuando Le doy al boton de (guardar todo), si me guarda bien en la TablaPadre, pero en la TablaHija no me guarda el id de la TablaPadre, no se hace la relacion, como puedo hacerla, ya intente con MasterSource y MasterFields pero al momento de guardar es como si no se hiciera nada en la TablaHija.

Tambien en el evento de la tablaHija, en BeforePost le tengo esto: TablaHija.value:=TablaPadre.value;


Este es el codigo del Boton para Guardar:

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if MessageDlg('DESEA GUARDAR LOS CAMPOS',mtInformation,[mbOK,mbCANCEL],0)=mrok THEN
begin
TablaPadre.Post;
TablaHija.ApplyUpdates;
end
else
begin
ShowMessage('NO SE GUARDO NINGUN REGISTRO');
end
end;

Saludos...
Y Gracias
Responder Con Cita
  #2  
Antiguo 27-04-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Qué componentes usas para acceder a MySql?

Intenta hacer un TablaPadre.Refresh luego del Post y antes del ApplyUpdates.

Otra cosa a intentar es tomar el valor del campo autoincremental directamente de MySql lanzando la consulta

Código SQL [-]
select last_insert_id()

inmediatamente después del Post y usando el valor devuelto para el campo foráneo en la tabla hija antes del ApplyUpdates.

// Saludos
Responder Con Cita
  #3  
Antiguo 27-04-2005
romansiux romansiux is offline
Miembro
 
Registrado: mar 2005
Posts: 33
Poder: 0
romansiux Va por buen camino
Gracias Roman por responderme
Para hacer la conexion a msql instale primero el MaiDac para delphi7, y ya me aparece un nuevo componente de MyConexion y luego por el componente de mytable hago la conexion a mis tablas de mysql,

Perdón, Me falto decirte que en la tablaHija al momento de meterle varios registros, y al guardarlos si me pone la llave en el campo id foraneo pero nadamas en el ultimo registro que capturo en el DBGrid, y en todos los demas me pone ' 0 '. como que si me respeta la relacion pero nadamas para el ultimo campo que capturo en el DBGrid y en todos los demas me pone cero.

Que podria ser Roman.. o como le puedo hacer

Saludos y Gracias...
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


La franja horaria es GMT +2. Ahora son las 02:47:11.


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