Ver Mensaje Individual
  #6 (permalink)  
Antiguo 15/07/2009, 21:03
Avatar de dwaks
dwaks
 
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 22 años, 6 meses
Puntos: 15
Respuesta: Clase para conectar a mysql

Ok veamos todo desde el principio:

1- Quieres tener una clase donde manejes los comando Insert, Select, Update y Delete con solo mandarle por parametro al método adecuado el query.
2- Quieres que internamente se controle la conección activa.

Ahora vienen las preguntas:
1- Supongo que es un Windows Application porque quieres abrir la conección en el Form_Load y mantenerla abierta en todo tu programa hasta que salgas??
2- Quieres despreocuparte de la conección y no quieres abrirla y cerrarla por cada query que ejecutes??
3- Tienes conocimiento de clases globales singleton?? que son las que se instancian una sola vez y estara activa para todo el proyecto?

Sin tomar en cuentas las preguntas que te puse debes tomar en cuenta varios elementos necesarios:

1- No puedes abrir en el constructor con una instancia local una coneccion y pensar que pasará a los métodos:

MySqlConnection Conexion = new MySqlConnection(sentencia);

Lo correcto es que uses una propiedad que represente la conección para que los métodos internos la puedan usar.

public MysqlConnection Conexion {get; set;}

Esta propiedad la instancia en tu constructor:

this.Conexion = new MySqlConnection(sentencia);
this.Conexion.Open();

2- En programas web lo mejor es abrir y cerrar conección cada ves que quieras traer ó enviar datos a la base de datos pero en Windows puedes tener una conección activa y cerrarla cuando el programa se cierre. Para esto es necesario que tengas una clase Global que todo tu proyecto lo accese, esta clase debe dar acceso a tu clase MYSQL. Debes tener en cuenta como se hace esto.

Puedes ver en este post como explico el uso de clases globales:
http://www.forosdelweb.com/f79/usar-...-forms-717130/

3- La conección a la base de datos es el punto importante de tu proyecto y aunque paresca mucho trabajo en cada método debes validar el estado de la conección aunque ya en el Constructor la abriste, esto es para que evites fallos y debes tomar en cuenta todos los Status que ella te brinde para saber siempre como esta la conección y el programa no te de fallo.

MysqlConnection.Status

4- Trata de hacer todo paso a paso, primero tu clase que tenga la Propiedad que represente la Conección y que se instancia y se abra en el constructor. Luego has el método para un select que reciba un parámetro string de el query que le mandes dinamicamente.

Con esto ya puedes saber que te funciona.

Despues create la clase que será la global y expondrá una instancia static de tu clase MYSQL como esta en el post que te di como referencia.

Trata de hacer todo paso a paso y veras resultados.

Saludos,