dante_osc6
Bovino maduro
- Desde
- 18 Dic 2008
- Mensajes
- 279
- Tema Autor
- #1
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;
}
}
Código:
using MySql.Data.MySqlClient;
using System.Windows.Forms;
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;
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