none
indice estaba fuera del intervalo RRS feed

  • Pregunta

  • me envia un error me pueden ayudar

    el indice estaba fuera del intervalo debe ser un valor negativo  o inferior

    Private Function cargarComboProducto() As List(Of CEUproducto)
            Dim list As List(Of CEUproducto) = cpnproducto.listaproducto(RecolectarDatos.Instance.Dato1)
            list.Insert(0, New CEUproducto() With {.codigoproducto = 0, _
                                                   .descripcion = "<SELECCIONE>"})
            Return list
        End Function
        Private Sub cargarProducto()
            Try
                cmbcompras.DataSource = cargarComboProducto(RecolectarDatos.Instance.Dato1)
                cmbcompras.DisplayMember = "Descripcion"
                cmbcompras.ValueMember = "codigoproducto"
         
            Catch ex As Exception
                MessageBox.Show(ex.Message, "IMPSA", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try


    Public Shared Function listaproducto(ByVal emp As Int16) As List(Of CEUproducto)
            Return daoproducto.cargarProducto(emp)
        End Function


      Public Shared Function cargarProducto(emp As Int16) As List(Of CEUproducto)
            Dim lista As New List(Of CEUproducto)()
            Using conn As New MySqlConnection(ConfigurationManager.ConnectionStrings("cn").ToString())
                conn.Open()
                Dim query As String = "select concat_ws ('  ',productos.cod_produc,categorias.cat_nombre,productos.nombre,marca.descripcion,subcategorias.ta_nombre) as Descripcion  FROM  productos INNER JOIN Categorias ON productos.idcategoria = Categorias.idcategoria INNER JOIN marca ON productos.idmarca = marca.idmarca INNER JOIN Subcategorias ON productos.idsubcategoria = Subcategorias.idsubcategoria WHERE  productos.idempresa =?criterio order by productos.cod_produc asc"

                Dim cmd As New MySqlCommand(query, conn)
                cmd.Parameters.AddWithValue("?criterio", emp)
               Dim reader As MySqlDataReader = cmd.ExecuteReader()

     Return lista
            End Using
        End Function

    viernes, 30 de marzo de 2018 23:32

Respuestas

  • Hola:
    Prueba con algo como esto
     

    Public Shared Function cargarProducto(emp As Int16) As List(Of CEUproducto)
            Dim lista As New List(Of CEUproducto)()
            Using conn As New MySqlConnection(ConfigurationManager.ConnectionStrings("cn").ToString())
                conn.Open()
                Dim query As String = "select concat_ws ('  ',productos.cod_produc,categorias.cat_nombre,productos.nombre,marca.descripcion,subcategorias.ta_nombre) as Descripcion  FROM  productos INNER JOIN Categorias ON productos.idcategoria = Categorias.idcategoria INNER JOIN marca ON productos.idmarca = marca.idmarca INNER JOIN Subcategorias ON productos.idsubcategoria = Subcategorias.idsubcategoria WHERE  productos.idempresa =?criterio order by productos.cod_produc asc"

                Dim cmd As New MySqlCommand(query, conn)
                cmd.Parameters.AddWithValue("?criterio", emp)
               Dim reader As MySqlDataReader = cmd.ExecuteReader()
               'TIENES QUE CARGAR LOS DATOS DEL DATAREADER EN LA LISTA POQUE SINO DEVUELVES UNA LISTA VACIA
               If reader.Read() Then
               'ALGO COMO ESTO (NO SE LA ESTRUCTURA DE LA CLASE CEUproducto)
                  lista.add(reader("Descripcion"))
               End If
               Return lista
            End Using
        End Function

    Un saludo desde Bilbo
    Carlos
    sábado, 31 de marzo de 2018 4:29