Actualizar base de datos sin OleDbCommandBuilder.

18/06/2004 - 06:56 por Aníbal | Informe spam
Hola,
Tengo un form que muestro como modal con "ShowDialog" en el cual asigno
iconos a categorias y tambien puedo crear y eliminar categorias; estos
cambios los pongo en un DataSet. Luego precionando un botón "Aceptar" o
"Aplicar" quiero guardar las filas cambiadas, agregadas y/o modifiadas del
DataSet en una base de datos. Como puedo hacer esto sin usar un
OleDbCommandBuilder, ya que me da problemas al usarlo, y quiero hacer mis
propias instrucciones; el problema es como hacer para obtener todas las
filas que estan en el DataSet que fueron modificadas, agregadas y/o
eliminadas y guardarlas en la BD de una manera lo más simple posible.

Agradecería cualquier ayuda.
Saludos.
 

Leer las respuestas

#1 Diego Cofré
18/06/2004 - 19:41 | Informe spam
Anibal,
El oleDBDataAdapter tiene tres propiedades (de tipo
OleDBCommand)llamadas InsertCommand, DeleteCommand y
UpdateCommand que contienen las sentencias SQL que son
usadas en el momento de correr el metodo Update (en la
prop. CommandText). El CommandBuilder puede construir esas
sentencias automaticamente (basado en el Select) pero
tambien las podes personalizar y hacerlas como quieras.
Entonces, el dataAdapter funciona de esta manera: en el
momento de correr el Update, toma todas las filas de la
DataTable que fueron modificadas, y una por una le va
aplicando el UpdateCommand con los parametros correctos
para cada fila, lo mismo hace con las insertadas,
aplicandole el InsertCommmand y tambien con las borradas.
Te recomendaria que primero, sin sacar el CommandBuilder
que tenes, examines los UpdateCommand, InsertCommand y
DeleteCommand que te esta armando para ver que pasa, si el
CB no te sirve sacalo y asigna los command a mano.
Espero que te sirva el dato.
Saludos.
Diego.

Hola,
Tengo un form que muestro como modal con "ShowDialog" en


el cual asigno
iconos a categorias y tambien puedo crear y eliminar


categorias; estos
cambios los pongo en un DataSet. Luego precionando un


botón "Aceptar" o
"Aplicar" quiero guardar las filas cambiadas, agregadas


y/o modifiadas del
DataSet en una base de datos. Como puedo hacer esto sin


usar un
OleDbCommandBuilder, ya que me da problemas al usarlo, y


quiero hacer mis
propias instrucciones; el problema es como hacer para


obtener todas las
filas que estan en el DataSet que fueron modificadas,


agregadas y/o
eliminadas y guardarlas en la BD de una manera lo más


simple posible.

Agradecería cualquier ayuda.
Saludos.



.

Preguntas similares