...
<script language="C#">
...
void myDataGrid_EditCommand(Object source, DataGridCommandEventArgs e) {
myDataGrid.EditItemIndex = e.Item.ItemIndex;
}

void myDataGrid_CancelCommand(Object source, DataGridCommandEventArgs e) {
myDataGrid.EditItemIndex = -1;
}

void myDataGrid_UpdateCommand(Object source, DataGridCommandEventArgs e) {
TextBox txtNome; // Creo un controllo TextBox

// Lo cerco all'interno della pagina, alla cella 1
txtNome = (TextBox) e.Item.Cells[1].FindControl("txtNome");
// (conta le colonne del datagrid iniziando dalla prima tenendo conto che è zero-based
// e quindi si inizia da zero)


StringBuilder strSql = new StringBuilder();
strSql.Append("UPDATE bSponsor SET ");
strSql.Append("Nome='" + txtNome.Text + "'");
// ecc...

// Esegui la stringa SQL

myDataGrid.EditItemIndex = -1;
}
...
</script>

<asp:DataGrid ...
DataKeyField="IDCampo"
OnUpdateCommand="myDataGrid_UpdateCommand"
OnCancelCommand="myDataGrid_CancelCommand"
OnEditCommand="myDataGrid_EditCommand"
...
</asp:DataGrid>