se manualmente ti funziona probabilmente sbagli qualcosina dopo.... ti posto il mio codice di aggiornamento
codice:
Sub funz_edit(ByVal s As Object, ByVal e As DataGridCommandEventArgs)
Dim id_ass As Integer
Dim list_cli As DropDownList
Dim dat_textb As TextBox
Dim ore_textb As TextBox
Dim lug_textb As TextBox
Dim lav_texb As TextBox
Dim str_client As String
Dim str_data As String
Dim str_ore As String
Dim str_luog As String
Dim str_lav As String
id_ass = DataGrid1.DataKeys(e.Item.ItemIndex)
list_cli = e.Item.FindControl("dd_client")
dat_textb = e.Item.FindControl("dat_txb")
ore_textb = e.Item.FindControl("or_txb")
lug_textb = e.Item.FindControl("lug_txb")
lav_texb = e.Item.FindControl("lav_txb")
str_client = list_cli.SelectedItem.Text
str_data = dat_textb.Text
str_ore = ore_textb.Text
str_luog = lug_textb.Text
str_lav = lav_texb.Text
str_luog = str_luog.Replace(",", ".")
Dim strSQL_up As String
strSQL_up = "Update interventi set client=@client, data=@datax, ore=@ore, dove=@dove, lavoro=@lavoro where id=@id"
Dim comd_SQL_up As OleDbCommand
comd_SQL_up = New OleDbCommand(strSQL_up, cnx)
comd_SQL_up.Parameters.Add("@client", str_client)
comd_SQL_up.Parameters.Add("@datax", OleDbType.Date).Value = str_data
comd_SQL_up.Parameters.Add("@ore", OleDbType.Double).Value = str_ore
comd_SQL_up.Parameters.Add("@dove", str_luog)
comd_SQL_up.Parameters.Add("@lavoro", str_lav)
comd_SQL_up.Parameters.Add("@id", id_ass)
cnx.Open()
comd_SQL_up.ExecuteNonQuery()
cnx.Close()
DataGrid1.EditItemIndex = -1
bindatagrid("ID")
End Sub