Ver Mensaje Individual
  #13  
Antiguo 11-07-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por lsg
OIDs: utilizo un unico OID por Base de datos, por registro.
Tengo un generador de IDS (una clase dentro del propio framework) que se reserva 15 ids, y una vez reservados nadie puede utilizarlos. Cuando necesita mas, vuelve a buscar otros 15.
Ya me lo supongo (lo de únicos); Me refería al tipo de Datos. en mi caso son enteros largos (64b), pero he visto akgunos modelos que usan alfanuméricas. Tipo GUID.

¿Qué tipo de mapeo de tablas utilizáis? Los 4 que más se utilizan son:En mi caso, en el anterior implemeté el caso 2, y experimenté algunos problemas y en el actual hemos implementado el caso 3 y la mejora ha sido considerable.

Cita:
Empezado por lsg
(1) Tambien utilizo frames, (con mismos metodos para manipular objetos/clientdataset) que sirven para armar master/details.
(2) Un problema que tuve, fue que al declarar properties/fields de las clases, como string, integer, TdateTime, etc, fue que no podia asignar el valor null cuando queria. Asi que tuve que crear mis propios tipos de datos, que son todos variants, pero cada uno con el nombre TString, TEntero, TFecha, TFechaHora, etc.
En ambas cosas coincidimos también, aunque en mi caso son los fields están definidos como TValueFieldBoolean/TValueFieldBooleanDef, TValueFieldInteger/TValueFieldIntegerDef,...

Cita:
Empezado por lsg
Otro problema, y sin solucion por el momento, es que no puedo utilizar Blobs.
Bueno, para ello también tenemos los campos necesarios TValueFieldImage/TValueFieldImageDef y TValueFieldBlob/TValueFieldBlobDef; Como las inserciones se hacen utilizando SQL, para éstos campos se utilizan parámetros en la consulta y no dan problemas.

Cita:
Empezado por lsg
Como funcionalidad adicional, grabo un log de cada sentencia SQL ejecutada, con el dato de que usuario lo grabó. Lo que me permite replicar la base de datos si lo deseo, o revisar que sucedio, o volver hacia atras alguna operacion quiza.
Eso es lo que nosotros llamamos Trazabilidad; Y se puede implementar para las tablas que se necesite de forma dinámica; Se mantienen en el caso de que se active la trazabilidad la tabla paralela con todas las operaciones (I/D/U) que se realizan así como los valores antes y después de del cambio, usuario, fechaHora, máquina,...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita