Випуск №6 (Май)

Анотація. У статті описується процес розробки клієнтської програми бази даних у PowerBuilder з використанням технології вікон даних DataWindow.

Ключові слова: інформаційна система, база даних, PowerBuilder, DataWindow, профіль бази даних, джерело даних, інтерфейс користувача, SQL, подія, елемент управління.

Саліков Валентин Олександрович

доцент кафедри автоматизованих систем обробки інформації

Дніпропетровського національного університету ім. О. Гончара

Саліков V.A.

Scd, associate professor

Oles Honchar Dnipropetrovsk National University

Сторчак Світлана Олександрівна

студент 4-го курсу кафедри АСОІ

Дніпропетровського національного університету ім. О. Гончара

Storchak S.A.

Oles Honchar Dnipropetrovsk National University

РОЗРОБКАДОДАТКИКЛІЄНТІВБАЗИДАНИХПОТЕХНОЛОГІЇPowerBuilder

CLIENT APPLICATION DEVELOPMENT FOR DATABASE WITH PowerBuilderTECHNOLOGY

Анотація. У статті описується процес розробки клієнтської програми бази даних у PowerBuilder з використанням технології вікон даних DataWindow.

Ключові слова: інформаційна система, база даних, PowerBuilder, DataWindow, профіль бази даних, джерело даних, інтерфейс користувача, SQL, подія, елемент управління.

Суммари. Article describes process development of database client application using DataWindow technology in PowerBuilder.

Key words: informationsystem, database, PowerBuilder, DataWindow, database profile, data source, user interface, SQL, event, element control.

Розробка програми в Builder починається із створення нового робочого простору (File → New → Workspace). Далі створюється проект програми (File → New → Target → Application) і, як мінімум, одне вікно для взаємодії з користувачем (File → New → PBObject → Window). Клієнтська програма буде працювати з БД, розміщеною на сервері MS SQL Server. У Builder БД виступає як джерело даних, підключення до якого здійснюється через інтерфейс ODBC [4]. Для створення нового джерела даних на панелі інструментів потрібно клацнути піктограму Database Profiles, і у вікні вибрати зі списку ODB ODBC → Utilities → ODBC Administrator. В «Адміністраторі джерел даних ODBC» слід натиснути «Додати», а у списку драйверів вибрати SQL Native Client. Після вибору імені джерела та сервера БД, що підключається, натискають «Далі» і у вікні «Створення джерела даних для SQL-сервера» вибирають ім'я необхідної бази.

Малюнок 1. Створення профілю бази даних

Зауважимо, що це ім'я бази необхідно використовувати за умовчанням. Після завершення налаштувань Builder запропонує перевірити підключення до джерела даних, і якщо програміст зробив усе правильно, система повідомить про успішне завершення тесту. На наступному кроці потрібно повернутися в Database Profiles і за допомогою кнопки New створити новий профіль. У діалоговому вікні ввести нове ім'я профілю, User ID та Password, які використовуються при підключенні до бази даних в SQL Server (рис. 1). Створений профіль відобразиться серед інших профілів ODB ODBC, і після підключення кнопкою «Connect» на його піктограмі з'явиться відповідний значок (мал. 2).

Малюнок 2. Підключенийпрофіль

Рисунок 4. Скрипт події Open

з'єднання та відкрити вікно з ім'ям w_main (див. рис. 4). Для виходу із програми потрібно в обробнику події close застосувати аналогічну конструкцію DISCONNECT USING.

Рисунок 5. Обробник події clicked кнопки «Підтвердити»

відбувається в операторі IF…THEN залежно від значення властивості сhecked (true – перемикач вибраний/активний, false – не вибраний/не активний).

Рисунок 6. Діалогове вікно «Робота з читачем»

елементами керування взаємодія. Для створення вікна даних потрібно натиснути на відповідній піктограмі «Create datawindow control»

Малюнок 7. Вибір таблиць із БД

або скористатись вкладкою Insert у меню Builder і розмістити елемент керування у вікні, налаштувавши його розміри та розташування. Далі за командою File → New → PBObject → DataWindow вибрати уявлення Grid та джерело даних SQL Select. У діалоговому вікні Select Tables (див. мал. 7) слід вибрати одну або кілька таблиць, з яких відображатимуться дані. Після цього необхідно вибрати стовпці, які використовуватимуться в запиті як джерело, і Builder визначить код запиту в Select Painter (див. мал. 8). Для встановлення зв'язку між об'єктом та елементом керування вікна даних, слід виділити елемент керування та на бічній панелі властивостей, у вкладці General, вибрати ім'я збереженого об'єкта dw_reader вікна даних (див. рис. 9).

Малюнок 8. Створення SQL-запиту PowerBuilder

Для відображення та управління інформацією з БД у вікні даних також визначимо Retrieval Arguments (значення аргументів для отримання методом Retrieve()). Повернемося в Select Painter і за командою Design → Retrieval Arguments виберемо ім'я та тип даних для повертається

Малюнок 9. Зв'язуваннявікна даних та об'єкта DataWindow

аргументу. На вкладці Where встановимо значення column, operator і value оскільки показано на рис. 10. Результатом цієї дії буде додавання

Малюнок 10. Налаштування значень, що повертаються.

секції WHERE у згенерований запит. (Див. рис. 11). На прикладі вікна «Робота з читачем» (рис. 9) розглянемо один із можливих способів організації інтерфейсу. За допомогою вікон даних, кнопок та методів DataWindow реалізуємо основні дії, доступні користувачеві.

Малюнок 11. Згенерований SQL запит

У обробнику події open для елементів управління вікнами даних dw_1 і dw_2, використовуючи метод SetTransObject() (рис. 12), призначимо об'єкт SQLCA для взаємодії БД з вікнами даних [5].

Малюнок 12. Використання методу SetTransObject()

Рисунок 13. Скрипт для кнопки «Знайти»

Так як вікно dw_1 (і об'єкт dw_reader) представляє дані з однієї таблиці, воно є редагованим за замовчуванням і зміна/додавання рядків здійснюється безпосередньо у вікні даних. При цьому додаткові форми введення або редагування не створюються (dw_2 включає стовпці з таблиць Книга і Формуляр читача, тому для нього необхідно розробити допоміжні вікна даних). Для збереження внесених змін БД використовується метод Update() (рис. 14). Якщо цей метод спрацював успішно (повернув «1»),

Малюнок 14. Скрипт кнопки-піктограми «Зберегти»

то БД оновлюється, інакше виконується відкат. В обробниках clicked

кнопок-піктограм для вставки та видалення рядків викликаються методи InsertRow() та DeleteRow() [5]. Діалогові вікна "Комплектація фонду", "Культурно-масові заходи" та "Статистика бібліотеки" розробляються аналогічним чином.

Створенепрограму потрібно передати замовнику для дослідної експлуатації. За її результатами приймається рішення про необхідність доопрацювання програми.