Conexion a Base de Datos

26/11/2003 - 01:42 por mickro | Informe spam
estoy desarrollando una aplicacion MDI que se conecta visualmente a una base
de datos MySQL/MS SQL Server y muestra los datos en un DataGrid. Cuando
abro el fomulario que se conecta a la base de datos, este tarda mucho en
abrirse, pienso que es porque en ese momento se esta estebleciendo la
conexion con la base de datos y llenando el dataset.
Como puedo hacer para que la conexion se realize al iniciarse la aplicacion
y no al momento de abrir ese formulario secundario?.

Intente poner el componente mySqlConnection en el formulario principal de la
aplicacion (formulario padre), pero no puedo acceder a el desde el
componente mySqlCommand, que esta en otro formulario, para establecer cual
es la conexion de ese comando (SelectCommad)
 

Leer las respuestas

#1 Javier Loria
26/11/2003 - 15:50 | Informe spam
Hola:
Si la primera vez que ejecutas el formulario tarda mucho, y si lo
cierras y lo vuelves a abrir es bien rapido, es casi seguro que sea la
conexion. Es "normal" que tarde 10/20 segundos incluso en redes locales.
Si quieres que este la conexion este abierta previa al formulario,
tienes varias alternativas.
a) Si usas el mismo "Conexion String" para toda la aplicacion, (lo cual
es deseable), simplemente en el codigo de inicio abres y cierras una
conexion. Esta conexion NO necesita ser la misma del formulario, solamente
necesita tener exactamente la misma sentencia de conexion. Esto hara el
inicio mas lento el inicio, pero los demas formularios que usen la misma
sentencia de conexion lo haran mas rapido, por una habilidad de OLE-DB
llamada "Conexion Pooling".
b) Si quieres compartir el objeto Connection entre todos los
formularios, puedes usar una clase y definir una variable Connection como
static, y podras usarla como si fuera una variable global.
Saludos,

Javier Loria
Costa Rica
mickro escribio:
estoy desarrollando una aplicacion MDI que se conecta visualmente a
una base de datos MySQL/MS SQL Server y muestra los datos en un
DataGrid. Cuando abro el fomulario que se conecta a la base de datos,
este tarda mucho en abrirse, pienso que es porque en ese momento se
esta estebleciendo la conexion con la base de datos y llenando el
dataset.
Como puedo hacer para que la conexion se realize al iniciarse la
aplicacion y no al momento de abrir ese formulario secundario?.

Intente poner el componente mySqlConnection en el formulario
principal de la aplicacion (formulario padre), pero no puedo acceder
a el desde el componente mySqlCommand, que esta en otro formulario,
para establecer cual es la conexion de ese comando (SelectCommad)

Preguntas similares