Creatio development guide
PDF
Описание платформы
Это документация Creatio версии 7.15.0. Мы рекомендуем использовать новую версию документации.

Удаление данных. Класс Delete

Glossary Item Box

Общие сведения

Класс Terrasoft.Core.DB.Delete предназначен для построения запросов на удаление записей в таблице базы данных Creatio. В результате создания и конфигурирования экземпляра этого класса будет построен запрос базу данных приложения в виде SQL-выражения DELETE.

Класс Terrasoft.Core.DB.Delete

К СВЕДЕНИЮ

Полный перечень методов и свойств класса Delete, его родительских классов, а также реализуемых им интерфейсов, можно найти в документации ".NET библиотеки классов ядра платформы".

Конструкторы

  • public Delete(UserConnection userConnection) — создает экземпляр класса, используя UserConnection.
  • public Delete(Delete source) — создает экземпляр класса, являющийся клоном экземпляра, переданного в качестве аргумента.

Свойства

Табл. 1. — Основные свойства класса

Свойство Тип Описание
UserConnection Terrasoft.Core.UserConnection Пользовательское подключение, используемое при выполнении запроса.
Condition Terrasoft.Core.DB.QueryCondition Условие выражения Where запроса.
HasCondition bool Определяет наличие выражения Where в запросе.
Source Terrasoft.Core.DB.ModifyQuerySource Источник данных запроса.

Методы

Табл. 2. — Основные методы класса

Методы Описание
string GetSqlText() Возвращает SQL-текст запроса.
void BuildSqlText(StringBuilder sb) Формирует текст запроса при помощи экземпляра StringBuilder.
void ResetCachedSqlText() Очищает закэшированный текст запроса.
QueryParameterCollection GetUsingParameters() Возвращает коллекцию параметров, используемых запросом.

int Execute()

Выполняет запрос. Возвращает количество задействованных запросом записей.

int Execute(DBExecutor dbExecutor)

Выполняет запрос, используя экземпляр DBExecutor. Возвращает количество задействованных запросом записей.

QueryCondition Where()

QueryCondition Where(string sourceColumnAlias)

QueryCondition Where(string sourceAlias, string sourceColumnAlias)

QueryCondition Where(Select subSelect)

QueryCondition Where(Query subSelectQuery)

QueryCondition Where(QueryColumnExpression columnExpression)

Query Where(QueryCondition condition)

Добавляет к текущему запросу начальное условие.

Параметры:

  • sourceColumnAlias — псевдоним колонки, для которой добавляется условие;
  • sourceAlias — псевдоним источника;
  • subSelect — подзапрос выборки данных, для результатов которого добавляется условие;
  • subSelectQuery — подзапрос, для результатов которого добавляется условие;
  • columnExpression — выражение, для результатов которого добавляется условие;
  • condition — условие запроса.

QueryCondition And()

QueryCondition And(string sourceColumnAlias)

QueryCondition And(string sourceAlias, string sourceColumnAlias)

QueryCondition And(Select subSelect)

QueryCondition And(Query subSelectQuery)

QueryCondition And(QueryParameter parameter)

QueryCondition And(QueryColumnExpression columnExpression)

Query And(QueryCondition condition)

К текущему условию запроса добавляет условие (предикат), используя логическую операцию И.

Параметры:

  • sourceColumnAlias — псевдоним колонки, для которой добавляется предикат;
  • sourceAlias — псевдоним источника;
  • subSelect — подзапрос выборки данных, используемый в качестве предиката;
  • subSelectQuery — подзапрос, используемый в качестве предиката;
  • parameter — параметр, для которого добавляется предикат;
  • columnExpression — выражение, используемое в качестве предиката;
  • condition — условие запроса.

QueryCondition Or()

QueryCondition Or(string sourceColumnAlias)

QueryCondition Or(string sourceAlias, string sourceColumnAlias)

QueryCondition Or(Select subSelect)

QueryCondition Or(Query subSelectQuery)

QueryCondition Or(QueryParameter parameter)

QueryCondition Or(QueryColumnExpression columnExpression)

Query Or(QueryCondition condition)

К текущему условию запроса добавляет условие (предикат), используя логическую операцию ИЛИ.

Параметры:

  • sourceColumnAlias — псевдоним колонки, для которой добавляется предикат;
  • sourceAlias — псевдоним источника;
  • subSelect — подзапрос на выборку данных, используемый в качестве предиката;
  • subSelectQuery — подзапрос, используемый в качестве предиката;
  • parameter — параметр, для которого добавляется предикат;
  • columnExpression — выражение, используемое в качестве предиката;
  • condition — условие запроса.

Delete From(string schemaName)

Delete From(ModifyQuerySource source)

Добавляет в текущий запрос источник данных. Возвращает текущий экземпляр Delete.

Параметры:

  • schemaName— название схемы (таблицы, представления);
  • source— источник данных.

Примеры использования

Пакет с конфигурационным веб-сервисом, реализующим приведенные ниже примеры, можно скачать по ссылке.

ВАЖНО

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

ВАЖНО

Код в примерах показывает различные способы передачи параметров в запрос. При разработке проекта учитывайте, что в метод Column.Const не следует передавать параметры, контролируемые пользователем, так как это может привести к потенциальным sql-инъекциям.

Пример 1

Получить текст SQL запроса.

public string GetSqlTextExample(string name)
{
    var result = "";
    var delete = new Delete(UserConnection)
        .From("Contact")
        .Where("Name").IsEqual(Column.Const(name));
    result = delete.GetSqlText();
    return result;
}

Пример 2

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

public string DeleteContacts(string name)
{
    var delete = new Delete(UserConnection)
        .From("Contact")
        .Where("Name").IsEqual(Column.Parameter(name));
    var cnt = delete.Execute();
    return $"Contacts with name {name} were deleted. {cnt} rows affected";
}
© Terrasoft 2002-2020.

Был ли данный материал полезен?

Как можно улучшить эту статью?