Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-12-2003
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Poder: 21
Giniromero Va por buen camino
dudas sobre el DataModule

Hola a todos,

Tengo unas dudas sobre el uso de los datamodule.
Uso delphi 6 e interbase 7.

¿Como haceis en una aplicación con muchas tablas, las poneis todas en el mismo DataModule, o en varios? si es en varios, ¿por qué?¿es mejor?

¿Cuando abris las tablas, nada más iniciarse la aplicación, o cuando las vais necesitando? En tal caso, ¿como haceis para que no os tarde una barbaridad al abrir el Form o ejecutar el evento que lo abre?

Es que estoy usando un DataModule en mi aplicación, y quiero saber si hay una forma más "elegante" y efectiva de gestionarlo, que la que yo estoy usando.

Muchas gracias

Virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :)
Responder Con Cita
  #2  
Antiguo 10-12-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Yo sino es excesivo el número de tablas o consultas las coloco todas en un Datamodulo, también es verdad que en algunas aplicaciones en las que uso muchas tablas, tengo hasta tres datamodulos, pero esto es por comodidad óptica ya que todas en un datamodulo son dificiles de controlar.

En cuanto a abrirlas o no, hago lo mismo sino son muchas las abro todas y me olvidó de tenerlas que abrir para cada proceso, de esta manera solamente sera lento el arranque.

En el caso de ser muchas, las agrupo por procesos de tal manera que si para realizar una factura necesito 5 tablas creo un procedimiento que se encargue de abrir las 5 tablas cada vez que lo necesito, generalmente a este procedimiento le paso un parámetro y así le indico si tiene que abrir o cerrar las tablas.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 10-12-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Bueno, pues yo me estoy acostumbrando a tener un DM por cada Form y, en él poner las tablas que necesita dicho formulario y las activo o desactivo a medida que las necesito o no
Responder Con Cita
  #4  
Antiguo 10-12-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Para variar... yo tengo un solo DM con la DB y los querys necesarios en cada form, los pongo en el form. En el caso de que en la aplicación se compartan DataSets entre formularios, ahí si creo otro DM para este propósito, pero no es algo que suela ocurrir. En el DM además tengo todo el juego de funciones que interactúan con la BD.
Ventajas: tengo solo creados en memoria los DataSets que necesito, en cierto punto es más fácil de entender el código y los controles enlazados ya que el código del formulario queda en el formulario (Eventos de DataSets) y los DataSets y DataSources suelo ponerlos sobre los controles que "alimentan"
Desventajas: No sigo la estructura que propone Borland.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #5  
Antiguo 10-12-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Hola.

Yo utilizo una estructura similar a la de Delphi.com.ar

Tengo un datamodule general con la conexión, y los datasets que contienen datos utilizados en distintos lugares. Estos datasets són todos pequeños (con pocos registros : tipos de formas de pago, tipos de productos, lista de empresas, ....) y los abro todos al iniciar la aplicación.

Después cada formulario tiene sus propios datasets, datasources, clientdatasets, .... con los datos que toca unicamente ese formulario. (Todos utilizan la conexión definida en el datamodule general)

NOTA : Los datasets que pueden contener muchos registros (por ejplo. lista de clientes) solo están en el formulario que lo utiliza (en el ejplo, seria el formulario de gestión de clientes), y solo se abre si se carga el formulario.

Además de las desventajas que ha citado delphi.com.ar sobre esta estructura, la principal desventaja que le veo yo es que los datasets del formulario ensucian mucho la pantalla, si tienes muchos, no sabes donde ponerlos para que no tapen los controles de abajo.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #6  
Antiguo 10-12-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
guillotmarc comentó:
Además de las desventajas que ha citado delphi.com.ar sobre esta estructura, la principal desventaja que le veo yo es que los datasets del formulario ensucian mucho la pantalla, si tienes muchos, no sabes donde ponerlos para que no tapen los controles de abajo.
Coincido con esto, pero también pienso que es vastante feo ver un datamodule con todos los controles tirados, queda muy poco intuitivo.


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #7  
Antiguo 11-12-2003
Avatar de guillotmarc
guillotmarc guillotmarc is offline
Miembro
 
Registrado: may 2003
Ubicación: Huelva
Posts: 2.638
Poder: 24
guillotmarc Va por buen camino
Cita:
Coincido con esto, pero también pienso que es vastante feo ver un datamodule con todos los controles tirados, queda muy poco intuitivo.
Si, a veces he visto un datamodule general con centenares de datasets, yo prefiero separarlos en datamodules más pequeños donde todos los datasets están relacionados.

Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
Responder Con Cita
  #8  
Antiguo 12-12-2003
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Con la venia de los presentes....


Pues yo lo tengo todo junto y revuelto, me explico: Yo uso 2
datamodules Uno con todas las tablas y otro con las consultas
para la impresión (por claridad para mi separo una cosa de otra)

Puede ocurrir, que si es una aplicación MDI y quieres abrir 2
tablas de clientes con distintos datos, entonces necesitas tener
las tablas en cada Formulario... En fin, hay detalles importantes
que dependen de las necesidades de cada aplicación.

También respondeis "si no es excesivo el número de tablas...." y
yo me pregunto, para ustedes, ¿cual es un "número excesivo"?
porque para un novatillo como yo, podriámos decir que con 20 o
30 ya estoy lo suficientemente liado

En cuanto al desorden de los componentes... bueno, eso es muy
subjetivo, cada uno sigue "su orden" , yo el datamodule lo miro
como si fuera una rejilla de datos; pongo las tablas en la primera
columna los datasources en la segunda, las consultas en la 3ª
columna, en la misma fila que su tabla, al menos encuentro las
cosas .
Responder Con Cita
  #9  
Antiguo 12-12-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Poder: 22
andres1569 Va por buen camino
Hola:

Tengo programas con todos los estilos descritos hasta ahora n este hilo. Cuando empecé con Delphi 16 bits, que no traía los DataModules, utilicé un formulario comodín para situarlos.

Luego tengo algunos programas con casi todo en el mismo DataModule, pero es algo que no me gusta, aunque lo dejé así.

Lo último que tengo es varios DataModules, con uno principal, DMMain donde va la conexión, y tablas auxiliares que se usan en toda la aplicación, y luego varios DataModules enlazados al DMMain.

En particular no me gusta meter Datasets en formularios, aunque sí me resulta muy útil poner DataSources por aquello de poder responder a eventos del Dataset que afecten a controles del formulario, ese código va dentro del Form.

Aunque no lo he hecho hasta ahora, creo que es conveniente que el los DataModules se creen durante la vida del programa, bajo demanda, a excepción claro del DMMain, depende del uso que se dé a ciertas tablas...

Saludos
__________________
Guía de Estilo
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. Ahora son las 07:32:50.


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