none
Como grabo en una base de datos dos bindingsource enlazados tipo maestro/detalle RRS feed

  • Pregunta

  • Como han estado foro!

    se me presento el siguiente problema, tengo un formulario para capturar facturas y lo realice usando el concepto de Maestro/Detalle, en el cual son una serie de textbox y un datagridview, al cargar el formulario creo un dataset el cual relleno con una serie de tablas de la base de datos, ya una vez inicializadas creo las "Primary Keys" para dos tablas que quiero enlazar, realizo con "Relations" el enlace, y finalmente asigno los databinding.

    Ds_Facturas.Tables("Articulos").PrimaryKey = New DataColumn() {Ds_Facturas.Tables("Articulos").Columns("ID_Articulo")}
    Ds_Facturas.Tables("Clientes").PrimaryKey = New DataColumn() {Ds_Facturas.Tables("Clientes").Columns("ID_Cliente")}
    
        With Ds_Facturas
              .Relations.Add("Relacion", _
                        .Tables("Facturas").Columns(campo_Relacionado), _                              
                        .Tables("Detalle").Columns(campo_Relacionado))
    
         End With
    
         BindingSource1.DataSource = Ds_Facturas
         BindingSource1.DataMember = "Facturas"
         BindingNavigator1.BindingSource = BindingSource1
         BindingSource2.DataSource = BindingSource1
         BindingSource2.DataMember = "Relacion"
     
    el problema surge cuando quiero actualizar("Update"), agrego las siguientes lineas

            Dim i As Integer
            Dim cb As MySqlCommandBuilder = New MySqlCommandBuilder(da)
            BindingSource1.EndEdit()
            Da_Facturas.Update(CType(BindingSource1.DataSource, DataSet), "Facturas")
    No marca error alguno, pero tampoco graba en la base de datos, porque mi duda tambien es como grabar lo que se encuentra en el bindingsource2 si su enlace es el bindingsource1.
    Gracias

    miércoles, 10 de febrero de 2010 22:55

Respuestas