Perdonad mi desconocimiento, tengo el siguiente codigo:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using MySql.Data.MySqlClient;
namespace Bar
{
public partial class frmBuscaProducto : Form
{
public frmBuscaProducto()
{
InitializeComponent();
}
//Inicio del Listview lvProductos
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;
}
}
private void btnCargar_Click(object sender, EventArgs e)
{
string datos="server=127.0.0.1;uid=admin;pwd=administrador;database=bar";
string query = "SELECT nome, precio, cantidad FROM producto";
Mostrar obj = new Mostrar();
obj.Consulta(datos,lvProductos,query);
}
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
Lo que hace es una conexión con mi db y rellena las tablas con la informacion de nome, precio y cantidad.
El problema reside en que cada vez que hago click sobre el boton Cargar crea nuevas columnas con mas información y me gustaría que simplemente actualizase las columnas existentes de la primera consulta.
Muchas gracias.