Страница 1 из 1
AlmDBView запись алармов в файл csv

Добавлено:
Вт фев 18, 2014 1:17 pm
Александр
Здравствуйте! Запись алармов производится в базу SQL (WWAlmDb). В InTouch они отображаются с помощью AlmDBView. Заказчик просит сделать чтобы была возможность вывести в AlmDBView алармы за указанный период времени и чтобы была кнопка для записи данного списка в файл. Почитал кучу мануалов и в них никаких способов кроме "аларм принтера" не указано.
Re: AlmDBView запись алармов в файл csv

Добавлено:
Ср фев 19, 2014 11:18 am
Генератор зла
Есть утилитка, вернее ActiveX компонент для InTouch, wwGenericSQLGrid. Позволяет просматривать значения из БД (как и AlmDBView). В этом компоненте есть ф-ция печати.
http://files.mail.ru/3ED942C9812847F0A27393EC76C6133B
Re: AlmDBView запись алармов в файл csv

Добавлено:
Ср фев 19, 2014 3:42 pm
Александр
ЧТо то не получается подключиться... В настройках DataGrid указал ServerName: localhost, Database: WWAlmDB, ну и соответственно пользователь и пароль.
AlmDBView c теми же настройками подключается к базе...
И сразу же ещё один вопрос можно ли сделать выбор начальной и конечной даты и времени для записи в файл?
Re: AlmDBView запись алармов в файл csv

Добавлено:
Ср фев 19, 2014 5:06 pm
Генератор зла
Александр писал(а):В настройках DataGrid указал ServerName: localhost
Localhost замените на IP
Александр писал(а):можно ли сделать выбор начальной и конечной даты и времени для записи в файл?
В файл пишется содержимое грида. Сделайте выборку за нужный промежуток времени и печатайте.
Re: AlmDBView запись алармов в файл csv

Добавлено:
Ср фев 19, 2014 5:44 pm
Александр
Выставил IP адрес результат тот же. отрицательный..
А не нужно сделать кнопку для "конекта"? или автоматом должно все быть?
Где Статус подключения посмотреть, если это параметр Enable то он равен -1
Re: AlmDBView запись алармов в файл csv

Добавлено:
Ср фев 19, 2014 5:49 pm
Генератор зла
Александр писал(а):А не нужно сделать кнопку для "конекта"? или автоматом должно все быть?
Я же pdf-доку приложил.
Re: AlmDBView запись алармов в файл csv

Добавлено:
Чт фев 20, 2014 1:01 pm
Александр
В pdf-ке не написано что такое SQLString и что там надо указывать....( Я с SQL вообще не знаком.. Если не трудно и не лень не могли бы Вы написать пару примеров, чтоб мне было от чего оттолкнуться
Re: AlmDBView запись алармов в файл csv

Добавлено:
Чт фев 20, 2014 1:26 pm
Генератор зла
Александр писал(а):В pdf-ке не написано что такое SQLString и что там надо указывать....
Это строка SQL-запроса, что то вида:
Select * from v_AlarmHistory
Re: AlmDBView запись алармов в файл csv

Добавлено:
Вт фев 25, 2014 1:57 pm
Александр
Проблемка следующая... нужно вывести в таблице нужные поля, но когда пытаюсь вывести больше трех полей выскакивает ошибка.
#Grid1.SQLString = "SELECT EventStamp,TagName,Value,AlarmState(и т.д.) FROM v_AlarmHistory WHERE(EventStamp >= ' "+StartData+" ' AND EventStamp <= ' "+EndData+" ')";
Что посоветуете?
Re: AlmDBView запись алармов в файл csv

Добавлено:
Вт фев 25, 2014 2:11 pm
skom
Re: AlmDBView запись алармов в файл csv

Добавлено:
Ср фев 26, 2014 12:01 am
Генератор зла
Александр писал(а):но когда пытаюсь вывести больше трех полей выскакивает ошибка.
В InTouch ограничение на размер строки = 131 символ. Поэтому
SQLString = "Начало SQL запроса, не более 131 символа";
SQLStringAppend("Продолжение SQL запроса, не более 131 символа");
SQLStringAppend("Повторяем до экстазу");
Execute ();
Re: AlmDBView запись алармов в файл csv

Добавлено:
Ср фев 26, 2014 3:23 pm
Александр
Если так
#Grid1.SQLString = "SELECT EventStamp,TagName,";
#Grid1.SQLStringAppend("Value,Area FROM v_AlarmHistory");
#Grid1.SQLStringAppend("WHERE(EventStamp <= ' "+ StartData +" ' ");
#Grid1.SQLStringAppend("AND EventStamp <= ' "+ EndData +" ' ");
#Grid1.Execute();
то выдает ошибку: Error processing 'Grid1.SQLStringAppend' on method call (resolution).
Unknown property or method name (DISP_E_UNKNWNNAME).
Если так
#Grid1.SQLString = "SELECT EventStamp,TagName,";
#Grid1.SQLAppend("Value,Area FROM v_AlarmHistory");
#Grid1.SQLAppend("WHERE(EventStamp <= ' "+ StartData +" ' ");
#Grid1.SQLAppend("AND EventStamp <= ' "+ EndData +" ' ");
#Grid1.Execute();
то выдает ошибку: Incorrect syntax near the keyword 'FROM'.
Re: AlmDBView запись алармов в файл csv

Добавлено:
Ср фев 26, 2014 3:47 pm
skom
Александр писал(а):Если так
#Grid1.SQLString = "SELECT EventStamp,TagName,";
#Grid1.SQLAppend("Value,Area FROM v_AlarmHistory");
#Grid1.SQLAppend("WHERE(EventStamp <= ' "+ StartData +" ' ");
#Grid1.SQLAppend("AND EventStamp <= ' "+ EndData +" ' ");
#Grid1.Execute();
то выдает ошибку: Incorrect syntax near the keyword 'FROM'.
А если в конце строк ставить пробелы?

Берите какой-нибудь sql profiler и смотрите какой реально запрос приходит в SQL Server от Grid.
Re: AlmDBView запись алармов в файл csv

Добавлено:
Ср фев 26, 2014 11:49 pm
Генератор зла
#Grid1.SQLString = "SELECT EventStamp,TagName,";
#Grid1.SQLStringAppend("Value,Area FROM v_AlarmHistoryпробел");
#Grid1.SQLStringAppend("WHERE(EventStamp <= ' "+ StartData +" ' ");
#Grid1.SQLStringAppend("AND EventStamp <= ' "+ EndData +" ' ");
#Grid1.Execute();
И вообще, добейтесь работоспособности на простом запросе, успеете накрутить условий ещё.