Ver Mensaje Individual
  #5  
Antiguo 01-06-2016
jarlos jarlos is offline
Registrado
 
Registrado: sep 2006
Posts: 8
Reputación: 0
jarlos Va por buen camino
Hola Soa...

Respuesta corta:

Ahorita no recuerdo dónde se implementa el fragmento de código que publiqué, en la ayuda de los FireDAC lo puedes encontrar, realmente dejé los FireDAC en segundo plano.



Respuesta larga:

Después del problema por el cual inicié este post me topé con muchos más y es debido a la forma en la que funcionan los FireDAC.

Al final, y para simplificar las cosas, opté por dejar en segundo plano los componentes FireDAC y utilizarlos básicamente para control de conexión a bases de datos. Con ellos puedo tener la facilidad de cambiar de Sistema Gestor de Base de datos sin mucho (o ningún) esfuerzo en el código fuente. Opté también por mezclar un poco de Datasnap con FireDAC, haciendo relaciones maestro/detalles con ClientDataSets anidados (nested). Dejé el trabajo a los TClientDataSet para que los usuarios "jugaran" todo lo que quisieran con sus datos (maestros/detalles), al TDataSetProvider el trabajo de empaquetar/desempaquetar los detalles anidados y generar las consultas necesarias para inserciones, modificaciones y borrados de datos, y al TFDQuery el trabajo de ejecución de sentencias/consultas en la base de datos.

Código fuente sobre Datasnap puedes conseguir mucho en la web, incluso conseguirás ejemplos y tutoriales de cómo implementar Datasnap para aplicaciones multicapas (n-tier).

Si quieres conocer más, te sugiero que comiences con Datasnap (, DBExpress o FireDAC) y ClientDataSets anidados.

Bob Swart tiene buenos artículos y tutoriales en la web, además de vídeos en youtube.

Recientemente leí un libro de Cary Jensen sobre ClientDataSets y aquí publicó un artículo explicativo con ejemplos:

edn.embarcadero.com/article/29825

En ese artículo se explican dos formas de relacionar maestros/detalles con ClientDataSets anidados. Usa el modelo "maletín", es decir, solo ClientDataSets sin conexión a bases de datos.



Espero haber sido de ayuda.


Saludos.
Responder Con Cita