Метод InsertRow позволяет вставить строку в таблицу данных. Эквивалентен SQL-запросу INSERT.

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

1. Сигнатура метода

InsertRow(table, columns, values)

Параметры метода:

Параметр Тип Описание
table string Обязательное. Название таблицы.
columns
array of string Обязательное. Массив объектов описывающих столбцы, в которые будут вставлены данные. Необходимо учитывать и обрабатывать случаи, когда некоторые столбцы игнорируются (например, со значениями по умолчанию) или идут в отличном от таблицы порядке.
values array of object Обязательное. Массив значений столбцов. Значения передаются как объект, поэтому могут использоваться различные типы (числовые, текст, и т.д.). Смотрите примеры.

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

Можно вызывать метод InsertRow, используя синтаксис фигурных скобок. Этот способ можно применять в любом месте кода письма, так как метод возвращает пустую строку.

Пример 1 - простейший вызов:

${InsertRow('MyTable', new string[] {'MyColumn'}, new object[] {'foobar'})}

Эквивалентен SQL-запросу:

INSERT INTO MyTable (MyColumn) VALUES ('foobar')

Этот пример предполагает, что у нас есть простая таблица с одним столбцом.

Пример 2 - вставка записи в таблицу с несколькими столбцами различных типов:

${InsertRow('MyTable', new string[] {'MyIntColumn', 'MyTextColumn', 'MyDateColumn'}, new object[] {123, 'foobar', new System.DateTime(2015, 1, 26, 14, 0, 0)})}

Эквивалентен SQL-запросу:

INSERT INTO MyTable (MyIntColumn, MyTextColumn, MyDateColumn) VALUES (123, 'foobar', '2015-01-26 14:00:00')

В этом методе возможно использовать системные переменные, сниппеты и поля подписчика в качестве параметров.