J'essaie de mettre à jour une valeur d'identification. Ainsi, si l'ID est 1 et que la nouvelle valeur est 2, l'ancien ID doit être remplacé par le nouveau.
Le dos de l'appareil :
public static void UpdateLocation( int locationID, SqlConnection connection, SqlTransaction transaction )
{
StringBuilder sqlString = new StringBuilder();
SqlCommand command;
sqlString.Append( "UPDATE [Location] SET " );
sqlString.Append( "description = @description " );
sqlString.Append( "WHERE locationID = @locationID " );
command = new SqlCommand( sqlString.ToString(), connection );
if( ( transaction != null ) ) command.Transaction = transaction;
command.Parameters.Add( "@locationID", SqlDbType.Int ).Value = locationID;
command.Parameters.Add( "@description", SqlDbType.VarChar ).Value = description;
int rowsAffected = command.ExecuteNonQuery();
if( !( rowsAffected == 1 ) )
{
throw new Exception( "An error has occurred while updating UpdateMedicationDispenseStatus." );
}
}
Côté avant :
private void btnFromLocation_Click( object sender, System.Windows.RoutedEventArgs e )
{
if( !( ( Locations )cmbLocationDescriptionList.SelectedItem == ( Locations )cmbDescriptionListTo.SelectedItem ) )
{
for( int i = 0; i < lstMedicationForCurrentLocation.SelectedItems.Count; i++ )
{
location = (Locations)cmbDescriptionListTo.SelectedItem;
LocationData.UpdateLocation( location.LocationID );
EDITAR J'ai ajouté un paramètre à la requête SQL, mais la mise à jour ne se fait toujours pas.