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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Consulta: Maestro/Detalle, CachedUpdates

Hola compañeros.

Antes de comenzar: Delphi7 y Firebird 2.1.

Tengo dos IBDataSets en relación maestro/detalle. Les adjunto los campos significativos para clarificar:

Código Delphi [-]
// CAMPOS DEL MAESTRO
  tbMaes: TIBDataSet;
  tbMaes_ID: TIntegerField;
  tbMaesCod: TIBStringField;      //  NOT NULL  
  tbMaesFec: TDateTimeField;      //  NOT NULL
//  ...
// CAMPOS DEL DETALLE
  tbDetal: TIBDataSet;            
  tbDetal_ID: TIntegerField;      // NOT NULL 
  tbDetalRDia: TIntegerField;     // NOT NULL REFERENCES (tbMaes) 
  //...

Tengo que ingresar y guardar los campos del archivo detalle antes de que todos los campos del maestro
hayan sido completados, así lo requiere el ingreso.
Bástaría con hacer un post y un edit antes de guardar el detalle para funcionar correctamente,
pero se dispara lógicamente una excepción por no estar ingresados los campos "not null" en el maestro.

La solución que encontré, fue Activar CachedUpdates en los IBDataSets Maestro y detalle, para poder
realizar el post y evitar la excepción, ya que todavía los datos no han sido enviado al servidor.

Luego al guardar los IBDataSets involucrados hice:
Código Delphi [-]
  tbDetal.DataSource:= nil;
  IBDatabase.ApplyUpdates([tbMaes,tbDetal]);
  IBTransaction.CommitRetaining;
  tbDetal.DataSource:= dsMaes;

Funciona bién. Pero me queda la duda si es buena manera de hacerlo o si existe otra opción...

Espero haber sido claro y gracias por leer estas líneas.

Saludos.

Última edición por ecfisa fecha: 28-08-2010 a las 22:34:08.
Responder Con Cita
 



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
Consulta maestro/Detalle (TibTable) mantraxer21 Varios 10 24-08-2010 20:51:07
Consulta maestro detalle. jplj SQL 5 30-05-2007 20:24:14
Consulta sobre maestro detalle ilichhernandez Conexión con bases de datos 0 18-05-2007 19:13:06
Problema con consulta en Maestro-Detalle TrUnkS SQL 2 11-10-2006 00:20:47
Consulta Maestro Detalle Acker SQL 1 10-07-2006 19:25:58


La franja horaria es GMT +2. Ahora son las 03:09: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