none
DATA GRID VIEW NO SE ACTUALIZA BIEN: RRS feed

  • Pregunta

  • hola a todos como siempre con dudas les pregunto a los que conocen o puedan ayudar con el siguiente problema:

    tengo un datagridview que optiene los datos de sus grillas de un datatable pero cuando a este le coloco el codigo para que se actualice no logro que esto suceda. si alguien conoce una solucion: aqui dejo el codigo:


     Dim presupuesto As New DataTable
                    Dim cnPresupuesto As String
                    Dim cmdPresupuesto As String
                    Dim AdpPresupuesto As OleDbDataAdapter
                    cnPresupuesto = "provider=Microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\BD\presupuesto.accdb"
                cmdPresupuesto = "UPDATE PRESUPUESTO SET REFORMADO = REFORMADO - " & CDbl(TextValor.Text) & " where PARTIDA ='" & partidaDe & "'"
     AdpPresupuesto = New OleDbDataAdapter(cmdPresupuesto, cnPresupuesto)
                    AdpPresupuesto.Fill(presupuesto)
    
                    'liberamos recursos
                    presupuesto.Dispose()
                    presupuesto.Clear()
                    cmdPresupuesto = Nothing
                    AdpPresupuesto.Dispose()
                    AdpPresupuesto = Nothing
    
                'Modificamos la partida a adicionar el valor
                cnPresupuesto = "provider=Microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\BD\presupuesto.accdb"
                cmdPresupuesto = "UPDATE PRESUPUESTO SET REFORMADO = REFORMADO + " & CDbl(TextValor.Text) & " where PARTIDA ='" & partidaA & "'"
                AdpPresupuesto = New OleDbDataAdapter(cmdPresupuesto, cnPresupuesto)
                AdpPresupuesto.Fill(presupuesto)
    
                'liberamos recursos otra vez
                presupuesto.Dispose()
                presupuesto.Clear()
                cmdPresupuesto = Nothing
                AdpPresupuesto.Dispose()
                AdpPresupuesto = Nothing
    
                cnPresupuesto = "provider=Microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\BD\presupuesto.accdb"
                cmdPresupuesto = "UPDATE PRESUPUESTO SET SCOMPROMETER= VALOR + REFORMADO - COMPROMETIDO"
                AdpPresupuesto = New OleDbDataAdapter(cmdPresupuesto, cnPresupuesto)
                AdpPresupuesto.Fill(presupuesto)
    
                'liberamos TODOS los recursos
                presupuesto.Dispose()
                presupuesto.Clear()
                cmdPresupuesto = Nothing
                AdpPresupuesto.Dispose()
                AdpPresupuesto = Nothing
                cmdPresupuesto = Nothing
    
    
                'actualizamos el presupuesto.
                cnPresupuesto = "provider=Microsoft.ACE.OLEDB.12.0;data source=" & Application.StartupPath & "\BD\presupuesto.accdb"
                cmdPresupuesto = "SELECT * FROM PRESUPUESTO"
                AdpPresupuesto = New OleDbDataAdapter(cmdPresupuesto, cnPresupuesto)
                AdpPresupuesto.Fill(tablapresupesto)


    viernes, 5 de junio de 2015 2:37

Respuestas

  • Hola Rolando Salvatierra antes de realizar el cargado de datos te recomendaría limpiar tu variable tipo datatable y volver a almacenar los datos de tu consulta y cargarlos recién al control datagridview (Cambien limpiar el contenido del datagridview):

    'Limpiar el contenido de un DataTable
    tbl.Clear()
    
    
    'Limpiar las filas del datagridview
    DataGridView.Rows.Clear()
    Me.DataGridview1.DataSource.clear()
    Espero haberte ayudado.
    viernes, 5 de junio de 2015 7:04

Todas las respuestas

  • Hola Rolando Salvatierra antes de realizar el cargado de datos te recomendaría limpiar tu variable tipo datatable y volver a almacenar los datos de tu consulta y cargarlos recién al control datagridview (Cambien limpiar el contenido del datagridview):

    'Limpiar el contenido de un DataTable
    tbl.Clear()
    
    
    'Limpiar las filas del datagridview
    DataGridView.Rows.Clear()
    Me.DataGridview1.DataSource.clear()
    Espero haberte ayudado.
    viernes, 5 de junio de 2015 7:04
  • te la marco como respuesta al ser el unico que contesto.. pero ese no es el problema... ya lo hago al poner tabla.dispose() y luego tabla.clear() en lo que me habia equivocado era en que habia puesto otra tabla que utilizaba para cargar los datos al momento de cargar el formulario.

    como te daras cuenta entre el ultimo y el penultimo adpPresupuesto.fill.. el uno utiliza la tabla presupuesto y el otro la tabla llamada tablaPresupuesto.. igual gracias..

    viernes, 5 de junio de 2015 15:15