none
Error de codigo RRS feed

  • Pregunta

  • cuando agrego un un producto a la  venta no hay problema pero al querer agregar un segundo producto me arroja este error
    Excepción no controlada del tipo 'System.InvalidOperationException' en System.Windows.Forms.dll
    Información adicional: La operación no es válida porque origina una llamada reentrante a la función SetCurrentCellAddressCore.
    y me devuelve a esta parte indicando que el problema esta en la variable dt me podrían ayudar
    Private Sub Mostrar()
            Try
                Dim func As New Fproducto
                dt = func.mostrar
                dataListado.Columns.Item("Eliminar").Visible = False
                If dt.Rows.Count <> 0 Then
                    dataListado.DataSource = dt
                    txtBuscar.Enabled = True
                    dataListado.ColumnHeadersVisible = True
                    inexistente.Visible = False
                Else
                    dataListado.DataSource = Nothing
                    txtBuscar.Enabled = False
                    dataListado.ColumnHeadersVisible = False
                    inexistente.Visible = True
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
            btnNuevo.Visible = True
            btnEditar.Visible = False
            Buscar()

        End Sub

    Función Fproducto

    Imports System.Data.SqlClient

    Public Class Fproducto
        Inherits conexion
        Dim cmd As New SqlCommand

        Public Function mostrar() As DataTable
            Try
                conectado()
                cmd = New SqlCommand("mostrar_productos")
                cmd.CommandType = CommandType.StoredProcedure

                cmd.Connection = cnn

                If cmd.ExecuteNonQuery Then
                    Dim dt As New DataTable
                    Dim da As New SqlDataAdapter(cmd)
                    da.Fill(dt)
                    Return dt

                Else
                    Return Nothing
                End If

            Catch ex As Exception
                MsgBox(ex.Message)
                Return Nothing
            Finally
                desconectado()
            End Try

        End Function

        Public Function Eliminar(ByVal dts As vproducto) As Boolean

            Try
                conectado()
                cmd = New SqlCommand("eliminar_producto")
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Connection = cnn

                cmd.Parameters.Add("@idproducto", SqlDbType.NVarChar, 50).Value = dts.gidproducto

                If cmd.ExecuteNonQuery Then
                    Return True

                Else
                    Return False
                End If

            Catch ex As Exception
                MsgBox(ex.Message)
                Return False

            End Try


        End Function

        Public Function editar(ByVal dts As vproducto) As Boolean

            Try
                conectado()
                cmd = New SqlCommand("editar_producto")
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Connection = cnn

                cmd.Parameters.AddWithValue("@idproducto", dts.gidproducto)
                cmd.Parameters.AddWithValue("@idcategoria", dts.gidcategoria)
                cmd.Parameters.AddWithValue("@nombre", dts.gnombre)
                cmd.Parameters.AddWithValue("@descripcion", dts.gdescripcion)
                cmd.Parameters.AddWithValue("@stock", dts.gstock)
                cmd.Parameters.AddWithValue("@preciocompra", dts.gpreciocompra)
                cmd.Parameters.AddWithValue("@precioventa", dts.gprecioventa)
                cmd.Parameters.AddWithValue("@imagen", dts.gimagen)


                If cmd.ExecuteNonQuery Then
                    Return True

                Else
                    Return False
                End If

            Catch ex As Exception
                MsgBox(ex.Message)
                Return False
            Finally
                desconectado()
            End Try
        End Function

        Public Function insertar(ByVal dts As vproducto) As Boolean
            Try
                conectado()
                cmd = New SqlCommand("insertar_producto")
                cmd.CommandType = CommandType.StoredProcedure
                cmd.Connection = cnn

                cmd.Parameters.AddWithValue("@idcategoria", dts.gidcategoria)
                cmd.Parameters.AddWithValue("@nombre", dts.gnombre)
                cmd.Parameters.AddWithValue("@descripcion", dts.gdescripcion)
                cmd.Parameters.AddWithValue("@stock", dts.gstock)
                cmd.Parameters.AddWithValue("@preciocompra", dts.gpreciocompra)
                cmd.Parameters.AddWithValue("@precioventa", dts.gprecioventa)
                cmd.Parameters.AddWithValue("@imagen", dts.gimagen)

                If cmd.ExecuteNonQuery Then
                    Return True

                Else
                    Return False
                End If

            Catch ex As Exception
                MsgBox(ex.Message)
                Return False
            Finally
                desconectado()
            End Try

        End Function
    End Class

    miércoles, 17 de octubre de 2018 23:16