1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /122, 1995 г./ | Бонус | Поиск  

Обзоры

PowerBuilder – взгляд изнутри

Сергей Горин, Андрей Тандоев


© 2004, Еженедельник «Компьютерра» | http://www.computerra.ru/offline
Этого материала на сайте "Компьютерры", к сожалению, нет

В системе PowerBuilder (PB) для высокоуровневого доступа к данным используется специальный объект, называемый datawmdow (окно данных), позволяющий почти полностью отказаться от кодирования в программе операторов встроенного SQL.

Окно данных связывается с запросом к БД (с оператором выборки SELECT или с вызовом хранимой на сервере процедуры). Это связывание может происходить как на этапе проецирования программы, так и при ее выполнении (динамически) На основании изменений в данных и знаний о первичном ключе обновляемой таблицы и правил обновления окно данных автоматически строит операторы обновления БД (INSERT/ DELETE/UPDATE).

Таким образом, окно данных выполняет практически любые операции по отображению и редактированию информации. С ним ассоциируются обработчики событий: изменение данных пользователем, прокрутка, смена фокуса ввода, выборка записи из БД и др.

Окно данных объединяет в себе множество конфигурируемых видов отображения данных (табличные, свободного формата, перекрестные, иерархические, многоколоночные, графические), встроенные механизмы управления отображением и контроля данных при вводе, а также механизм автоматического формирования необходимых SQL-операторов для обновления данных. Для ввода и отображения данных используются маски, форматы, раскрывающиеся списки с выборкой из базы данных, "радиокнопки", отмечаемые кнопки, графические образы. В конструкторе окон данных могут определяться вычисляемые поля, которые располагаются в теле окна, в его заголовке, в заголовке группы или в итогах по группе.

 

Работая с окном данных в программе, один из операторов задает такие действия, как выборка данных из БД, запись изменений в БД или печать содержимого окна данных в виде отчета. Вместе с тем программа имеет доступ к каждой строке и колонке данных и к каждому его текстовому или графическому элементу.

Существует специальный язык для описания и модификации окон данных. Команды этого языка могут выдаваться из программы.

Datawmdows проектируются в одном из предусмотренных в РВ стандартных типов На рис 1 показан диалог выбора типа проектируемого окна.

Окно данных типа External, в отличие от других типов, не связано непосредственно с запросом к баз данных и заполняется из программы. Этот тип datawmdow может применяться для подготовки нестандартны элементов пользовательского интерфейса: например, для работы в режиме электронной таблицы. При выполнении приложения окно данных может динамически изменяться.

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

В большинстве случаев для процедуры ввода и корректировки данных достаточно при открытии datawmdow закодировать на языке Powerscnpt следующую последовательность:

DW.SetTransObject(SQLCA)

DW.Retrieve()

Здесь DW – имя управляющего элемента datawmdow. Первый оператор ассоциируете datawindow объект для связи с базой данных. Второй – выбирает данные из базы данных.

Реакция на кнопку "Сохранить" может состоять из одной команды

DW.Update()

По этому оператору PowerBuilder анализирует проведенные пользователем изменения и выполняет требуемые операторы SQL(Update, Insert, Delete). На рис. 2 показан диалог определения правил обновления datawindow, который вызывается разработчиком при проектировании datawmdow. Здесь задается использование таблиц, ключей, обновляемых колонок.

 

Графическое представление данных

Существует большой выбор видов графического представления данных в datawmdow – столбиковые и кривые диаграммы, графики и т.д. Все элементы графического представления "чувствительны" к действиям пользователя.

Например, на рис.3 показана диаграмма распределения численности сотрудников по отделам. Щелчком мыши над столбиком диаграммы вызывается обработчик события, который определяет, к какому отделу относится данный столбик, и делает выборку с соответствующим параметром в нижнем datawindow, показывающем распределение должностных окладов в данном департаменте.

Интерфейс с СУБД

Управление транзакциями в РВ осуществляется с помощью операторов SQL – COMMIT и ROLLBACK и организуется по выбору разработчика одним из двух способов В режиме автоматической фиксации каждый оператор SQL является логической единицей работы, и изменение данных в БД фиксируется автоматически (выдается COMMIT). При отказе от автоматической фиксации РВ начинает транзакцию при соединении с СУБД. Затем могут выдаваться операторы SQL. По завершении каждой логической единицы работы с БД программа фиксирует изменения (выдает COMMIT) или отменяет их (ROLLBACK). После выдачи COMMIT/ROLLBACK автоматически начинается новая транзакция.

 

На рис. 4 показан процесс подготовки запроса (SELECT) в визуальном конструкторе запросов.

Интегрированная среда отладки

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

Генератор отчетов

Наряду с вводом, корректировкой и экранным представлением данных объекты datawmdow могут использоваться для генерации отчетов.

Возможно конструирование композиционных окон данных (состоящих из нескольких datawmdow), а также иерархических – вложенных и параметрически связанных с родительским datawmdow. Интересно отметить, что в общем случае не обязательно, чтобы родительские и подчиненные окна данных были связаны с одной и той же областью SQLCA. Таким образом, отчеты могут использовать данные из различных баз данных.

Полученные отчеты могут сохраняться в файлах (специальный формат PSR) и впоследствии загружаться для просмотра или встраиваться в другие приложения как объект OLE2.

Для печати отчета кодируется единственный оператор – dw Prmt().

Полученные отчеты могут сохраняться в файлах (специальный формат PSR) и впоследствии загружаться для просмотра или встраиваться в другие приложения как объект OLE2.

Перспективы использования средств разработки 4GL

Современные средства разработки 4GL являются необходимым инструментом в арсенале современного разработчика Двухлетний опыт использования PowerBuilder во многих проектах показал, что пакет существенно снижает трудоемкость проектирования доступа к базе данных и построения графического интерфейса, а также является весьма эффективным средством макетирования приложений.

Фирма "АпконсСофт" (тел (095) 918-1380, 362-5138, 362-7443) является партнером (PowerChannel Partner) компании Powersoft и, наряду с поставкой PowerBuilder, консультирует разработчиков и проводит начальное и углубленное обучение работе с продуктом.

 

 


1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /122, 1995 г./ | Бонус | Поиск  

© 2004, Издательский дом «Компьютерра» | http://www.computerra.ru
Телефон редакции: (095) 232-22-61
E-mail редакции: inform@computerra.ru