lunes, 9 de abril de 2012

Clase Conexion


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using MySql.Data.MySqlClient;

namespace ManejoDeControles
{
    class Conexion
    {
        String database;
        MySqlConnection conexion = new MySqlConnection();
        MySqlCommand cmd = new MySqlCommand();

        public Conexion(string database)
        {
            this.database = database;
        }

        //hace la conexion a la base de datos
        public int conectar()
        {
            try
            {
                String cadena = "Server=localhost;User Id=root;Database="+this.database+";Password=";
                conexion.ConnectionString = cadena;
                conexion.Open();
                return 1;
            }
            catch (MySqlException ex)
            {
                Console.WriteLine(ex);
                return 0;
            }
        }

        //Consulta que retorna un solo registro
        public String Consulta(String consulta, String campo)
        {
            this.conectar();
            cmd.Connection = conexion;
            cmd.CommandText = consulta;
            MySqlDataReader lector = cmd.ExecuteReader();
            string cadena="nada";
            if (lector.HasRows)
            {
                while (lector.Read())
                {
                    cadena = lector[campo].ToString();
                }
            }
            return cadena;
        }

        //Consulta que retorna una arreglo con varios registros
        public String[] ConsultaVariosRegistos(String consulta, string campo)
        {
            this.conectar();
            cmd.Connection = conexion;
            cmd.CommandText = consulta;
            MySqlDataReader lector = cmd.ExecuteReader();
            String[] cadena = {"n"};
            int i = 0;
            if (lector.HasRows)
            {
                while (lector.Read())
                {
                 
                    Array.Resize(ref cadena, i + 1);    
                    cadena[i] = lector[campo].ToString();
                    i++;
                }
            }
            return cadena;
        }

        //Ejecuta Consultas que no devuelven Registros
        public void ConsultaSinRetorno(String consulta)
        {
            this.conectar();
            cmd.Connection = conexion;
            cmd.CommandText = consulta;
            cmd.ExecuteNonQuery();
        }

        //Consulta que devuelve un DataTable
        public DataTable ConsultaDataTable(String consulta)
        {
            this.conectar();
            cmd.Connection = conexion;
            cmd.CommandText = consulta;
            DataTable tabla = new DataTable();
            tabla.Load(cmd.ExecuteReader());
            return tabla;
        }

    }
}

No hay comentarios:

Publicar un comentario