Hola,
estoy con el Visual Studio 2005. Tengo un DataTable cargado con un Select de
una base de datos Access.
Todo el trabajo que realizo con la tabla me funciona bien, pero hay un punto
donde me da error:
Al intentar borrar, el codigo es el siguiente:
public void borrarDatosGrid()
{
foreach (DataRow fila in dt.Rows)
{
fila.Delete();
}
da.Update(dt); //Aqui es donde salta la excepcion.
dt.AcceptChanges();
}
Creo que el error no se encuentra aqui, ya que si borro directamente no
tengo ningun problema, todo va bien.
El problema se encuentra cuando ingreso datos en el DataTable y a
continuacion borro todo el contenido del DataTable, entonces me salta la
excepcion:
System.Data.DBConcurrencyException was unhandled
Message="Concurrency violation: the DeleteCommand affected 0 of the
expected 1 records."
Source="System.Data"
RowCount=1
.
El codigo de cuando ingreso datos es el siguiente(aqui supongo es donde esta
el problema, ya que sin hacer esto, funciona):
public void guardarCambios()
{
try
{
if (dt.GetChanges() != null)
{
if (MessageBox.Show(this,"¿Desea guardar los
cambios?","Guardar cambios",MessageBoxButtons.YesNo,MessageBoxIcon.Question)
== DialogResult.Yes)
{
da.Update(dt);
}
else
{
dt.RejectChanges();
dgvConta.Update();
}
dt.AcceptChanges();
}
}
catch(Exception e)
{
MessageBox.Show(e.ToString());
}
}
Espero que alguien me ayude, porque yo no veo el error.
Gracias
Leer las respuestas