Изменение данных
Glossary Item Box
Примеры использования класса Update для построения запросов на изменение данных
Пакет с конфигурационным веб-сервисом, реализующим приведенные ниже примеры, можно скачать по ссылке.
В большинстве случаев запрос на изменение должен содержать условие Where, уточняющее какие именно записи необходимо поменять. Иначе будут изменены все записи.
Пример 1
public string GetSqlTextExample(string oldName, string newName) { var result = ""; var update = new Update(UserConnection, "Contact") .Set("Name", Column.Parameter(newName)) .Where("Name").IsEqual(Column.Parameter(oldName)); result = update.GetSqlText(); return result; }
Пример 2
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."; }
Пример 3
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, т. к. необходимо изменить все записи.
Смотрите также: