Foros del Web » Programación para mayores de 30 ;) » .NET »

problema con sqlDataAdapter.Update con dos tablas

Estas en el tema de problema con sqlDataAdapter.Update con dos tablas en el foro de .NET en Foros del Web. Que tal: Pues bien, tengo el siguiente codigo el cual utiliza clases. En la clase "clsFunciones" tengo las dos siguientes funciones: ' Funcion que carga ...
  #1 (permalink)  
Antiguo 07/11/2009, 09:47
 
Fecha de Ingreso: octubre-2009
Mensajes: 26
Antigüedad: 14 años, 6 meses
Puntos: 0
Pregunta problema con sqlDataAdapter.Update con dos tablas

Que tal:

Pues bien, tengo el siguiente codigo el cual utiliza clases.

En la clase "clsFunciones" tengo las dos siguientes funciones:

' Funcion que carga los datos de la tabla en el data grid view
Public Function cargaDatos(ByVal dgvN As DataGridView, ByVal bs As BindingSource)
Try
' Inicializar el SqlDataAdapter indicandole el comando y el connection string
adaptador = New SqlDataAdapter("SELECT tbProductos.Id_producto, tbProductos.Producto, tbProductos.Descripcion, tbCategorias.Categoria, tbProductos.Stock, tbProductos.Precio, tbProductos.Status, tbProductos.Imagen FROM tbProductos, tbCategorias WHERE tbProductos.Id_categoria = tbCategorias.Id_categoria", cadenaConexion)
Dim SqlCommandBuilder As New SqlCommandBuilder(adaptador)
' Llenar el DataTable
Dim dt As New DataTable()
adaptador.Fill(dt)
' Enlazar el BindingSource con el datatable anterior
bs.DataSource = dt

Return bs
Catch exSql As SqlException
MsgBox(exSql.Message.ToString)
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
End Function



' Función que actualiza las celdas modificadas en el grid view
Public Function actualizaDatos(ByVal bs As BindingSource)
If Not bs.DataSource Is Nothing Then
adaptador.Update(CType(bs.DataSource, DataTable))
Return bs
End If
End Function

Cuando carga la forma realiza lo siguiente:

dgvProductos.DataSource = bs
apuntador.cargaDatos(dgvProductos, bs)

De manera que en el gridview "dgvProductos" me carga lo de la tabla "tbProductos" y la categoria de "tbCategorias"

Pero cuando realizo un cambio en el gridview y quiero actualizar con:

apuntador.actualizaDatos(bs)

Sin embargo me marca el siguiente error:

La generación SQL dinámica no es compatible con varias tablas de base.


Entonces quisiera saber de manera puedo actualizar los datos ya que por lo que veo, el sqldataadapter.update solo funciona con una tabla.

Gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:49.