none
Concurrencia en ADO.NET RRS feed

  • Pregunta

  • Hola, quiero modificar la fila de una tabla de una BD access mediante ADO.Net.

    Cuando intento actualizar el DataAdapter salta una excepcion,ya que comprueba que he modificado una fila existente en la tabla.

    He leido que esto se debe a que se utiliza una concurrencia optimista, pero ¿cómo puedo hacer para que se guarde el cambio?.

    Muchas gracias.

    Un saludo.
    miércoles, 13 de febrero de 2008 0:28

Todas las respuestas

  • Puedes Poner el Código para ver como lo Haces?

     

    Gracias.

     

    miércoles, 13 de febrero de 2008 12:24
  • Hola, mi aplicación se compone de una serie de cajas en las que se introducen los nuevos datos. Una vez realizado esto se pulsa un botón para guardar los cambios, saltanto a la función de dicho botón cuyo código es el siguiente (solo he puesto la parte importante):


    ....
                DataRow row = dataTable.Rows[currRec];

                row.BeginEdit();
                row["title"] = txtArticleTitle.Text;
                row["topic"] = txtArticleTopic.Text;
                row["authorId"] = txtAuthorId.Text;
                row["lines"] = txtNumOfLines.Text;
                row["dateOfPublishing"] = txtDateOfPublishing.Text;
                row.EndEdit();

                dataAdapter.Update(ds, "prog"); //ds es el DataSet que generé al conectar con la BD en otra parte del programa           ds.AcceptChanges();
    ....


    El caso es que si borro una fila de la tabla o añado una nueva, también tengo que pulsar el botón de guardar y funciona bien.
    Solo falla si modifico algún campo de una tupla que ya existía previamente.

    El problema que tengo creo que es el que indiqué antes, pero no se como resolverlo.
    miércoles, 13 de febrero de 2008 13:33
  • Con ese código y sin ver exactamente el error, no me puedo hacer a la idea del problema, pero si crees que es por la concurrencia en este link tienes toda la información necesaria.

     

    http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/cpguide/html/cpconOptimisticConcurrency.asp

     

    http://msdn.microsoft.com/library/spa/default.asp?url=/library/SPA/vbcon/html/vboriDataUpdatesConcurrency.asp

     

     

    Saludos.

     

    miércoles, 13 de febrero de 2008 15:23