Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » Операторский интерфейс SCADA/HMI TRACE MODE 6 / » ГЭ "База данных"

   
Автор / Author Тема / Topic: ГЭ "База данных"
Eman1982
Forum Member / Участник форума
Участник № / Member № 5619


Icon 1 отправлено / posted      Профиль для / Profile for Eman1982           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день!
Xочу отображать данные из БД MS SQL в виде таблицы.
Для этого существуют ГЭ "База данных"(РП, стр 278-279)
Я ожидал, что функционал такого БД будет в целом примерно равен аналогичному компоненту в Делфи или С++ Билдер.
Но, кажется это не так.

Можно ли задавать столбцам получившейся таблицы русские названия вместо названий типа t20minval.dt, полученных от самой таблицы бд?
Можно ли задавать форматирование столбцов типа float в столбцах(кол-во знаков после запятой)?
Можно ли заполнение ГЭ делать не по стандартной кнопке ГЭ, а по другой, которую я назову, допустим "Суточные значения"?

Если нет, если этот ГЭ действительно никакой по функционалу, можно ли организовать вывод данных из БД в виде таблицы каким-то другим способом?

Сообщения / Posts 45 | Из / From: Ukraine  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. Имена столбцов в ГЭ «База данных» образуются как «имя таблицы БД».«имя столбца в таблице». Кириллица поддерживается.
2. Настройки, позволяющей изменить количество знаков после запятой, у этого ГЭ нет.
3. Данные в ГЭ "База данных" обновляются только по нажатию на кнопку «Запрос».

Можно сделать таблицу из ГЭ «Текст».
Если в МРВ есть поддержка документирования, то можно формировать таблицу в html-файле и выводить ее на экран через ГЭ «Текст из файла».

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Eman1982
Forum Member / Участник форума
Участник № / Member № 5619


Icon 1 отправлено / posted      Профиль для / Profile for Eman1982           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо за информацию.
А можно ли использовать какой-нибудь ActiveX DBGrid? Я пробовал прикрутить дбгрид от VB6, не получается- проект выбивает.
если ActiveX DBGrid можно использовать, то какой бы вы порекомендовали?

Если придется делать таблицу из ГЭ текст, то как отбратиться к конкретной строке результата запроса Select?
Допустим, нужно получить данные по 31 дню.
делаю запрос SELECT по дате за, допустим, январь.
В Call.SQLQuery сохраняется 31 запись из БД.
Как тогда привязать ГЭ Текст к каждой конкретной записи выборки?

Сообщения / Posts 45 | Из / From: Ukraine  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. У нас нет этого ActiveX, но если Вы вышлите его нам на почту, то мы попытаемся разобраться в чем проблема.

2. Если объем выборки постоянен, то нужно делать групповой SQL-запрос, результат которого будет получен в аргументах канала Call.ChGroupReq. Затем к аргументам канала вызова экрана привязать аргументы канала Call.ChGroupReq.

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Eman1982
Forum Member / Участник форума
Участник № / Member № 5619


Icon 1 отправлено / posted      Профиль для / Profile for Eman1982           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Вы писали:
---
Если в МРВ есть поддержка документирования, то можно формировать таблицу в html-файле и выводить ее на экран через ГЭ «Текст из файла».
---
Но в РП (14 издание) в 1т., стр. 387 "Конфигурирование табличных значений" написано, что вывод в столбец архивных значений предусмотрен только из SIAD.

Так все-таки, можно выводить в таблицу отчета данные из MS SQL или только из SIAD?
Мне отчеты тоже нужно формировать, для того мы и купили ДокМРВ+.

Сообщения / Posts 45 | Из / From: Ukraine  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. Удобней работать с электронной справочной системой Trace Mode.

2. Подразумевалось использование механизма SubNum, который позволяет в табличной форме вывести аргументы каналов Call в документ.

Посмотрите демо-проект "Из БД в документ", выложенный в разделе "Тестовые примеры".

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Eman1982
Forum Member / Участник форума
Участник № / Member № 5619


Icon 1 отправлено / posted      Профиль для / Profile for Eman1982           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
По вашему совету организовал DBGrid из ГЭ текст.
Каждый ГЭ Текст привязал к аргументу канала Call.ChGroupReq.

Все работает неплохо. Но только в том случае, если в результате Select получилась выборка с количеством строк большим или равным количеству аргументов Call.ChGroupReq.

В случае, если в результате Select получилось выбрать меньшее количество строк, чем аргументов Call.ChGroupReq(например, если нет данных удовлетворяющих select... where....) то на входе Call.SQLQuery базы данных(параметр In,2) так и висит число 65535. То есть SQL-запрос никогда не закончится.

Что делать в такой ситуации?

Сообщения / Posts 45 | Из / From: Ukraine  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Call.ChGroupReq число аргументов меняется и соответствует числу выбранных строк
выводить удобнее через subnum !

[ 24.04.2012, 11:28: Сообщение отредактировал / Message edited by AdAstra Technical Support ]

Сообщения / Posts 554 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Eman1982
Forum Member / Участник форума
Участник № / Member № 5619


Icon 1 отправлено / posted      Профиль для / Profile for Eman1982           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Nico, видно вы уже сталкивались с подобной ситуацией, расскажите подробнее.
Вот вы говорите, что число аргументов Call.ChGroupReq меняется само.

Как такое может быть, если я сам на закладке "Аргументы" в канале создаю необходимое мне количество аргументов?

Вы говорите, удобнее использовать subnum.
Как технически это сделать? Вот с Call.ChGroupReq понятно- создал в нем нужное кол-во аргументов. Привязал каждый ГЭ Текст к нужному аргументу и все работает нормально.

Но только, судя по опытам, в том случае, если выбранных строк столько же или больше, чем кол-во аргументов Call.ChGroupReq.

Если выбранных по select строк меньше, происходят всякие глюки. Еще заметил- в случае, если выбранных строк меньше аргументов, в файле <Имя проекта.txt> создаются записи типа:
(11:34:29) WRN_RTM:wrong entry(g)
(11:34:30) WRN_RTM:wrong entry(g)
(11:34:30) WRN_RTM:wrong entry(g)

И записи эти всё пишутся и пишутся, пока запущен профайлер с проектом, в котором произошла вышеописанная ситуация.
Это. кстати, грозит тем, что растущий файл забъет собой весь винчестер....

Сообщения / Posts 45 | Из / From: Ukraine  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
У Call.ChGroupReq число аргументов меняется автоматом в последних релизах
Сообщения / Posts 554 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Eman1982
Forum Member / Участник форума
Участник № / Member № 5619


Icon 1 отправлено / posted      Профиль для / Profile for Eman1982           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Если меняется автоматом, значит нельзя использовать ГЭ "Текст" для формирования таблицы, как рекомендует Модератор.
По вышеописанным мною причинам. Так?

Сообщения / Posts 45 | Из / From: Ukraine  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Ошибка возникает из-за того, что некоторые из аргументов канала вызова экрана ссылаются на аргументы канала Call.ChGroupReq, которых не существует (количество аргументов в канале Call.ChGroupReq изменяется в зависимости от объема выборки).

В тех случаях, когда объем выборки непостоянен, использовать таблицу заранее заданного размера не вполне корректно. В таких ситуациях правильным решением является вывод таблицы на экран из документа, который будет формироваться с помощью механизма SubNum.

Механизм SubNum имеет очень широкий функционал, который позволяет создавать в документе таблицы различной формы. Размер этих таблиц будет изменяться в зависимости от числа аргументов каналов Call. Смотрите раздел справочной системы "Номер SubNum".

Сообщения / Posts 15201 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2