Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-06-2015
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Casimiro Notevi Ver Mensaje
[...] recuerdo que había una solución muy elegante para resolver el problema.
Hola amigos.

Creo que Casimiro se refiere a este "antiguo" hilo, escrito antes de que los componentes MagiaData fueran integrados a GH Freebrary.

Si alguien se interesa en echar un vistazo al código fuente del repositorio, puede ver lo sencillo que es implementar una propiedad llamada StoreConnected o StoreActive para los componentes de conexión a base de datos, agregando la directiva Stored a las propiedades Connected o Active. En la versión para Delphi 7, estos ejemplos aparecen en las unidades GHFSQLConnection.pas, GHFSQLQuery.pas y GHFClientDataSet.pas.

En específico, del componente TghSQLConnection extraigo la parte que resuelve el problema:
Código Delphi [-]
    { SQL Connection class }
    TghSQLConnection = Class (TSQLConnection)
      Protected
        { Fields }
        ...
        FStoreConnected :Boolean;
      Published
        { Properties }
        ...
        Property Connected Stored FStoreConnected;
        Property StoreConnected :Boolean Read FStoreConnected
          Write FStoreConnected Default False;
    End;
No es necesario escribir ningún método, solo derivar el componente con esas declaraciones, instalarlo en algún paquete y queda listo para usarse. La clase padre puede ser TADOConnection o cualquier otra a la que aplique.

Recojo algunos comentarios que en su momento surgieron cuando planteaba esta característica:

Cita:
Empezado por roman Ver Mensaje
Lo que me parece genial es el la propiedad StoreActive. ¡Cuántos dolores de cabeza no da el dejar esta propiedad activa durante el diseño! Creo que ninguna componente derivada de DataSet debió dejar siquiera la opción de poder almacenar esto en el dfm.
Cita:
Empezado por Marc
Vaya, solo por esta propiedad "StoreActive" ya valdría la pena hacer el cambio
Voy a echarle un vistazo [...]
Cita:
Empezado por Al González Ver Mensaje
Cuando tienes StoreActive en False (el valor predeterminado), el valor de la propiedad Active no se guardará en el archivo .dfm, el archivo donde se almacena todo lo que estableces en tiempo de diseño —generalmente usando el inspector de objetos—. Esto quiere decir que si abres un conjunto de datos en tiempo de diseño para facilitar la labor de delinear un DBGrid, por ejemplo, enseguida puedes compilar el programa y al correrlo no abrirá automáticamente ese conjunto de datos; la tendencia hoy en día (y lo que señalan los cánones) es que el programa abra los conjuntos de datos por orden explícita, sólo en el momento en que se requieran, para ahorrar recursos y operar con una velocidad óptima.

Así mismo [sic], cuando vuelvas a abrir el proyecto en Delphi, los módulos de datos no demorarán en cargarse, ya que no tratarán de abrir los conjuntos de datos que hayas dejado con las propiedades Active en True y StoreActive en False. En pocas palabras, StoreActive concilia la tendencia de conjuntos de datos cerrados con la necesidad de abrirlos para diseñar.
Espero sirva mi aportación en este caso.

Un cordial saludo.

Al.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
excepciones con TADOConnection JuanPa1 Conexión con bases de datos 5 18-07-2007 22:49:09
TAdoConnection Genner Conexión con bases de datos 1 16-11-2006 10:03:37
Desconectar FlashMemory Deiv Windows 6 31-01-2006 04:52:22
Servicio con TADOConnection Duc Conexión con bases de datos 0 27-07-2005 14:08:14
TADOConnection/TADOStoredProc arantzal Varios 5 04-02-2005 11:23:06


La franja horaria es GMT +2. Ahora son las 04:23:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi