Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/07/2011, 04:05
Cubino
 
Fecha de Ingreso: julio-2011
Ubicación: Barcelona
Mensajes: 9
Antigüedad: 12 años, 9 meses
Puntos: 0
Actualizar base de datos con DataAdapter.Update

Hola!!
tengo una duda y es que estoy intentando utilizar el método update de un DataAdapter para actualizar una base de datos y el problema que tengo es que en el momento que lanzo el update me salta error:
"Update requiere que UpdateCommand sea válido cuando se pasa la colección DataRow con filas modificadas."
leiendo por foros encontré una solución que era utilizando un CommandBuilder y a la hora de lanzar el update me salta el siguiente error:
"La generación SQL dinámica no es compatible con varias tablas de base."
Por lo que tengo entendido no se pueden utilizar "INNER JOINS" en consulta para llenar el DataSet i luego lanzar el update.
Querría saber cual es la forma para actualizar la base de datos a través de DataAdapter.Update(DataSet)
la consulta SQL es la siguiente:

SELECT tblArticulos.IdArt, tblArticulos.Codigo, tblArticulos.NomArt, tblColores.NomColor, tblTallas.NomTalla, tblArtCentro.Precio, tblArtCentro.Descuento, tblArticulos.PCoste, tblArticulos.Etiquetas, tblArticulos.Activo
FROM ((tblArticulos INNER JOIN tblArtCentro ON tblArticulos.IdArt=tblArtCentro.IdArt) INNER JOIN tblColores ON tblArticulos.IdColor = tblColores.IdColor) INNER JOIN tblTallas ON tblArticulos.IdTalla = tblTallas.IdTalla WHERE Activo='S' AND tblArtCentro.IdCen=" & NumCentro ORDER BY Codigo, NomColor, tblArticulos.IdTalla

la forma que utilizo es crear un commando con su conexion i su codigo de consulta, despues le asigno al dataadapter i luego lo cargo con el metodo FILL.
Asigno un datagrid a la tabla i despues de cambiar los valores en la tabla actualizo con el Update la base de datos.
Muchas gracias a todos!