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

Построение запросов на добавление данных

Glossary Item Box

Для создания запросов для добавление данных в базу в bpm'online используется класс Insert.

В качестве параметров конструктор класса Insert может принимать следующие объекты:

  • Пользовательское подключение (Insert (UserConnection)).
  • Другой объект Insert (Insert). В результате будет создана копия запроса Insert, переданного в параметре.
Ниже будет рассмотрен ряд примеров.

Примеры простых запросов

Пример 1

ShowC#

var insert = new Insert(userConnection).Into("Contact")
        .Set("Name", Column.Parameter("ParameterNameValue"))
        .Set("Address", Column.Parameter("ParameterAddressValue")); 
insert.Execute();

ShowMS SQL

INSERT INTO [dbo].[Contact] ([Name], [Address]) VALUES (@P1, @P2)

Пример 2

ShowC#

var insert = new Insert(userConnection).Into("Contact")
        .Set("Name", Column.Const("NameValue"))
        .Set("Address", Column.Const("AddressValue"));
insert.Execute();

ShowMS SQL

INSERT INTO [dbo].[Contact] ([Name], [Address]) VALUES ('NameValue', 'AddressValue')

Пример 3

ShowC#

var insert = new Insert(userConnection).Into("Contact")
        .Set("Name", Func.IsNull(Column.Parameter(string.Empty), Column.Parameter("ParameterValue"))); 
insert.Execute();

ShowMS SQL

INSERT INTO [dbo].[Contact] ([Name]) VALUES (ISNULL(@P1, @P2))

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

Пример 1

ShowC#

var insert = new Insert(userConnection).Into("City")
        .Set("CreatedById",
             new Select(userConnection).Top(1)
                 .Column("Id")
                 .From("Contact")
                 .Where("Name").IsEqual(Column.Parameter("Supervisor")))
        .Set("ModifiedById",
             new Select(userConnection).Top(1)
                 .Column("Id")
                 .From("Contact")
                 .Where("Name").IsEqual(Column.Parameter("User1"))); 
insert.Execute();

ShowMS SQL

INSERT INTO [dbo].[City] ([CreatedById], [ModifiedById])

VALUES((SELECT TOP 1 [Id]

FROM [dbo].[Contact]

WHERE [Name] = @P1),

(SELECT TOP 1 [Id]

FROM [dbo].[Contact]

WHERE [Name] = @P2))

© Terrasoft 2002-2019.

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

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