none
LLENAR DATAGRIDVIEW CON DIFERENTES TABLAS RRS feed

  • Pregunta

  • Buenos días, la pregunta ahora es esta: quiero llenar un DataGrid con productos que solo tengan 5 unidades, 4 unidades, 3 unidades, 2 unidades y 1 unidad, colocando  en mi datagrid de forma ascendente, quiero traer caracteristicas de la base de datos como el nombre y el código así como las unidades.

    se podría decir que quiero hacer varias consultas, llenar varios datatables y después montarlos en mi datagrid, ¿Es posible hacer esto, como?. Gracias por su Ayuda, Saludos desde Hidalgo México

    viernes, 22 de abril de 2016 12:55

Respuestas

Todas las respuestas

  • Hola,

    Pero eso lo puedes hacer en tu StoredProcedure, como todos pertenecen a la misma tabla y los mismos campos, usa UNION para que te traiga los datos en una sola consulta o usando IN.

    SELECT codigo, nombre, unidad FROM miTabla
    Where unidad in (1, 2, 3, 4, 5)
    order by unidad asc

    Luego solo le asignas el valor retornado al DataSource de tu datagridview.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    viernes, 22 de abril de 2016 17:12
  • Gracias Joel pero la verdad es que soy principiante en esto de la programación y he estado intentando ponerlo como dices pero no puedo solo me marca errores, no se que estoy haciendo mal te agradecería me ayudaras:

    Dim cero As Double
            cero = 0
            sqll = "SELECT Articulo, Codigoo, Unidades FROM Productos WHERE Existencias= '" & cero In (1, 2, 3, 4, 5))  & "'"
    Order By cero asc
    
            Dim adapta As New OleDbDataAdapter(sqll, coneccion)
            ds.Tables.Add("Tabla")
            adapta.Fill(ds.Tables("Tabla"))
            Me.datagrid.DataSource = ds.Tables("Tabla")
            ds.Dispose()

    sábado, 23 de abril de 2016 16:47
  • Deberías cambiar tu consulta:

    sqll = "SELECT Articulo, Codigo, Unidades FROM Productos WHERE Existencias BETWEEN 1 AND 5 ORDER BY Existencias"
    


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    sábado, 23 de abril de 2016 17:55
  • Lo intente de esta forma Asier pero de igual forma no funciona
    sábado, 23 de abril de 2016 18:13
  • Pero ¿qué error te da? ¿Cuáles son los nombres exactos de los campos?


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    sábado, 23 de abril de 2016 18:42
  • Información adicional: No coinciden los tipos de datos en la expresión de criterios.

     Dim ds As New DataSet
            Dim cero As Double
            cero = 0
            sqll = "SELECT Producto, Codigo, Existencias FROM Productos WHERE Existencias BETWEEN 1 AND 5 ORDER BY Existencias"
            Dim adapta As New OleDbDataAdapter(sqll, coneccion)
            ds.Tables.Add("Tabla")
            adapta.Fill(ds.Tables("Tabla"))
            Me.DataGridView.DataSource = ds.Tables("Tabla")
            ds.Dispose()

    sábado, 23 de abril de 2016 18:50
  • ¿Qué tipo de datos tiene el campo Existencias?


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    sábado, 23 de abril de 2016 19:39
  • Son de tipo texto corto.
    sábado, 23 de abril de 2016 21:28
  • Entonces mejor utilizar un IN:

    sqll = "SELECT Producto, Codigo, Existencias FROM Productos WHERE Existencias IN ('1','2','3','4','5') ORDER BY Existencias"
     


    Píldoras .NET
    Artículos, tutoriales y ejemplos de código .NET

    Píldoras JS
    Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ...

    • Marcado como respuesta Edgar Martínez sábado, 23 de abril de 2016 22:10
    sábado, 23 de abril de 2016 21:35
  • Ahora si me funciono muchas gracias, te lo agradesco
    • Marcado como respuesta Edgar Martínez sábado, 30 de abril de 2016 18:00
    sábado, 23 de abril de 2016 22:11