E' quello che pensavo io, ma nell'esempio che ho trovato c'č solo



SqlCommand cmd = new SqlCommand("UPDATE Customers SET CustomerID=@NewCustomerID,"+
"CompanyName=@NewCompanyName, ContactName=@NewContactName "+
"WHERE CustomerID=@OldCustomerID AND CompanyName=@OldCompanyName "+
"AND ContactName=@OldContactName ",Conn);

cmd.CommandType = CommandType.Text;

cmd.Parameters.Add(new SqlParameter("@NewCustomerID",SqlDbType.NChar,5,Pa rameterDirection.Input,false,0,0,"CustomerID",Data RowVersion.Current,null));
cmd.Parameters.Add(new SqlParameter("@NewCompanyName",SqlDbType.VarChar ,50,ParameterDirection.Input,false,0,0,"CompanyNam e",DataRowVersion.Current,null));
cmd.Parameters.Add(new SqlParameter("@NewContactName",SqlDbType.NChar,50, ParameterDirection.Input,false,0,0,"ContactName",D ataRowVersion.Current,null));

cmd.Parameters.Add(new SqlParameter("@OldCustomerID",SqlDbType.NChar,5,Pa rameterDirection.Input,false,0,0,"CustomerID",Data RowVersion.Original,null));
cmd.Parameters.Add(new SqlParameter("@OldCompanyName",SqlDbType.VarChar ,50,ParameterDirection.Input,false,0,0,"CompanyNam e",DataRowVersion.Original,null));
cmd.Parameters.Add(new SqlParameter("@OldContactName",SqlDbType.NChar,50, ParameterDirection.Input,false,0,0,"ContactName",D ataRowVersion.Original,null));

SqlDataAdapter da = new SqlDataAdapter();

da.UpdateCommand = cmd;


eppure l'aggiornamento funziona correttamente, non capisco dove viene passato il valore da aggiornare.