none
llenar 2 o mas tablas con un datagrid view RRS feed

  • Pregunta

  • hasta hace un dia me funciono perfectamente el boton de agregar pero ahora arroja "Operación no válida, se ha terminado la conexión."
    "no se controlo invalidoperationexception"  en si lo que hacia era llenar 2 tablas factura y detalle con un procedmiento almacenado que hacia insert en las 2 tablas pero ahora no funciona .quisiera saber si es el codigo por que me marca esta linea ---> t = cn.BeginTransaction()  en el codigo. si hay alguna otra manera de insertar esos valores a esas tablas desde un datagridview.desde ya muchas gracias.
    Private Sub btnguardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnguardar.Click
            Dim comandofactura As New SqlClient.SqlCommand()
            Dim f As DataRow
            Dim t As SqlClient.SqlTransaction
            Dim tf As Double = 0
            t = cn.BeginTransaction()
            Try
                For Each f In dt.Rows()
                    comandofactura.Connection = cn
                    cn.Open()
                    comandofactura.Transaction = t
                    comandofactura.CommandText = "sp_ins_det_fact"
                    comandofactura.CommandType = CommandType.StoredProcedure
                    comandofactura.Parameters.Add("@cod_factura", SqlDbType.VarChar, 15).Value = f("factura")
                    comandofactura.Parameters.Add("@fecha", SqlDbType.DateTime).Value = f("fecha")
                    comandofactura.Parameters.Add("@cod_producto", SqlDbType.VarChar, 15).Value = f("cod_producto")
                    comandofactura.Parameters.Add("@cod_proveedor", SqlDbType.VarChar, 15).Value = f("cod_proveedor")
                    comandofactura.Parameters.Add("@forma_de_pago", SqlDbType.VarChar, 15).Value = f("forma_de_pago")
                    comandofactura.Parameters.Add("@cantidad", SqlDbType.Int).Value = f("cantidad")
                    comandofactura.Parameters.Add("@importe", SqlDbType.Decimal).Value = f("importe")
                    comandofactura.Parameters.Add("@igv", SqlDbType.Decimal).Value = f("igv")
                    comandofactura.ExecuteNonQuery()
                Next
                cn.Close()
            Catch ex As SqlClient.SqlException
                MessageBox.Show(ex.Message)
                t.Rollback()
            End Try
        End Sub
    • Cambiado Enrique M. Montejo sábado, 8 de octubre de 2011 6:24 acceso a datos (De:Lenguaje VB.NET)
    viernes, 7 de octubre de 2011 21:25

Todas las respuestas