13 / 13 / 3
Регистрация: 22.01.2023
Сообщений: 12
1

[MasterSCADA 4D] Передать в поле команды запроса MSSQL значение параметра

01.03.2023, 18:37. Показов 3306. Ответов 4

Author24 — интернет-сервис помощи студентам
Здравствуйте!

Как передать в поле команды запроса MSSQL значение параметра?

Пробовал следующие варианты, но не помогло:
- Вставлять в запрос название параметра abc в виде {abc}, @abc и {@abc}. Параметр пробовал брать из объекта и из базового канала протокола. В этом случает на параметра Отказ протокола MSSQL передается True.
- Передавать запрос в виде готовой строки, сформированной в программе на языке ST, далее связывал с полем команды протокола MSSQL. В этом случае ничего не происходит.
Миниатюры
[MasterSCADA 4D] Передать в поле команды запроса MSSQL значение параметра  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.03.2023, 18:37
Ответы с готовыми решениями:

Как в качестве параметра запроса передать значение переменной?
Запрос типа SELECT TOP 10 * FROM TABLENAMEКак в качестве параметра 10 передать значение...

передать значение из запроса в поле формы
Привет всем! Проверьте, плиз Private Sub Form_BeforeUpdate(Cancel As Integer) Dim Query Dim...

Как передать в одном поле 2 параметра
Есть форма и обычное поле select <select autocomplete="off" name="DATE" class="form-control...

Как передать в качестве параметра результат динамического запроса?
Здравствуйте! есть процедура: ALTER PROCEDURE @SourceTable nvarchar(100) ...

4
13 / 13 / 3
Регистрация: 22.01.2023
Сообщений: 12
10.03.2023, 12:34  [ТС] 2
Лучший ответ Сообщение было отмечено ФедосеевПавел как решение

Решение

В результате общения с технической поддержкой, отвечаю тут на свой же вопрос.

Действия по шагам для использования запроса INSERT:
- Добавить протокол MSSQL (Система - АРМ 1 - Протоколы)
- Добавить запрос MSSQL (Система - АРМ 1 - Протоколы - MSSQL)
- Добавить базовый канал (Система - АРМ 1 - Протоколы - MSSQL - Запрос MSSQL)
- У базового канала установить параметр Доступ в значение Output
- Связать выход базового канала с параметром, который нужно передавать в запрос (в моем случае - это параметр Выбор у объекта Выпадающий список)
- У запроса MSSQL изменить в области Задача параметр Подключение по условию в положение TRUE
- У параметра Подключиться в запросе MSSQL изменить в области Общие параметр Начальное значение в положение FALSE
- У запроса MSSQL изменить в области Настройки параметр Команда на значение текста SQL-запроса. В моем случае запрос выглядит так: INSERT INTO [<имя таблицы>] ([<имя поля>]) VALUES ({<название базового канала>})
- У объекта Кнопка добавить событие: Клик мыши - Выдать импульс - Приемник = Подключиться, Длительность = 0ms
Готово
Миниатюры
[MasterSCADA 4D] Передать в поле команды запроса MSSQL значение параметра   [MasterSCADA 4D] Передать в поле команды запроса MSSQL значение параметра   [MasterSCADA 4D] Передать в поле команды запроса MSSQL значение параметра  

4
13 / 13 / 3
Регистрация: 22.01.2023
Сообщений: 12
10.03.2023, 21:10  [ТС] 3
Действия по шагам для использования запроса SELECT:
– Добавить структуру таблицы (Библиотеки → Локальная → Типы данных)
– Добавить поля таблицы в структуру (Библиотеки → Локальная → Типы данных → Структура)
// Название полей структуры должны совпадать с полями таблицы БД

- Добавить Параметр (Объекты → Объект 1)
- У объекта Параметр установить параметр Тип значения в значение ARRAY[*] OF <название структуры>
// Перейти в окно Редактирование объекта Параметр
// Выбрать раздел Массив
// Тип массива = <название структуры>
// Значение Ось 0 установить в положение TRUE
// Кол-во осей = 1
// Нажать кнопку Применить


- Добавить протокол "MSSQL" (Система → АРМ 1 → Протоколы)
- Добавить "Запрос MSSQL" (Система → АРМ 1 → Протоколы → MSSQL)
- Добавить "Базовый канал" (Система → АРМ 1 → Протоколы → MSSQL → Запрос MSSQL)
- У базового канала установить параметр "Доступ" в значение "Input"
- У входа базового канала установить параметр "Тип значения" в значение "ARRAY[*] OF <название структуры>"
- У запроса MSSQL изменить в области "Задача" параметр "Подключение по условию" в положение "TRUE"
- У параметра "Подключиться" в запросе MSSQL изменить в области "Общие" параметр "Начальное значение" в положение "FALSE"
- У запроса MSSQL изменить в области "Настройки" параметр "Команда" на значение текста SQL-запроса. В моем случае запрос выглядит так:
SELECT [<название поля 1>], [<название поля 2>] FROM [<название БД>].[dbo].[<название таблицы>]

- Добавить в "Окно" объект "Кнопка"
- У объекта "Кнопка" добавить событие "Выдать импульс" (Клик мыши → Выдать импульс → Приемник = Подключиться, Длительность = 0ms)

- Добавить в "Окно" объект "Таблица данных"
- У объекта "Таблица данных" в области "Данные" параметр "Источник данных" связать с объектом "Параметр"
- В режиме редактирования полей объекта "Таблица данных" добавить необходимое количество столбцов и назначить каждому определенное поле, исходя из созданной ранее структуры

- Запустить проект, нажать на объект "Кнопка". В результате объект "Таблица данных" заполнится значениями из БД
Готово

P.S.: Вдруг кому пригодится.
3
13 / 13 / 3
Регистрация: 22.01.2023
Сообщений: 12
18.03.2023, 02:25  [ТС] 4
Ошибка при выполнении запроса MSSQL:
- У запроса MSSQL параметр "Ошибка" = invalid vector subscript
У запроса MSSQL параметр "Отказ" = True
Причина: параметры подключения к БД у протокола MSSQL не заполнены или содержат ошибки.
0
0 / 0 / 0
Регистрация: 10.04.2024
Сообщений: 1
06.05.2024, 16:55 5
Действия с созданием Запросов и Базовых каналов помогли и в случае с PostgreSQL. Спасибо!
0
06.05.2024, 16:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2024, 16:55
Помогаю со студенческими работами здесь

Как передать каждую найденную в результате выполнения команды HELP команду команде HELP в качестве параметра?
@echo off chcp 1251&gt;nul help | findstr /b &gt; 1.txt for /F &quot;tokens=1*&quot; %%1 in ('1.txt') do help...

[MasterSCADA] Подключиться к базе данных MSSQL, обменяться данными
maanong, привет. Подскажи пожалуйста начинающему, как вообще подключится к базе из мастерскады?...

Как передать значение параметра функции одного экзешника значению параметра функции другому екзешнику?
Здравствуйте! Ребята подскажите по такому вопросу. У меня есть консольное приложение в...

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

Какое значение параметра /t команды shutdown вы порекомендуете мне использовать?
Здравствуйте. Я решил вместо традиционного метода выключения и перезагрузки компьютера использовать...

Введёное значение параметра запроса
Создаю отчёт на основе запроса с введённым значением параметра. Как вывести в отчёт отдельно...

Как передать значение параметра?
Всем привет.. Как передать значение реквизита документа в справочник? Процедура...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru