none
ERROR AL SEGUNDO GUARDADO EN DATAGRIDVIEW

    Pregunta

  • Buenos dias y un cordial saludo, mi duda es respecto a mi código "si funciona y guarda la primera vez pero cuando intento guardar por segunda vez el mismo documento me sale error

            Me.Validate()
            Me.CARTERADECLIENTESBindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.CARTERADECLIENTESDataSet)

    este es el error:

    Excepción no controlada en la aplicación. Si hace clic en continuar, la aplicación omitirá este error e intentara continuar. Si hace clic en salir, la aplicación se cerrará inmediatamente.


    Update requiere que UpdateCommand sea valido cuando se pasa la colección DataRow con filas modificadas.



    martes, 13 de diciembre de 2016 16:59

Respuestas

  • El UpdateAll lo que hace es llamar al Update de todas las tablas del DataSet. Dará un error si cualquiera de los DataTables tiene filas actualizadas y el correspondiente tableadapter no tiene bien configurado el UpdateCommand. No tiene fácil remedio "así a simple vista". Será necesario usar el debugger y cuando se pare en la línea errónea, usar las herramientas de Visual Studio (ventanas local, autos e immediate, o desplegar la variable en el area de diseño) para indagar en el contenido del dataset a ver qué cambios tiene (si no te lo dice el texto de la excepción) y luego ahondar en el tableadapter a ver qué updatecommand tiene en el dataadapter de esa tabla. Si el error no es obvio y todo aparenta ser correcto, puedes repetir esos mismos pasos poniendo un punto de ruptura en esa línea la primera ves que grabas (cuando graba correctamente) y luego volver a examinar los datos la vez que falla, a ver qué es lo que está configurado de distinta manera. Eso debería darte una pista de dónde o cómo se cambió, con el fin de poder solucionarlo.
    miércoles, 14 de diciembre de 2016 18:17
  • gracias y perdon por la tardanza pero se me presentó un contratiempo, si resulto corregí mi error gracias por la ayuda
    viernes, 16 de diciembre de 2016 15:06

Todas las respuestas

  • Pueden ser muchas cosas; deberías mostrarnos el error completo. Por ejemplo, una cosa que podría pasar es que se te haya olvidado hacer el AcceptChanges del dataset después de grabarlo, con lo que volvería a intentar grabar los mismos datos que ya estaban grabados de la vez anterior y podría dar errores de duplicidad de campos únicos. Ojo, no digo que te esté pasando precisamente eso, lo que digo es que si fuera eso, el mensaje de error nos daría una buena pista porque se vería que el error es de clave duplicada. Por eso es importante conocer los detalles del mensaje, para que nos dé una pista que ayude a localizar el problema.
    martes, 13 de diciembre de 2016 19:04
  • intento agregar imágenes pero no me deja... dice que hasta verifiquen mi cuenta no podré insertar imágenes
    martes, 13 de diciembre de 2016 19:35
  • Bueno, ¿y cuál es el problema para copiar y pegar el texto de la excepción? Cierto que la imagen muchas veces es útil, pero el texto sería ya un primer paso de gran ayuda.

    Por cierto, cuando tengas el problema de agregar imágenes en el foro, un buen truco es subir la imagen a algún servidor (por ejemplo, una cuenta gratuita en OneDrive) y pegar en el foro el enlace a la imagen. No digo que lo hagas ahora, puede que baste con el texto. Pero es bueno que lo tengas en cuenta por si te hiciese falta en alguna otra ocasión.

    martes, 13 de diciembre de 2016 19:41
  • el problema es que si guarda la primera vez pero cuando editas la misma casilla y lo vuelves a guardar te sale error

    vale este es el error:

    Excepción no controlada en la aplicación. Si hace clic en continuar, la aplicación omitirá este error e intentara continuar. Si hace clic en salir, la aplicación se cerrará inmediatamente.

    Update requiere que UpdateCommand sea valido cuando se pasa la colección DataRow con filas modificadas.




    martes, 13 de diciembre de 2016 19:51
  • Vale, la última frase es la clave. Te está diciendo que el UpdateCommand del tableadapter no está bien configurado. Revisa la parte del código donde lo configuras, que probablemente solo se está ejecutando correctamente la primera vez que grabas pero no la segunda (o entre medias de las dos veces se ejecuta algo que lo desconfigura).
    martes, 13 de diciembre de 2016 22:05
  • ya lo verifique y me dice lo mismo pero esta vez me marca que en este párrafo está el error.

    Me.TableAdapterManager.UpdateAll(Me.CARTERADECLIENTESDataSet)

    miércoles, 14 de diciembre de 2016 16:40
  • El UpdateAll lo que hace es llamar al Update de todas las tablas del DataSet. Dará un error si cualquiera de los DataTables tiene filas actualizadas y el correspondiente tableadapter no tiene bien configurado el UpdateCommand. No tiene fácil remedio "así a simple vista". Será necesario usar el debugger y cuando se pare en la línea errónea, usar las herramientas de Visual Studio (ventanas local, autos e immediate, o desplegar la variable en el area de diseño) para indagar en el contenido del dataset a ver qué cambios tiene (si no te lo dice el texto de la excepción) y luego ahondar en el tableadapter a ver qué updatecommand tiene en el dataadapter de esa tabla. Si el error no es obvio y todo aparenta ser correcto, puedes repetir esos mismos pasos poniendo un punto de ruptura en esa línea la primera ves que grabas (cuando graba correctamente) y luego volver a examinar los datos la vez que falla, a ver qué es lo que está configurado de distinta manera. Eso debería darte una pista de dónde o cómo se cambió, con el fin de poder solucionarlo.
    miércoles, 14 de diciembre de 2016 18:17
  • gracias y perdon por la tardanza pero se me presentó un contratiempo, si resulto corregí mi error gracias por la ayuda
    viernes, 16 de diciembre de 2016 15:06