[Lazarus-es] acceder a una database en una unit

Héctor F. Fiandor Rosario hfiandor en infomed.sld.cu
Jue Jul 4 22:46:56 CEST 2013


Estimado Martín Gómez y otros colegas:

Me alegro mucho su respuesta, que no la conocia, pero que desde tp3 hace casi 30 años la uso sin saber.

Acostumbro a declarar una unit como uVariables y otra como uVarios, donde en la primera declaro todas las variables publicas y en la segunda tengo una serie de rutinas que puedo o no aplicar en cada caso y que son muy generales. Simplemente las "copio" de una aplicacion a otra y me parece que me ahora un buen trabajo.

No se si algo parecido a esto es lo que me sugiere, lo que no se es como crear un DataModule, donde pudiera poner los iconos de las distintas tablas (datasets)  y sus correspondientes datasource, una sola vez, e incluir dicha unit (uDM) en cada nueva unit que diseñe (como hago con el uVariables y el uVarios). La unica cosa que alguien pudiera preguntar es que para que declarar "todas" las tablas en una unit donde solo necesito llamar a dos o tres tablas solamente.

Indudablemente que los form quedarian mucho mas "limpios" y no se olvidaria nada.

Generalmente yo hago una unit (useleccion2) donde basicamente creo el "camino" donde estarán las tablas y creo las tablas, y esa form a veces esta muy "cargada" con todos los iconos (datasets y datasources) de TODAS las tablas.

Espero que me pueda ayudar a crear una uDM como me sugiere para modificar la ultima aplicacion que hize.

lo saluda y le da las gracias por anticipado,

Ing. Héctor F. Fiandor Rosario
hfiandor en infomed.sld.cu
  ----- Original Message ----- 
  From: Martin Gomez 
  To: Spanish version of Lazarus List 
  Sent: Wednesday, July 03, 2013 11:40 PM
  Subject: Re: [Lazarus-es] acceder a una database en una unit


  Hector,
  Como "buena práctica", yo nunca incluyo los componentes de acceso a base de datos en los form, sino en un DataModule (es un form especial, no visual, diseñado para hacer exactamente eso).
  Normalmente le pongo de nombre DM e incluyo su unit (uDM) en el uses de donde sea que lo necesite... 
  Luego puedo hacer DM.Tabla.blablabla o DM.SQL.Text = 'SELECT BLA' 


  Al tener todos los componentes en un solo lugar (y quizas también rutinas de apoyo, como "function DameProveedor(codigo):string" declaradas como públicas) puedo cambiar de motor de base de datos y hasta de componentes (ej, pasar de SQLdb a Zeos) con muy poco trabajo y mínima incidencia en el resto de la aplicación.


  Espero que te sirva.





  2013/7/3 Jose Daboin <metalbox9000 en gmail.com>

    Se me olvido, instala zeos component primero para que ´puedas trabajar con sqlite o cualquier otro tipo de base de datos soportado por lazarus




    El 3 de julio de 2013 20:20, Jose Daboin <metalbox9000 en gmail.com> escribió:


      agrega los componentes al proyecto y listo. Repito al proyecto no al form por que no tienes.




      El 4 de julio de 2013 03:35, Héctor F. Fiandor Rosario <hfiandor en infomed.sld.cu> escribió:

        estimados colegas:
        tengo pendiente (entre muchas cosas) aprender a tener acceso a una base de datos (Sqlite) en una unit, que no tiene un form asociado, como por ejemplo, una unit donde se realizan calculos usando datos de una tabla Sqlite.

        agredeceria cualquier información al respecto para ponerme a aprender.

        saludos,

        Ing. Héctor F. Fiandor Rosario
        hfiandor en infomed.sld.cu


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





      -- 
      Saludos.

      Jose Daboin




    -- 
    Saludos.

    Jose Daboin


    _______________________________________________
    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


--

Este mensaje le ha llegado mediante el servicio de correo electronico que ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema Nacional de Salud. La persona que envia este correo asume el compromiso de usar el servicio a tales fines y cumplir con las regulaciones establecidas

Infomed: http://www.sld.cu/



------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20130704/0b644c7c/attachment-0002.html>


More information about the Lazarus-es mailing list