Hola a todos.
Tengo un mantenimiento en Winforms, y utilizo un DataAdapter para realizar
las actualizaciones a la base de datos.
Mas o menos hago algo así:
System.Data.DataRow dr = null;
dr = dsMantenimiento.Tables[indiceTable].Rows[0];
dr.BeginEdit();
dr["DS_TITULO"] = DS_TITULO;
dr["NM_CANTIDAD"] = NM_CANTIDAD;
dr["FC_ENTRADA"] = vSqlFC_ENTRADA;
dr["NM_ESTADO"] = vSqlNM_ESTADO;
dr["CD_COPIA"] = vSqlCD_COPIA;
dr["NM_PRECIO"] = vSqlNM_PRECIO;
dr.EndEdit();
...
int numFilas = ds.Tables[indiceTable].Rows.Count;
bool tieneCambios = ds.HasChanges();
// No actualizar si no se producen cambios en el Dataset
if (!tieneCambios) return;
System.Data.DataSet dsCambios = ds.GetChanges();
int numActualizados = da.Update(dsCambios); // DataTable de nombre "Table"
numFilas = ds.Tables[indiceTable].Rows.Count;
ds.Merge(dsCambios, false);
ds.AcceptChanges();
numFilas = ds.Tables[indiceTable].Rows.Count;
Console.WriteLine("Num filas " + numFilas);
El caso que después de llamar a AcceptChanges(), el número de filas del
datatable (del ds) aumenta en uno, cuando se supone que he modificado sólo la
fila de la tabla. No entiendo porqué añade otra fila en el datatable.
Por qué puede ser ?
Saludos y gracias de antemano.
Leer las respuestas