C sharp - Al borrar 1 fila de un Dataset, no disminiye el nº

 
Vista:

Al borrar 1 fila de un Dataset, no disminiye el nº

Publicado por Fesioche (5 intervenciones) el 16/12/2009 11:40:30
Buenas! Tengo un problema:
Realizo una consulta a una base de datos, almaceno los resultados en un Dataset, pongamos por ejemplo que devuelve 3 Filas.
LLamo al método tables[0].Rows.Count y me devuelve 3, como debe ser.
Borro una fila del Dataset , vuelvo a llamar al método y me sigue devolviendo 3, en vez de 2.

¿Alguien sabe porqué?¿alguien sabe como solucionarlo?

Salu2 y gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Al borrar 1 fila de un Dataset, no disminiye el

Publicado por Fesioche (5 intervenciones) el 16/12/2009 11:47:36
Vale, acabo de encontrar la respuesta y espero que os sirva de ayuda:

Existen dos métodos para eliminar un objeto DataRow de un objetoDataTable: el método Remove del objeto DataRowCollection y el método Delete del objeto DataRow. Mientras que el método Remove elimina un objeto DataRow de la DataRowCollection, el método Delete únicamente lo marca para su eliminación. La eliminación propiamente dicha se produce cuando la aplicación llama al método AcceptChanges. Si se usa Delete, se puede comprobar mediante programación qué filas están marcadas para eliminación antes de eliminarlas. Cuando una fila está marcada para eliminación, su propiedad RowState está establecida en Deleted.

Si utiliza un DataSet o una DataTable en combinación con un DataAdapter y un origen de datos relacional, utilice el método Delete de la DataRow para quitar la fila. El método Delete marca la fila como Deleted en DataSet o DataTable pero no la quita. En su lugar, cuando el DataAdapter encuentra una fila marcada como Deleted, ejecuta el método DeleteCommand para eliminar la fila en el origen de datos. A continuación se puede quitar la fila permanentemente utilizando el método AcceptChanges. Si utiliza Remove para eliminar la fila, ésta desaparecerá por completo de la tabla, pero el DataAdapter no eliminará la fila del origen de datos.

El método Remove de la DataRowCollection toma una DataRow como argumento y la elimina de la colección, como se muestra en el ejemplo siguiente.

En mi caso personal lo que he hecho ha sido llamar al método
Tables[0].AcceptChanges();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar