ADOConnection - Forma óptima de usarlo
Publicado por Jorge (1 intervención) el 13/07/2017 14:52:09
Hola
En primer lugar gracias a todos por los aportes que hacen en el foro para
ayudar a la comuinidad.
Mi problema es el siguiente:
¿Alguien puede explicarme como es la forma de trabajo óptima para hacer una
conexión a la base de datos SQL Server con ADOConnection?
Conozco dos maneras de hacerlo: ¿Cual es la apropiada?
En un DataModule coloco un componente TADOConnection, lo configuro y luego
desde los distintos formularios uso esa conexión para ejecutar consultas a la
base de datos.
Forma 1:
Cuando la aplicación se inicia, en el evento OnCreate del DataModule activo la
conexión ADOConnection1.Connected := true;
Esta conexión permanece abierta hasta que la aplicación se termina. Justo
antes de cerrar la aplicación hago ADOConnection.Connected := false;
Forma 2:
Cada vez que hago una consulta a la base de datos, activo la conexión y la uso:
Mi aplicación usa muchas consultas sql, por eso siempre opté por la forma 1,
pero tengo un problema ajeno a la aplicación.
Se me presenta el problema que por motivos ajenos a la aplicación, se producen
micro cortes en la conexión al servidor. Esto hace que algunos componentes y
variables de la aplicación pierdan valores y esto bloquea la aplicación. Para
solucionarlo debe reconectar el ADOConnection1 y ejecutar nuevamente las
consultas involucradas.
Gracias por las ideas que puedan brindarme. Las valoraré muchísimo.
En primer lugar gracias a todos por los aportes que hacen en el foro para
ayudar a la comuinidad.
Mi problema es el siguiente:
¿Alguien puede explicarme como es la forma de trabajo óptima para hacer una
conexión a la base de datos SQL Server con ADOConnection?
Conozco dos maneras de hacerlo: ¿Cual es la apropiada?
En un DataModule coloco un componente TADOConnection, lo configuro y luego
desde los distintos formularios uso esa conexión para ejecutar consultas a la
base de datos.
Forma 1:
Cuando la aplicación se inicia, en el evento OnCreate del DataModule activo la
conexión ADOConnection1.Connected := true;
Esta conexión permanece abierta hasta que la aplicación se termina. Justo
antes de cerrar la aplicación hago ADOConnection.Connected := false;
Forma 2:
Cada vez que hago una consulta a la base de datos, activo la conexión y la uso:
1
2
3
4
5
6
7
ADOConnection1.Connected := true;
ADOQuery1.Connection := ADOConnection1;
ADOQuery1.Active := false;
ADOQuery1.SQL.Text := 'Select * from tabla';
ADOQuery1.Active := true;
Luego de usarla, cierro la conexión.
ADOConnection1.Connected := false;
Mi aplicación usa muchas consultas sql, por eso siempre opté por la forma 1,
pero tengo un problema ajeno a la aplicación.
Se me presenta el problema que por motivos ajenos a la aplicación, se producen
micro cortes en la conexión al servidor. Esto hace que algunos componentes y
variables de la aplicación pierdan valores y esto bloquea la aplicación. Para
solucionarlo debe reconectar el ADOConnection1 y ejecutar nuevamente las
consultas involucradas.
Gracias por las ideas que puedan brindarme. Las valoraré muchísimo.
Valora esta pregunta


0