![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#5
|
|||
|
|||
|
Al!!! Sos la primer persona que entiende mi problema y me da una posible solución!! Mil gracias!!!
En realidad, no trabajo con Datasnap, sino con dbExpress, y estoy haciendo unas clases para poder heredar a partir de ellas. Me basé en este link que me sirvió muchisimo. Hice la capa de acceso a datos con un DM y un TSQLQuery y le puse TBusinessObjectDM. Luego un DM con dos TDataSetProvider y dos TClientDataSet, uno para listar todos los registros de la tabla y otro para levantar exclusivamente el registro a editar, a este DM le puse TBusinessObject. De estos 2 objetos voy a heredar el resto de mis Entidades del Negocio. Hasta acá todo bien, hasta que quise implementar un TBusinessObjectMD (master/detail) que me encontré con este problema. Por más que sea "norma", no me parece bonito nombrar un campo con el nombre de la tabla. O sea, que la tabla Clientes, tenga como ID el campo IDCliente. Al trabajar de esta forma, puedo asumir que todas las tablas tienen un campo ID que identifica a cada registro, me parece lo más coherente. Luego los fk si son nombres compuestos, como por ejemplo IDMASTER para apuntar a la tabla MASTER. No soy muy amigo de redefinir métodos ni de persistir campos, así que voy a ver de "automatizar" las ProviderFlags, especificandole al DM la FK. Lo que me está frenando ahora es que no puedo hacer Select *, id as idmaster from master where id=123 Alguna idea? no quiero tener que andár poniendo todos los campos en el sql (porque si agrego un campo a la tabla, tengo que andar tocando en varios lugares)Tambien me pasaron una solución que es utilizar otro componente al que se le puede especificar la relación, pero no me puse a verlo:
Bueno, me tomé mi tiempo para responder, quise ponerle la misma dedicación que le pusiste! Ahora ya estoy encaminado y salí del pozo en el que estaba desde hace unos dias y no me permitia dormir... voy a ponerme a analizar cual es la mejor solución y la comparto. Saludos! Pablo |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| ClientDataSets y Firebird | Walterdf | Conexión con bases de datos | 19 | 27-08-2010 20:41:31 |
| Capturar errores - ClientDataSets | rochi | Providers | 3 | 22-11-2008 00:05:17 |
| ClientDataSets con parámetros, no funciona la consulta | rochi | Providers | 3 | 10-10-2008 20:47:24 |
| ClientDataSets- Personalizar errores | rochi | Conexión con bases de datos | 0 | 03-05-2008 06:47:52 |
| Clientdatasets anidados con ADO | Johnny Q | Conexión con bases de datos | 4 | 03-11-2005 02:53:25 |
|