PDA

Ver la Versión Completa : Problemas con las relaciones


romansiux
27-04-2005, 00:52:36
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

roman
27-04-2005, 01:44:26
¿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


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

romansiux
27-04-2005, 15:39:32
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...