Error de actualizaci贸n en un DATAGRID

santiago
06 de Febrero del 2004
Estimados compa帽eros,

Estoy haciendo el ejemplo de uso del Datagrid y uso de UPDATE y DELETE en Visual Studio .NET utilizando ASP .NET. El Delete lo hace sin problemas pero cuando intento hacer el UPDATE obtengo el siguiente error: "Update requiere que UpdateCommand sea v谩lido cuando se pasa la colecci贸n DataRow con filas modificadas."

He le铆do en Microsoft que hay que incluir un SQLCommandBuilder apuntando al DataAdapter para solucionarlo pero No lo he conseguido.

Os env铆o parte del c贸digo para por si alguien puede ayudarme

Nota: En comentarios aparece el SqlCommandBuilder que he intentado poner para resolver el problema


Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.EditCommand
DataGrid1.EditItemIndex() = e.Item.ItemIndex
DataGrid1.DataBind()
End Sub

Private Sub DataGrid1_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.CancelCommand
DataGrid1.EditItemIndex() = -1
DataGrid1.DataBind()
End Sub

Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand

Dim empresa, cargo As String

' Obtenemos el valor de la columna clave de la columna que va a ser modificada
Dim key As String = DataGrid1.DataKeys(e.Item.ItemIndex).ToString

Dim tb As TextBox 'Obtenemos los campos modificados
tb = CType(e.Item.Cells(1).Controls(0), TextBox)
empresa = tb.Text
tb = CType(e.Item.Cells(2).Controls(0), TextBox)
cargo = tb.Text

Dim r As DataSet1.clientesRow
r = DataSet11.clientes.FindBynombre(key)

' Actualizamos el dataset
r.empresa = empresa
r.cargo() = cargo

'Dim cb As New SqlCommandBuilder(SqlDataAdapter1)

SqlDataAdapter1.Update(DataSet11) ' Actualizamos la base de datos con el dataset
DataGrid1.EditItemIndex = -1 ' Quitamos el modo de Edici贸n
DataGrid1.DataBind() ' Refrescamos el grid

End Sub

Muchas Gracias