none
Actualización automática del Datagriedview conectado a sql server , al cargar datos mediante textboxs. RRS feed

  • Pregunta

  • Buenas!!
    Tengo el siguiente problema con mi programa en visual basic.net:
    Tengo un datagridview conectado a una base de datos sql server. Los datos al datag. se los ingreso mediante unos textbox.
    Cuando ingreso la información al textbox, y el botón agregar, me informa que se agrega a la base de datos, pero no me actualiza el datagridview, a menos q cierre el formulario o el programa, y lo vuelva a abrir, y aparece la información cargada. Lo mismo pasa al modificar o eliminar algun registro.
    Que puede estar pasando??

    *código de carga del boton al datagridview:

     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            'agregar producto
            Try
                Me.TablaProductoTableAdapter.Agregar(IDproducto.Text, Nombre.Text, Marca.Text, Categoria.Text, Descripcion.Text, Precio.Text, Stock.Text)
                
               
                Me.TablaProductoTableAdapter.Fill(Me.BDstockDataSet.TablaProducto)

                MsgBox("Se cargo un nuevo producto correctamente", vbInformation, "Registro de Stock")

            Catch ex As Exception
                MsgBox("El código ingresado ya existe, o los datos están incompletos", vbInformation, "ERROR")

            End Try
    miércoles, 22 de julio de 2020 21:11

Todas las respuestas

  • Hola Actualizacion de Datagridview,

    Creo que el problema es que solamente estás agregando una nueva entrada a la base de datos, pero no estás refrescando el DataGridView. Es decir, tu DataGridView solamente consulta datos de la base de datos en el evento de carga, por lo que, si la base de datos cambia después de eso, tu DataGridView no se da cuenta. Eso explicaría porque cuando cierras y vuelves a abrir el proyecto ya se reflejan los últimos cambios que hiciste, porque cuando lo abres de nuevo sucede el evento de carga que es la única ocasión en que tu código consulta esa información.

    Acá te adjunto este vídeo en que se enseña de manera sencilla como puedes refrescar un datagridview en Visual Basic después de que se agregó nueva información a la base de datos. Espero que te ayude a resolver tu problema. Gracias por levantar tu consulta en los foros de msdn.

     

    Saludos cordiales

    Gabriel Castro

     ____________________________ 

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    miércoles, 22 de julio de 2020 22:39
    Moderador
  • TU ERROR ESTA EN QUE NO ESTAS REFRESCANDO EL DATAGRIDVIEW AL TERMINAR.

    SOLO REFRESCALO AL TERMINAR EL INSERT Y DESPUES DEL MENSAJE DEL MSGBOX

    Y CON ESO SE ARRAGLA 

           Try
                Me.TablaProductoTableAdapter.Agregar(IDproducto.Text, Nombre.Text, Marca.Text, Categoria.Text, Descripcion.Text, Precio.Text, Stock.Text)
                
               
                Me.TablaProductoTableAdapter.Fill(Me.BDstockDataSet.TablaProducto)
    
                MsgBox("Se cargo un nuevo producto correctamente", vbInformation, "Registro de Stock")
    
    '*** AQUI TIENES QUE PONER EL CODIGO PARA QUE RELLENE DE NUEVO EL DATAGRIDVIEW CON LOS DATOS YA ACTUALIZADOS.***'
    
            Catch ex As Exception
                MsgBox("El código ingresado ya existe, o los datos están incompletos", vbInformation, "ERROR")
    
            End Try

    PARA QUE NO SE TE AGA DIFICIL USA EL MISMO CODIGO QUE LLENA EL DATAGRIDVIEW AL INICIAR EL FORM, O NO SE COMO LO CARGUES Y LISTO..

    SALUDOS Y SUERTE... 


    Manuel Zaragoza


    • Propuesto como respuesta ManuelMZ lunes, 27 de julio de 2020 18:03
    • Editado ManuelMZ lunes, 27 de julio de 2020 18:05
    lunes, 27 de julio de 2020 18:02
  • Hola Actualizacion de Datagridview,

    ¿Alguna novedad sobre la consulta realizada? ¿Han sido útiles las respuestas proporcionadas?

     

    Saludos cordiales

    Gabriel Castro

     ____________________________ 

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    jueves, 30 de julio de 2020 22:55
    Moderador