Изменить данные в базе данных

Сложный

На заметку. Примеры, приведенные в этой статье, реализованы в веб-сервисе. Пакет с реализацией веб-сервиса прикреплен в блоке "Ресурсы".

В большинстве случаев запрос на изменение данных должен содержать условие Where, которое уточняет какие именно записи необходимо изменить. Если не указать условие Where, то будут изменены все записи.

Пример 1 

Пример. Изменить имя контакта.

Метод ChangeContactName
public string ChangeContactName(string oldName, string newName)
{
    var update = new Update(UserConnection, "Contact")
        .Set("Name", Column.Parameter(newName))
        .Where ("Name").IsEqual(Column.Parameter(oldName));
    var cnt = update.Execute();
    return $"Contacts {oldName} changed to {newName}. {cnt} rows affected.";
}

Пример 2 

Пример. Для всех существующих контактов поменять пользователя, изменившего запись, на указанного.

Метод ChangeAllContactModifiedBy
public string ChangeAllContactModifiedBy(string Name)
{
    var update = new Update(UserConnection, "Contact")
        .Set("ModifiedById", 
            new Select(UserConnection).Top(1)
                .Column("Id")
                .From("Contact")
                .Where("Name").IsEqual(Column.Parameter(Name)));
    var cnt = update.Execute();
    return $"All contacts are changed by {Name} now. {cnt} rows affected.";
}

Условие Where относится к запросу Select. Запрос Update не содержит условия Where, поскольку необходимо изменить все записи.