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
O puedes crear un appConfig. para la conexion.
lo puedes hacer un ejemplo aver como es que piensas tu ?
la ventaja de esta clase es ke se adapta a cualkier base de datos y a cualkier consulta
no importa si está en acces, mysql o sql server
y no importa si su tabla tiene 1 o n campos, es autoajustable
a lo ke se refiere snifer creo ke es la forma de poner los datos de la bd, y se puede hacer otra clase statica para los datos
@_Katze_ exactamente me referia era a la conexion de la base de datos, mas cacho me pongo a postear :P
Saludos :P
copado tengo que probar esto...ya trto de subir algo aver quien lo hace mas rapido ! :P