Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Clase en c# para hacer consultas a Bases de datos

dante_osc6

Bovino maduro
Desde
18 Dic 2008
Mensajes
279
Código:
public class Mostrar
    {

        public int Consulta(string con, ListView Lista, string query)
        {

            MySqlConnection conexion;
            MySqlCommand comand;
            MySqlDataReader leer;
            ListViewItem lista;
            string[] strColumnas;
            object[] objColumnas;
            int nRegs=0;
            int nColumnas = 0;
            int n = 0;            

            try
            {
                conexion = new MySqlConnection(con);
                conexion.Open();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                
                return nRegs;
            }

            

            try
            {
                comand = new MySqlCommand(query,conexion);
                leer = comand.ExecuteReader();

            }
            catch (Exception ex)
            {
                            

                    MessageBox.Show(ex.Message);
                        
                
                conexion.Close();
                return nRegs;
            }

            nColumnas = leer.FieldCount;
            objColumnas = new object[leer.FieldCount];

            Lista.Items.Clear();
            Lista.FullRowSelect = true;
            Lista.View = View.Details;

            //colocar los nombres de columnas
            for (n=0; n < nColumnas; n++)
            {
                Lista.Columns.Add(leer.GetName(n));
            }


            //mostrar los datos
            if (leer.HasRows)
            {
                strColumnas = new string[nColumnas];
                nRegs = 0;

                while (leer.Read())
                {

                    nRegs++;
                    for (n = 0; n < nColumnas; n++)
                    {
                        if(!leer.IsDBNull(n))
                        {
                        strColumnas[n] = leer.GetValue(n).ToString();
                        }

                    }

                    lista = new ListViewItem(strColumnas);
                    Lista.Items.Insert(nRegs - 1, lista);
                }
 
            }

            //ajustar anchos de columnas
            for (n = 0; n < Lista.Columns.Count; n++)
            {

                Lista.Columns[n].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);

            }


            return nRegs;
        }





    }
y asegurense de usar estos namespaces

Código:
using MySql.Data.MySqlClient;
using System.Windows.Forms;
y obviamente tener y hacer referencia al driver de mysql
eso lo pegan en una clase con el nombre ke kieran

y en el formulario principal crean un listview llamada listview1

y usan la clase asi:


Código:
string datos="server=localhost;uid=root;pwd=su_pass;database=su_db";

string query = "su consulta select";

Su_Clase obj = new Su_Clase();
 
 obj.Consulta(datos,listView1,query;
ese code de arriba lo ponen dentro del evento load o del evento click de un boton

y listo, se adapta a cualkier bd ke usen


ademas si la kieren usar para oracle, sql server o acces,

solo cambien las sentencias mysql.


por ejemplo en ves de usar MysqlConnection o MysqlCommand usan:

SqlConnection o SqlCommand

etc

salu2
 
buen aporte carnal, de vdd esto ayuda mucho.... aunq ya cuento con una pero no esta por demás!!!
 
Volver
Arriba