<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Trabajo con lazarus, codetyphon edition + postgresql/mysql.<br><br><div><hr id="stopSpelling">Date: Thu, 4 Jul 2013 20:24:54 -0300<br>From: mmgomez@gmail.com<br>To: lazarus-es@lists.lazarus.freepascal.org<br>Subject: Re: [Lazarus-es] forms i querys<br><br><div dir="ltr"><div class="ecxgmail_default" style="font-family:tahoma,sans-serif;">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.</div>
</div><div class="ecxgmail_extra"><br><br><div class="ecxgmail_quote">2013/7/4 Ulises Díaz <span dir="ltr"><<a href="mailto:udiaz60@hotmail.com" target="_blank">udiaz60@hotmail.com</a>></span><br><blockquote class="ecxgmail_quote" style="border-left:1px #ccc solid;padding-left:1ex;">



<div><div dir="ltr">Hola<div><br></div><div>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ó.</div>
<div><br></div><div>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.</div>
<div><br></div><div>Gracias por la recomendación.</div><div><br></div><div><br><br><div><hr>Date: Thu, 4 Jul 2013 18:49:31 -0300<br>From: <a href="mailto:mmgomez@gmail.com" target="_blank">mmgomez@gmail.com</a><br>To: <a href="mailto:lazarus-es@lists.lazarus.freepascal.org" target="_blank">lazarus-es@lists.lazarus.freepascal.org</a><br>
Subject: Re: [Lazarus-es] forms i querys<div><div class="h5"><br><br><div dir="ltr"><div style="font-family:tahoma,sans-serif;">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.</div>

<div style="font-family:tahoma,sans-serif;"><br></div><div style="font-family:tahoma,sans-serif;">Si venías del Visual Basic es una costumbre dificil de adoptar, pero una vez que te acostumbras empiezan los beneficios :)</div>

</div><div><br><br><div>2013/7/4 Ulises Díaz <span dir="ltr"><<a href="mailto:udiaz60@hotmail.com" target="_blank">udiaz60@hotmail.com</a>></span><br><blockquote style="border-left:1px #ccc solid;padding-left:1ex;">




<div><div dir="ltr">Hola<div><br></div><div>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.</div>

<div><br></div><div>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:</div>

<div><br></div><div>var</div><div>  QCargarComboboxs : tzquery; //declaro la query, Zeos</div><div>begin</div><div>  QCargarComboboxs : tzquery.create(nil); //Instancio</div><div>  QCargarComboboxs.conection := MiDataModule.conexion; //asigno la conexión del datamodule.</div>

<div><br></div><div><br></div><div>QCargarComboboxs .SQL.add('select * from years');</div><div>QCargarComboboxs.execsql;</div><div>//Realizo la consulta</div><div><br></div><div>//Cargo un combo por ejemplo</div>
<div>
While not QCargarCombobox.Eof do</div><div>begin</div><div>Combo1.add(<span style="font-size:12pt;">QCargarComboboxs.fielbyname('year').asstring</span><span style="font-size:12pt;">);  //Adiciono el elemento al combo</span></div>

<div>QCargarComboboxs.next; //siguiente registro</div><div>end;<br><br>.</div><div>.</div><div>.</div><div> Luego utilizo la misma query para cargar otros combos.</div><div><br></div><div>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.</div>

<div><br></div><div>Para lo demás me gusta utilizar componentes gráficos, todo depende de las circunstancias.</div><div><br></div><div><br></div><div>Esperaré otras respuestas tal vez me sirvan para mejorar la forma en que programo.</div>

<div><br></div><div><br></div><div>Espero que sea de utilidad, saludos desde Colombia</div><div><br></div><div><br></div><div>Ulises Díaz</div><div>Ingeniero de Sistemas, UNAD.</div><div><br></div><div><br><br><br><div>> Date: Thu, 4 Jul 2013 22:51:30 +0200<br>

> From: <a href="mailto:alfred@arsistemes.com" target="_blank">alfred@arsistemes.com</a><br>> To: <a href="mailto:lazarus-es@lists.lazarus.freepascal.org" target="_blank">lazarus-es@lists.lazarus.freepascal.org</a><br>

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

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

> saliendo.<br>> <br>> ¿Existe algun convenio sobre cuál es el mejor método ?<br>> <br>> Gracias<br>> <br>> _______________________________________________<br>> Lazarus-es mailing list<br>> <a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>

> <a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br></div></div></div></div>                                      </div></div>
<br>_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><span style="font-family:tahoma,sans-serif;">Try not to become a man of success but rather to become a man of value. <i>Albert Einstein</i></span></div>


</div>
<br>_______________________________________________
Lazarus-es mailing list
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.freepascal.org</a>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a></div></div></div></div>                                     </div></div>
<br>_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org">Lazarus-es@lists.lazarus.freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><span style="font-family:tahoma,sans-serif;">Try not to become a man of success but rather to become a man of value. <i>Albert Einstein</i></span></div>

</div>
<br>_______________________________________________
Lazarus-es mailing list
Lazarus-es@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es</div>                                       </div></body>
</html>