Skip to Content

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

alt

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

alt

Свойства

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

СвойствоТипОписаниеПример
База данных:Группа свойств для установки подключения к базе данных. Заполняется в том случае, когда элемент «Вставка данных» используется вне контейнера «Присоединиться к БД»
Соединение с БД*LTools.Database.DatabaseInstНазвание переменной, хранящей инстанс соединения с БД. Используется для более быстрого подключения к уже активному соединению. Если переменная указана, то свойства «Тип БД» и «Строка соединения» заполнять не нужно
Строка соединенияStringСтрока соединения с БД. Строку можно сформировать автоматически по кнопке — в этом случае откроется окно мастера (Wizard)

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
Данные запроса:
Данные*System.Data.DataTableДанные в виде таблицы. Укажите название переменной
Таблица*StringНазвание таблицы в БД, в которую вы хотите вставить данные"table1"
Таймаут*Int32Таймаут запроса в секундах10000

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

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

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

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

Окно мастера

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

Свойство Строка соединения имеет кнопку — при ее нажатии появится мастер создания строки соединения. Окно мастера будет отличаться для разных БД — убедитесь, что свойство Тип БД заполнено верно.

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

Для Ole DB

Мастер для PostgreSQL:

Для Postgre Sql

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

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

Заполненные параметры подключения к 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);