
19/01/2005, 08:17
|
 | | | Fecha de Ingreso: diciembre-2004 Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 20 años, 1 mes Puntos: 7 | |
Hola de nuevo, lo que mencionas es natural que sea de esa forma ya que la fuente de donde estás leyendo los datos es otra (el archivo XML) y el "destino" de dichos datos es otra (la BD), la forma como trabaja el DataSet es que cuando se elimina, modifica o inserta una fila esta es marcada en RowState (Deleted, Modified, Added) y así sólo se actualiza los cambios hechos, pero como te decía anteriormente, ya que se leen los datos desde el archivo XML no se tienen ninguna relación directa con la base de datos, es por eso que ingresa todo de nuevo. Segun esto creo que tienes 2 opciones, la primera y mejor opción es que ya no trabajes con el archivo XML sino directamente con la Base de Datos para evitar los problemas que mencionas y la segunda opción es que guardes el archivo XML como resultado del método GetChanges del DataSet para evitar que los datos se inserten nuevamente (pero aquí todavía hay un problema, si es que un dato existente sólo fue modificado, entonces es de seguro que te mandará un error en la actualización)
Saludos |