Usuario
Llenar DataGridView - Problema

Pregunta
-
En realidad tengo un par de dudas y 1 problema.
Planteo el problema:
Clase:
public List<clsProductos> Listar() {
OleDbConnection con = MiBase.Coneccion();
OleDbCommand Consulta = con.CreateCommand();
Consulta.CommandType = CommandType.StoredProcedure;
Consulta.CommandText = "SeleccionProducto";
OleDbDataReader Lector = Consulta.ExecuteReader();
while (Lector.Read()) {
clsProductos Producto = new clsProductos();
Producto.IdProducto = Convert.ToInt32(Lector["IdProducto"]);
Producto.Nombre = Lector["Nombre"].ToString();
Producto.Precio = Convert.ToInt32(Lector["Precio"]);
Producto.Stock = Convert.ToInt32(Lector["Stock"]);
Producto.Foto = Lector["Foto"].ToString();
Milista.Add(Producto);
}
return Milista;
}
Y en el formulario en la linea esta me tira error:
private void cmbCriterio_SelectedIndexChanged_1(object sender, EventArgs e)
{ dgvProductos.DataSource = Producto.Listar();
}
Error: "Pocos parametros, se esperaba 1".
No entiendo por que me tira este error, por que me pide que le pase parametro si yo jamas indique que el metodo Listar necesite parametros...
Supongo que habra algun problema en la clase, he leido de datatable y dataset, en traer los datos pero no se bien que son, yo los traigo en un list...
Saludos, gracias
- Editado Ezalor martes, 13 de noviembre de 2012 21:56
- Cambiado webJoseModerator martes, 13 de noviembre de 2012 22:19 (De:Lenguaje C#)
Todas las respuestas
-
-
la variable de Milista dodne la defienes ? porque deberia estar alli mismo la isntancia
public List<clsProductos> Listar() { OleDbConnection con = MiBase.Coneccion(); OleDbCommand Consulta = new OleDbCommand("SeleccionProducto", con) Consulta.CommandType = CommandType.StoredProcedure; Consulta.Parameters.AddWithValue("@param", valor);
OleDbDataReader Lector = Consulta.ExecuteReader(); List<clsProductos> Milista = new List<clsProductos>(); while (Lector.Read()) { clsProductos Producto = new clsProductos(); Producto.IdProducto = Convert.ToInt32(Lector["IdProducto"]); Producto.Nombre = Lector["Nombre"].ToString(); Producto.Precio = Convert.ToInt32(Lector["Precio"]); Producto.Stock = Convert.ToInt32(Lector["Stock"]); Producto.Foto = Lector["Foto"].ToString(); Milista.Add(Producto); } return Milista; }
ademas el error esta mas que claro te faltan definir parametros, lo marco en negrita, cambia el nombre que define el SP y el valor que le asignas
y si tiene mas de uno tambien asignalo
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
-
Es que tu no estas llenando tu datagridview tienes que llenarlo , se utilza mayormente una tabla y con la propiedad datasource del grid le pasas tu tabla llena
Si mi respuesta te ha ayudado a resolver tus problemas, Selecciona "Proponer como respuesta"
Blog
J.Joaquin -
-
-
-
Hola, probaste colocando un breakpoint en el evento cmbCriterio_SelectedIndexChanged_1 para ver si esta entrando al método.
Sino seleccionando el cmbCriterio en el menú propiedades hay un icono con forma de rayo ahi se visualizan los eventos, deberías ver que el evento SelectedIndexChanged
se corresponda con el evento que tu llamas.
Saludos
"Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta". Si la respuesta te ha sido util Votala."
-
-