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 11-06-2007
Avatar de brakaman
[brakaman] brakaman is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: Castellon - España
Posts: 289
Poder: 18
brakaman Va por buen camino
Autocreacion de Datamodules S/N

Hola :

¿Los modulos de datos los teneis en autocreacion o los creais por codigo?

Si los creais por codigo lo haceis en el evento oncreate del formulario que los usa ¿NO?

Y los destruis cada vez que cerrais el formulario y luego los volveis a crear .¿No se pierde mucho tiempo asi?. ¿No se?

Saludos.
Responder Con Cita
  #2  
Antiguo 12-06-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Depende, depende y depende. Puedes crear los "TDataModule" (como cualquier otro objeto) en el momento en que vayas a hacer uso del mismo, y destruirlo acto seguido. Puedes crearlo al inicio de la aplicación, en el archivo "DPR" del proyecto, o en el evento "OnCreate" de un formulario. Depende, depende y depende.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 12-06-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Pregunto:
Para que crear un datamodule por codigo?
No es mas facil en tiempo de diseño?
Un Datamodule (contenedor de datos)., me extraña.
Saludos
Responder Con Cita
  #4  
Antiguo 12-06-2007
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Coincido Caral, el datamodule basicamente nos ayuda a tener a la mano los datasets que ocupemos en nuestro proyecto, de manera que podamos acceder rapidamente a ellos. Si lo hacemos por código pierde esta funcionalidad además de volverse engorroso.

Por otro lado, si usamos un dataset solamente en un formulario, si es mejor crear el dataset por código y destruirlo cuando no se utilice más.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #5  
Antiguo 12-06-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo coincido con dec. Si recordamos el hilo Un Datomodulo o varios?, los argumentos que algunos dimos ahí para tener más de un módulo de datos por aplicación, aplican también para su creación. Hay módulos que posiblemente no se usen en una corrida, dependiendo del trabajo que se esté haciendo. Tales módulos sería innecesario crearlos.

// Saludos
Responder Con Cita
  #6  
Antiguo 12-06-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Roman, no se en que estas de acuerdo, si se habla del datamodule, se habla de un lugar o form en el que se coloquen tanto los conectores de las bases de datos, como los tables, querys, reportes, etc, etc.
Segun recuerdo uno de los argumentos es tener en orden el proyecto, teniendo un lugar en donde ubicar todo lo dicho y poder tener acceso a estos a lo largo del proyecto.
Casualmente en mi caso, al utilizar el datamodule exclusivamente para el conector, a la hora de querer hacer un cambio de sistema se hace muy engorroso el trabajo, ya que hay que recorrer cada form, para hacer los cambios.
Sigo sin entender el porque hacer o crear un datamodule en ejecucion, sea donde sea, para que, si se crea de esta manera, para que sirve?, abra que crear los tables, querys y demas de la misma manera?, todo por codigo en ejecucion, para mi es volver al DOS, o basic.
Por supuesto Roman, este comentario es de un novato, solo opino y busco aprender, sin cuestionar tu conocimiento.
Saludos
Responder Con Cita
  #7  
Antiguo 12-06-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Yo también soy partidario de:
  1. Crear tantos módulos de datos como sean precisos.
  2. Crearlos por código, cuando sean necesario.
A mi juicio, esto permite mantener una aplicación de forma mas organizada, y por supuesto, acceder a aquellos elementos del programa, solamente cuando son necesarios, por lo cual se hace preciso que esos módulos sean creados por código, justamente en ese momento, cuando son necesarios, y cuando no lo son, pues fuera....

Pongamos como ejemplo una aplicación con la que estos días me estoy peleando, la cual su planteamiento inicial fue erróneo. Este programa, consta de cientos de ventanas, reports y por supuesto incontables componentes de datos, el problema es que solamente cuenta con un solo datamodule, lo que para mi, resulta totalmente caótico. Huelga decir que ese datamodule se crea al inicio del programa y permanece durante toda la ejecución del mismo, con todo lo que ello acarrea...
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #8  
Antiguo 12-06-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Cita:
Empezado por Caral
Hola
Roman, no se en que estas de acuerdo, si se habla del datamodule, se habla de un lugar o form en el que se coloquen tanto los conectores de las bases de datos, como los tables, querys, reportes, etc, etc.
Segun recuerdo uno de los argumentos es tener en orden el proyecto, teniendo un lugar en donde ubicar todo lo dicho y poder tener acceso a estos a lo largo del proyecto.
Casualmente en mi caso, al utilizar el datamodule exclusivamente para el conector, a la hora de querer hacer un cambio de sistema se hace muy engorroso el trabajo, ya que hay que recorrer cada form, para hacer los cambios.
Sigo sin entender el porque hacer o crear un datamodule en ejecucion, sea donde sea, para que, si se crea de esta manera, para que sirve?, abra que crear los tables, querys y demas de la misma manera?, todo por codigo en ejecucion, para mi es volver al DOS, o basic.
Por supuesto Roman, este comentario es de un novato, solo opino y busco aprender, sin cuestionar tu conocimiento.
Saludos
No soy Román pero igual te contesto... jeje

A lo que se refiere Román es que no todos los DataModules tienen que estar creados desde el inicio de la aplicación...

Por ejemplo, el DataModule que usas para tener la conexión a la base de datos, ese si lo puedes tener para que se cree automáticamente al iniciar la aplicación. Pero puede que tengas un DataModule que solo necesites en cierto momento de la aplicación, entonces, no es buena idea tenerlo todo el tiempo en memoria si solo se va a usar por un tiempo corto en cierto momento; en ese caso, puedes crear el DataModule antes de usarlo y luego de usado lo destruyes de nuevo. Con esto no quiere decir que tengas que construir todos los componentes del DataModule por código, puedes crearlo en tiempo de diseño y sacarlo de la lista de autocreación del proyecto y ya luego al momento de usarlo:

Código Delphi [-]
with TShortLifeDataModule.Create(nil) do
  try
    // Aqui uso los componentes y/o métodos del DataModule
  finally
    free
  end

Espero que esto aclare tus dudas al respecto...


Saludos...
Responder Con Cita
  #9  
Antiguo 12-06-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Marcos lo ha explicado perfectamente !

Caral : No se trata de 'diseñarlo' y meter todos tus querys, etcetera en dicho datamodule, que evidentemente lo harás en tiempo de diseño. Se trata de 'crearlos' para que estén disponibles a la aplicación en sí mismo.

Es decir, DataModule.Create

Eso coincido plenamente con todos los comentarios anteriores. Depende, depende y depende. Dependerá de cada aplicación y uso.

Como dice ArdiIIa, un DataModule con cientos de DataSet's que se cree al principio de la aplicación y esté activo durante toda la aplicación, no tiene sentido en absoluto.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #10  
Antiguo 12-06-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Bueno, por eso uno es un novato y hace preguntas o se cuestiona como tal.
Os ha veis explicado perfectamente, ya entiendo el punto, ya se que soy lento pero llego.
Espero no haber ofendido a Roman, con mi inquietud, no fue mi intencion.
Saludos
Responder Con Cita
  #11  
Antiguo 12-06-2007
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Caral
Hola
Bueno, por eso uno es un novato y hace preguntas o se cuestiona como tal.
Os ha veis explicado perfectamente, ya entiendo el punto, ya se que soy lento pero llego.
Espero no haber ofendido a Roman, con mi inquietud, no fue mi intencion.
Saludos
No te sientas mal amigo Caral, yo siempre pensé que un DataModule se "debe" de crear en tiempo de diseño, no es cosa de novatos (quiero decir, Ex-Novatos ), mas bien es una cuestión de estilos.

Vamos pues que yo también aprendí algo hoy, eso es lo destacable.

Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #12  
Antiguo 12-06-2007
Avatar de brakaman
[brakaman] brakaman is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: Castellon - España
Posts: 289
Poder: 18
brakaman Va por buen camino
Bueno pues yo tambien he aprendido algo mas.

al final creo que crearlos por codigo sera lo que ahorrara mas recursos, y tambien considero que crear varios sera mas eficiente y ordenado.

De todas maneras como bien decis depende, se pueden hacer pruebas.

Gracias a todos.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Varias instancias DataModules rodmayes OOP 1 05-09-2005 13:37:45
DataModules en Net lafirma .NET 3 31-05-2005 17:35:44
1 TSession para varios DataModules Lepe Conexión con bases de datos 5 15-01-2004 10:44:35


La franja horaria es GMT +2. Ahora son las 02:50:52.


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