Вставка данных

Insert

Элемент производит вставку данных в указанную таблицу базы данных (БД).

Свойства

Символ * в названии свойства указывает на обязательность заполнения. Описание общих свойств см. в разделе Свойства элемента.

СвойствоТипОписаниеПример

База данных:

Группа свойств для установки подключения к базе данных. Заполняется в том случае, когда элемент «Вставка данных» используется вне контейнера «Присоединиться к БД»

Соединение с БД*

LTools.Database.DatabaseInst

Название переменной, хранящей инстанс соединения с БД. Используется для более быстрого подключения к уже активному соединению. Если переменная указана, то свойства «Тип БД» и «Строка соединения» заполнять не нужно

Строка соединения

String

Ole DB:

"Provider=SQLOLEDB;Data Source=<servername>;Initial Catalog=<dbname>;Integrated Security=SSPI"

PostgreSQL:

"Host=<host>;Port=5432;Password=<password>;Username=<username>;Database=<dbname>"

ODBC:

"DRIVER=<ODBC Driver>; SERVER=<host>; PORT=<port number>;DATABASE=<dbname>; USER=<username>; PASSWORD=<password>"

Тип БД

LTools.Database.Model.DatabaseTypes

Тип подсоединяемой базы данных. Доступные значения:

1. Ole DB — по умолчанию.

2. Postgre Sql.

3. ODBC

Postgre Sql

Вывод:

Кол-во

Int32

Итоговое количество вставленных строк

Данные:

Точное совпадение

Boolean

В базу данных импортируются все колонки из исходной таблицы или только совпадающие. *Функция доступна с версии Студии 1.24.8

Данные запроса:

Данные*

Данные в виде таблицы. Укажите название переменной

Таблица*

String

Название таблицы в БД, в которую вы хотите вставить данные

"table1"

Таймаут*

Int32

Таймаут запроса в секундах

10000

Улучшение производительности

С версии 1.24.8 в Студии процесс импорта данных из DataTable в базу данных был значительно улучшен. За счет объединения всех операций вставки (Insert) в одну транзакцию скорость загрузки больших таблиц увеличена примерно в 2 раза.

Добавлено новое свойство — "Точное совпадение колонок" [Boolean]:

  • Включено: Все колонки из DataTable будут импортированы в базу данных. Если в DataTable есть колонки, которых нет в базе данных, произойдет ошибка.

  • Отключено: Импортируются только те колонки, которые совпадают по именам с колонками в базе данных.

Окно мастера

🔹 Для ODBC мастер отсутствует.

Мастер для Ole DB:

Мастер для PostgreSQL:

После заполнения полей мастера и нажатия кнопки OK строка соединения сформируется автоматически и будет записана в соответствующее свойство.

Рассмотрим пример заполнения мастера для PostgreSQL. В свойстве Тип БД указываем Postgre Sql. После чего вызываем мастер и заполняем параметры подключения:

Нажимаем Тест, чтобы убедиться, что подключение настроено успешно. После чего сохраняем настройки. В свойстве Строка соединения автоматически сформировалось значение из нашего мастера: "Host=localhost;Port=5432;Password=pass;Username=postgres;Database=postgres".

Только код

Пример использования элемента в процессе с типом Только код (Pure code):

LTools.Database.DatabaseApp app = LTools.Database.DatabaseApp.Init(wf, "Provider=SQLOLEDB;Data Source=<servername>;Initial Catalog=<dbname>;Integrated Security=SSPI");
int res = app.Insert("table", data);

Last updated