Bueno esta clase se adapta a cualkier base de datos y a cualkier contenido
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
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:
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