C sharp - Ayuda con dgv y access

 
Vista:
sin imagen de perfil

Ayuda con dgv y access

Publicado por German (3 intervenciones) el 14/12/2017 03:44:19
Hola gente, como va? Estoy haciendo una app de windows que tiene que buscar en una base de datos de access un item cuando se ingrese parte de su codigo, pero me llena el dgv con una tabla en blanco cuando hago lo siguiente:

Este es del boton buscar:

1
2
3
4
5
6
private void btnBuscar_Click(object sender, EventArgs e)
{
    string Datos = txtCodigo.Text.ToString();
    string Consulta = @"select Codigo, Nombre, Cantidad as Stock from items where codigo like '"+ Datos+"*'";
    cms.GetLlenarDGV(dgvBusqueda, Consulta );
}

en acces esta columna es un varchar, porque es mas largo lo que puedo agregar y no hare ningun calculo.

Esto es el metodo GetLlenarDGV():

1
2
3
4
5
6
7
public void GetLlenarDGV(DataGridView dgv, string ConsultaSql)
{
    DataTable dt = new DataTable();
    dt = con.GetDataGrid(ConsultaSql);
    dgv.DataSource = dt;
 
}

Y este es el metodo GetDataGrid():

1
2
3
4
5
6
7
8
9
10
public DataTable GetDataGrid(string ConsultaSql)
{
    Conectar();
    Comando.CommandText = ConsultaSql;
    OleDbDataAdapter da = new OleDbDataAdapter(Comando);
    tabla = new DataTable();
    da.Fill(tabla);
    Desconectar();
    return tabla;
}

Si agrego a mano el dato completo sin el *, me trae el resultado en forma correcta, tambien funciona con los * en la consulta sql en acces, pero no entiendo porque en c# no. Alguien podra ayudarme? Me esta volviendo loco!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 356
Plata
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

Ayuda con dgv y access

Publicado por Miguel (160 intervenciones) el 14/12/2017 06:12:46
Creo que en lugar del asterisco (*) deberías usar el signo de porcentaje (%).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda con dgv y access

Publicado por German (3 intervenciones) el 14/12/2017 14:07:18
Lo hice con "%" también, pero me hace lo mismo, sólo que en el query sql de Access tampoco me trae nada, con * si lo hace...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Enrique
Val: 189
Bronce
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Ayuda con dgv y access

Publicado por Enrique (69 intervenciones) el 14/12/2017 16:56:04
Yo no le veo nada mas a tu codigo que pones podrías revisar los siguientes puntos:
+Hacer debug y ver que tu objeto tabla, se halla cargado correctamente.
+Si se cargo bien con la consulta revisar si en tu dgv, tengas bien los nombres de las columnas ("En caso de que las hallas asignado")
+revisar que se este conectando bien tu clase con sun db

Lo que noto raro es por que mandas el DGV control como parametro y creo que ese es el tema principal
Si tu mandas el control como parametro en realidad esta mando una instancia de ese control para ser manipulado por el metodo, o sea es otro control muy diferente al que estas usan y hasta donde yo se es una mala practica, y si es eso puedes intentar esto otro:

1
2
3
4
5
6
7
8
9
//Remplazar esta linea 
dgv.DataSource = dt;
//Por esta
dgvBusqueda.DataSource = dt;
 
//o despues de esta linea 
dgv.DataSource = dt;
//colocar esta otra
dgvBusqueda = dgv;

Me la juego a que es eso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda con dgv y access

Publicado por German (3 intervenciones) el 14/12/2017 18:33:21
En realidad lo hago por métodos generales, el primer método está dentro de una clase y el otro en otra clase, eso me sirve para llenar varios dgv que están en diferentes pantallas... como para salir del paso voy a intentar hacerlos todos en la misma pantalla, pero no se si vaya a funcionar, ya que lo que intento es hacerlo por métodos para reutilizar código...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar