Ver Mensaje Individual
  #5  
Antiguo 02-09-2005
adlfv adlfv is offline
Miembro
 
Registrado: may 2005
Posts: 39
Reputación: 0
adlfv Va por buen camino
Question

Hola compañeros.

Me he quedado un poco más deshubicado con sus respuestas, pues no he comprendido muy bien. Voy a contestarle a los dos en el mismo post.

Del post de Roman, No entiendo muy bien lo que dices, he estado pensando lo que comentas y a pesar que veo la ventaja de incluir esos "procedimientos sueltos" a la clase correspondiente, me daría más dolor de cabeza a la hora de cambiar la base de datos. A ver si me explico...

Segun comentas, a la hora de crear el objeto, tengo que utilizar el constructor de la clase concreta, con lo cual si tengo 100 querys creados dinámicamente en el código, tendría que hacer 100 cambios, no?

Cita:
Al comienzo de tu aplicación, suponiendo que decides usar Zeos, construyes un objeto TQueryZeos:

Código Delphi:
QueryGenerica := TQueryZeos.Create;
En cambio con las directivas (sé que es más feo, y más difícil de mantener) no tengo que cambiar nada más que el fichero include, pues se crea a partir del "sobrenombre" que toma la clase, osea: TMiQuery. A mi tampoco me gustan las directivas, pero he logrado estructurar el código de forma que sólo la unit UBD.pas es la única unit que tiene directivas de todo el código. Antes era diferente, tenía directivas por todos lados, y era casi para llorar ... era horrible mantener el código, hasta que se me ocurrió esto. Tal vez no entendí bien lo que propones, si me equivoco en algo o no entendí bien algo, por favor dime... Tal vez lo que planteas tiene realmente ventaja con lo de las fabricas que comentas (que dicho sea de paso, no estoy seguro de lo que es ...).

Del post de Lpmlpm, tampoco tengo claras algunas cosas ...

Comentas que no sueles trabajar con TTable, que sueles trabajar con querys o con ClientDataset. Pero cómo haces si necesitas un TTable? Por qué no sueles usar TTables? Por que si cambias un campo de la BD, se ve muy afectado por errores a consecuencia de dicho cambio? No tengo idea sobre los ClientDataset. Qué ventajas aportan?

Otra cosita, haces muchas referencias a la palabra "catálogo(s)". A qué te refieres cuando hablas de eso, a los metadatos de la base de datos (el diccionario de datos)?

El código que adjuntas lo comprendo a medias, pues la parte final no la comprendo bien, es como una forma de agregar condiciones "OR" a la clausula "WHERE"? Y qué consigues con esto? Es como un método de búsqueda por todos los campos donde aparezca un determinado texto? Está interesante ese método, pero no termino de digerirlo ...

Me gustaría poder hacer un DataModule genérico, de forma que sólo ponga las tablas y los campos, y al final en la ejecución como que se "transformen" los objetos a una clase más particular conservando los atributos base (como campos, consultas...). Es posible esto? Cómo?

Parece mentira, pero estoy trabajando con MySQL, y no he conseguido componentes que no fallen. por ODBC los drivers fallan muchos, confunden los tipos de datos al agregar columnas, por ADO, 3/4 de lo mismo... por MySQLDac, bueno... conseguí una versión vieja que no era compatible con D2005, y retoqué el código... y kabooom... fallá por todos lados. con Zeos, tengo problemas con las transacciones, AutoCommit y todo eso... No sé qué componentes usar. Recuerdo haber probado unos drivers de SciBit que "aparentemente" funcionaban bien, pero caducaban a los 30 días

Muchas gracias por su valioso tiempo y ayuda.

Lástima que no está causando mucho debate este post, pensé que más gente se incorporaría pues es algo muy interesante que desde mi punto de vista, tiene muchas ventajas.

Un cordial saludo...
Responder Con Cita