[Lazarus-es] forms i querys

Ulises Díaz udiaz60 en hotmail.com
Vie Jul 5 02:07:42 CEST 2013


Trabajo con lazarus, codetyphon edition + postgresql/mysql.

Date: Thu, 4 Jul 2013 20:24:54 -0300
From: mmgomez en gmail.com
To: lazarus-es en lists.lazarus.freepascal.org
Subject: Re: [Lazarus-es] forms i querys

No estoy muy seguro al respecto (tendría que recurrir a la documentación) pero hasta Delphi 7 sólo podía haber 1 datamodule por proyecto... En Lázarus creo que no existe esa limitación.


2013/7/4 Ulises Díaz <udiaz60 en hotmail.com>




Hola
Si, Aprendí en Visual Basic, pero cuando se trata de aplicaciones Web utilizo MVC, separando los datos  de la lógica de negocio, se me hace difícil hacerlo acá, sobre todo por lo confuso que es tener un datamodule con todas las querys, a menos que por cada sección o formulario del programa se cree un datamodule, cosa que utilice una vez pero por cada datamodule necesitaba una conexión, lo que no me gustó.

Voy a volver a intetarlo pero quetal si creamos un datamodule ("prinicpal") que tenga la conexion y para cada form creamos otro data module cuyas querys se asignen a la conexion de datamodule "principal", que opinan? o les parece poco funcional. Lo que busco es mejor organización.

Gracias por la recomendación.


Date: Thu, 4 Jul 2013 18:49:31 -0300
From: mmgomez en gmail.com
To: lazarus-es en lists.lazarus.freepascal.org

Subject: Re: [Lazarus-es] forms i querys

Está considerado una "buena practica" el separar el acceso a datos con un datamodule, al menos esa es la recomendación de Borland desde el Delphi 1.


Si venías del Visual Basic es una costumbre dificil de adoptar, pero una vez que te acostumbras empiezan los beneficios :)



2013/7/4 Ulises Díaz <udiaz60 en hotmail.com>





Hola
Me pasaba igual, a veces pienso igual, por un tiempo utilicé un Data Module con una conexión, las querys (tzquery de Zeos) y el datasource de cada formulario juntos, luego empecé a ver algo confuso tantas querys que decidí crear un datamodule con una única conexión desde la que se conectan las querys que se encuentran en cada formulario junto con su datasource, agregó la unidad del datamodule en los uses de cada form y asigno la propiedad de conexion de las querys a la mencionada conexión.


Muchas veces no utilizo componentes gráficos, especificamente en los casos que tengo que cargar información a listas, stringGrids, realizar inserts o udpates desde stringGrids, entre otros si no que lo hago por código en el evento OnCreate de los forms, por ejemplo:


var  QCargarComboboxs : tzquery; //declaro la query, Zeosbegin  QCargarComboboxs : tzquery.create(nil); //Instancio  QCargarComboboxs.conection := MiDataModule.conexion; //asigno la conexión del datamodule.



QCargarComboboxs .SQL.add('select * from years');QCargarComboboxs.execsql;//Realizo la consulta
//Cargo un combo por ejemplo

While not QCargarCombobox.Eof dobeginCombo1.add(QCargarComboboxs.fielbyname('year').asstring);  //Adiciono el elemento al combo

QCargarComboboxs.next; //siguiente registroend;

... Luego utilizo la misma query para cargar otros combos.
Bueno se puede crear una función que realice esta operación pasandole como argumentos el nombre de la tabla, los campos, y los combobox a rellenar.


Para lo demás me gusta utilizar componentes gráficos, todo depende de las circunstancias.

Esperaré otras respuestas tal vez me sirvan para mejorar la forma en que programo.



Espero que sea de utilidad, saludos desde Colombia

Ulises DíazIngeniero de Sistemas, UNAD.



> Date: Thu, 4 Jul 2013 22:51:30 +0200


> From: alfred en arsistemes.com
> To: lazarus-es en lists.lazarus.freepascal.org


> Subject: [Lazarus-es] forms i querys
> 
> Saludos de nuevo,
> 
> Estoy incorporando forms para editar registros con doble click en un
> dbgrid  lazarus + Zeoslib +  postgres


> 
> Por algún motivo que desconozco siempre acabo dudando entre usar el
> Datamodule... incorporar el query y el Datasource en el mismo form o
> incluso realizarlo todo por código.
> 
> No acabo de decidirme por uno u otro método y voy alternando según va


> saliendo.
> 
> ¿Existe algun convenio sobre cuál es el mejor método ?
> 
> Gracias
> 
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org


> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
 		 	   		  

_______________________________________________

Lazarus-es mailing list

Lazarus-es en lists.lazarus.freepascal.org

http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es




-- 
Try not to become a man of success but rather to become a man of value. Albert Einstein




_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es 		 	   		  

_______________________________________________

Lazarus-es mailing list

Lazarus-es en lists.lazarus.freepascal.org

http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es




-- 
Try not to become a man of success but rather to become a man of value. Albert Einstein



_______________________________________________
Lazarus-es mailing list
Lazarus-es en lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20130704/08ccba3c/attachment-0002.html>


More information about the Lazarus-es mailing list