С Новым годом! Форум программистов, компьютерный форум, киберфорум
SCADA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
14 / 14 / 3
Регистрация: 22.01.2023
Сообщений: 12
1

[MasterSCADA 4D] Заполнение выпадающего списка значениями из поля таблицы базы данных

01.03.2023, 20:54. Показов 1898. Ответов 1

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

Есть ли возможность заполнить объект выпадающего списка значениями из поля таблицы базы данных? И как примерно это сделать?

Полагаю, что нужно на языке ST как-то пройтись по содержимому всего поля таблицы, сформировать некий массив и получить строку из объектов массива, разделенных символом ~. Значение выбранной строки по полям я знаю как получить, но в цикле от начала до конца как сослаться на объект структуры таблицы, пока нет.

В качестве временного решения заполняю объект выпадающего списка через команды на языке ST.
Миниатюры
[MasterSCADA 4D] Заполнение выпадающего списка значениями из поля таблицы базы данных  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.03.2023, 20:54
Ответы с готовыми решениями:

Заполнение таблицы значениями при выборе из выпадающего списка
Добрый день, подскажите как сделать так что бы значения из одно таблицы перенеслись в другу, при...

Выбирать название таблицы из базы данных с помощью выпадающего списка
Доброго времени суток! Возникла вот такого рода задача: Реализуйте WinForms приложение,...

Заполнение таблицы из выпадающего списка
Я пытаюсь написать Веб приложение для работы с Базой данных. Три таблицы: Груз, Груз в перевозке и...

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

Заполнение items компонента DBCombobox значениями поля из другой таблицы
Подскажите как это реализовать?

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

Решение

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

– Добавить структуру таблицы (Библиотеки → Локальная → Типы данных)
– Добавить поля таблицы в структуру (Библиотеки → Локальная → Типы данных → Структура)
// Название полей структуры должны совпадать с полями таблицы БД

//На вход программы можно передавать как отдельный параметр, связанный с входом запроса протокола MSSQL, так и сам вход запроса протокола MSSQL. Далее описание действий без использования отдельного параметра.

- Добавить Параметр (Объекты → Объект 1) // В него будет передаваться результат работы скрипта на языке ST
- У объекта Параметр установить параметр Тип значения в значение STRING

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

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

- Добавить в "Окно" объект "Выпадающий список"
- У объекта "Выпадающий список" в области "Значения" параметр "Список" связать с Параметром (Входящая связь)

- Добавить объект "Программа_ST" (Объекты → Объект 1 → Ресурсы → Программы → Программа ST)
- У объекта "Программа_ST" в область "Вход" перетащить параметр "Вход" базового канала MSSQL
- У объекта "Программа_ST" в область "Выход" перетащить объект "Параметр"
- У объекта "Программа_ST" в область текстового редактора ввести следующий программный код:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
VAR
    i : UINT := 0;
    L : UINT := 1;
    s : STRING := "";
END_VAR
 
    s := "";
    L:= UPPER_BOUND(ARR := <"Вход" базового канала MSSQL>, DIM := 1);
    FOR i := 1 TO L DO
        s := CONCAT(s, "~", <"Вход" базового канала MSSQL>[i].<название поля 2>);
    END_FOR
 
    <"Параметр"> := s;
- Запустить проект, нажать на объект "Кнопка". В результате объект "Выпадающий список" заполнится значениями из необходимого поля БД.
Готово.
2
18.03.2023, 03:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2023, 03:49
Помогаю со студенческими работами здесь

Получение только одного поля таблицы из выпадающего списка, содержащего несколько полей
Здравствуйте! Столкнулся с такой проблемой: у меня есть несколько связанных таблиц. Есть таблица...

Получение только одного поля таблицы из выпадающего списка, содержащего несколько полей
Здравствуйте! Столкнулся с такой проблемой: у меня есть несколько связанных таблиц. Есть таблица...

Запись в базу данных из выпадающего списка из базы
Прошу помощи, в интернете не могу найти ничего путного сама, можно пример любой, где выпадающий...

Заполнение базы данных с определенного номера поля ключевого поля
Добрый день, написан код для заполнения таблицы на c#, но при запуске выдает ошибку, что не может...

Заполнение столбца StringGrid случайными значениями из базы данных
Здравствуйте! Суть в следующем. Один из столбцов StringGrid должен быть заполнен названиями...

Заполнение элемента формы значениями из базы данных через PHP
Здравствуйте! Помогите пожалуйста правильно организовать заполнение элемента формы select типа...


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

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