none
DataGridView y mensaje de error RRS feed

  • Pregunta

  • Que tal a todos

    La pregunta de hoy es:

    Cuando se genera un error en el motor de base de datos ya sea por querer guardar un key duplicado o un valor nulo, en un campo que no se permite o cualquier otro error, en el datagridview se coloca un icono rojo igual al del errorprovider y si uno se coloca sobre este figura el error, ahora bien mi pregunta es como modificar ese mensaje por cada uno de los registros en los que figure? O sea como interceptar el error y modificarlo.

    Desde ya muchas gracias
    domingo, 7 de octubre de 2007 2:18

Respuestas

  • Después de probar encontré la siguiente solución espero que ha alguien le sirva



    Bloque de código

            'primero le indicamos al dataAdapter a que siga cargando los datos a pesar de encontrar errores
            DataAdapter.ContinueUpdateOnError = True
            'Luego indicamos que realize el update de los datos modificados en el dataset
            Me.DataAdapter.Update(Me.DataSet.Tables("Tabla"))

            'Luego corroboramos si uvo algun error
            If DataSet.Tables("tabla").HasErrors = True Then
                'Declaramos una varialbe para reccorres todos los errores que se produjeron en la carga
                Dim Bucle As Integer
                'Generamos una estructura del tipo DataRows donde se almacenarán todas las filas con errores
                Dim Filas() As DataRow
                'Pasamos a la estructura Filas todas las filas con errores
                Filas = DataSet.Tables("Tabla").GetErrors
                'Recorro todas las filas donde hay errores y le prsonalizo el mensaje de error
                For Bucle = 0 To Filas.Length - 1
                    Filas(Bucle).RowError = "Fila Con error"
                Next
                DG.Refresh()
            Else
                MsgBox("Se cargaron los datos sin errores")
            End If

    jueves, 11 de octubre de 2007 16:06

Todas las respuestas

  • Después de probar encontré la siguiente solución espero que ha alguien le sirva



    Bloque de código

            'primero le indicamos al dataAdapter a que siga cargando los datos a pesar de encontrar errores
            DataAdapter.ContinueUpdateOnError = True
            'Luego indicamos que realize el update de los datos modificados en el dataset
            Me.DataAdapter.Update(Me.DataSet.Tables("Tabla"))

            'Luego corroboramos si uvo algun error
            If DataSet.Tables("tabla").HasErrors = True Then
                'Declaramos una varialbe para reccorres todos los errores que se produjeron en la carga
                Dim Bucle As Integer
                'Generamos una estructura del tipo DataRows donde se almacenarán todas las filas con errores
                Dim Filas() As DataRow
                'Pasamos a la estructura Filas todas las filas con errores
                Filas = DataSet.Tables("Tabla").GetErrors
                'Recorro todas las filas donde hay errores y le prsonalizo el mensaje de error
                For Bucle = 0 To Filas.Length - 1
                    Filas(Bucle).RowError = "Fila Con error"
                Next
                DG.Refresh()
            Else
                MsgBox("Se cargaron los datos sin errores")
            End If

    jueves, 11 de octubre de 2007 16:06
  • Excelente respuesta al problema que planteaste. No conocía esos miembros del datatable. Te felicito!!!

    jueves, 28 de febrero de 2008 19:25
  • Me alegro que por lo menos le aya servido a alguien
    Gracias por los elogios jejeje.
    jueves, 28 de febrero de 2008 19:39