Пожалуйста, включите JavaScript для просмотра этого сайта.

Скрипты Simple-Scada

История: Примеры скриптов > Работа с БД

Как выполнять запросы к БД

Пред. Вверх След. Еще

В базе данных можно создавать таблицы, добавлять в них строки с данными, удалять, редактировать их и т.д. Все эти действия выполняются через SQL-запросы к БД. Например, чтобы добавить новую строку в таблицу "my_table" с двумя целочисленными столбцами, нужно выполнить соответствующий SQL-запрос: "INSERT INTO `my_table` (col1, col2) VALUES (11, 65);" . Чтобы получить содержимое таблицы "my_table", нужно выполнить SQL-запрос на выборку: "SELECT * FROM `my_table`;" . Таким образом вы можете составить любой SQL-запрос, который будет выполнять нужную вам задачу. Затем SQL-запросы можно выполнять из Simple-Scada. Мы рекомендуем сначала убедиться в том, что запрос составлен без ошибок. Например для MySQL можно использовать MySQLWorkbench, чтобы составить SQL-запрос и проверить, что он работает правильно.

Когда SQL-запросы составлены и проверены можно вызывать их из скриптов скады. Для выполнения пользовательских SQL-запросов в Simple-Scada используется процедура RunSQL. В неё нужно передать код SQL-запроса и скада автоматически отправит этот запрос на выполнение. Пусть у нас есть такой SQL-запрос: "INSERT INTO `my_table` (col1, col2) VALUES (11, 65);" и мы хотим выполнить его когда пользователь нажмёт на кнопку. Тогда нужно выделить кнопку и на событие OnClick написать скрипт со следующим кодом:

var
  aQuery: string;
begin
  { Формируем запрос к БД }
  aQuery := 'INSERT INTO `my_table` (col1, col2) VALUES (11, 65);';
  { Отправляем запрос на выполнение c тегом = 0}
  RunSQL(aQuery, nil0); 
end.

Готово. Сначала мы записали текст SQL-запроса в строковую переменную aQuery, а затем вызвали RunSQL с этой строковой переменной. Далее скада автоматически отправит наш запрос к БД. Если запрос выполнится успешно (без ошибок), то скада вызовет все скрипты с типом события "Выполнен SQL-запрос". Если при выполнении запроса что-то пойдёт не так (например если запрос написан с ошибкой), то скада вызовет скрипты с типом события "Ошибка SQL-запроса".

Примеры скриптов

Одинарные кавычки в SQL-запросах

Длинные SQL-запросы в коде

Как понять что запрос выполнился

Метод RunSQL компонента "Таблица"