Сделай Сам Свою Работу на 5

Разработка клиентского приложения для администратора на Delphi.





Для ознакомления

Просмотр и редактирование таблиц с использованием SQL Explorer.

Это клиентская утилита, которая устанавливается вместе с Delphi и служит для выполнения различных действий с таблицами и другими объектами баз данных. Запустить SQL Explorer можно из той же программной группы, что и Delphi, а можно и из самого Delphi.

После запуска Explorer в левом окне вы увидите список псевдонимов различных баз данных. Можно добавлять и удалять псевдонимы из этого списка, и таким образом, обеспечивать возможность работы с базой данных любого формата. Для базы данных Oracle уже сделан и настроен псевдоним Oracle (или другой похожий).

Выберите из списка псевдонимов Oracle1 (или Orcl) и раскройте его. Появится запрос на ввод имени и пароля. После того, как вы введете свое имя и пароль, вы увидите содержимое своей схемы и сможете просмотреть и отредактировать данные таблиц, а также их структуру.

 

SQL Explorer можно использовать и для выполнения любых запросов SQL к вашей базе данных, т.е. он может заменить SQL Plus для Oracle. Для этого нужно воспользоваться вкладкой Enter SQL. Введите текст любого запроса (например select * from buses where bus_id=1 - без точки с запятой в конце!) и нажмите кнопку Execute Query (справа). Кстати, все таблицы, последовательности и другие объекты можно было бы создать и из SQL Explorer’а.



 

Однако для обеспечения комфортной работы с базой данных средств SQL Explorer недостаточно. Поэтому разработаем клиентские приложения для администратора, кассиров и диспетчера автовокзала. Сначала прочитайте следующий раздел.

 

Компоненты Delphi для работы с базами данных.

Имеется несколько способов для связи с базой данных приложения на Delphi. Наиболее часто используемые — BDE (Borland DataBase Engine) и ADO (ActiveX Data Objects — универсальное средство связи с базой данных из любой среды разработки). Мы будем рассматривать только способ с использованием BDE, при желании использовать ADO необходимые компоненты найдете на одноименной вкладке.

Компоненты для работы с базами данных размещаются на вкладках Data Access и Data Controls и делятся на невизуальные (вкладка Data Access) и визуальные (Data Controls). Невизуальные компоненты можно помещать на те же формы, что и визуальные, а можно поместить на отдельную форму, которая называется модулем данных (Data module).



Из невизуальных компонентов вам понадобятся:

1. Один компонент Database. Он нужен для создания соединения с сервером. Задайте любое имя вашей базы данных (свойство DataBase Name) и установите свойство Alias name (выберите из списка строку соединения Oracle1). Затем установите свойство Connected в True. При этом появится запрос на ввод имя пользователя и пароля. Введите ваше имя и пароль. Если после этого не появится сообщения об ошибке, значит, соединение выполнено успешно.

2. Для каждой таблицы на форме нужны 2 невизуальных компонента Table и DataSource(это компонент-связка между Table и визуальными компонентами). Для Table нужно установить свойство DatabaseName – это то имя, которое вы задали для компонента DataBase в свойстве DataBase Name, а затем для свойства TableName выбрать из списка нужное имя таблицы, которую вы хотите отобразить на форме. Для Datasorce задается свойство Dataset – это имя таблицы, к которой будет привязан этот DataSource(например, Table1 или другое имя, если вы переопределите свойство Name для Table).

3. Невизуальные компоненты можно располагать на любой форме приложения, но рекомендуется использовать для этих целей специальную форму, которая называется Модуль данных. Эта форма не будет отображаться при запуске приложения и служит для удобства разработки.

4. Чтобы все же показать данные таблицы на форме, нужно поместить на нее визуальные компоненты:

  • или DbGrid, чтобы увидеть данные в виде таблицы,
  • или несколько компонентов DBEdit- по одному для каждого поля. Для перемещения по записям удобно использовать компонент DBNavigator.

5. Увидеть данные можно только после того, как таблица открыта. Для открытия нужно установить свойство Active компонента Table в True. После этого таблица сразу «оживет» и наполнится данными даже на этапе разработки.



6. Таким образом, простое приложение для отображения и редактирования данных практически не требует написания программного кода. Поместив на формы все необходимые компоненты и установив их свойства, можно запускать приложение для выполнения (клавиша F9).

 

Разработка клиентского приложения для администратора на Delphi.

 

1. Создание модуля данных.

Создайте модуль данных. Для этого выполните File/New/DataModule. Поместите на него компонент Database и создайте соединение. Для каждой таблицы поместите в модуль данных Table и DataSource. Подсоедините все Table к своим таблицам, а Datasours’ы к Tabl’ам. Рекомендуем переименовать стандартные имена типа Table1 или DataSource1 в более осмысленные. Далее для обозначения компонентов будут использоваться имена таблиц с приставкой T к Tabl’ам и D к DataSourc’ам (например, Tkm_price и Dkm_price).

Можно установить свойства отдельных полей таблиц. Для этих целей в Delphi есть специальная утилита, которая называется Редактор полей. Войти в нее можно, сделав двойной щелчок на Table. Затем в открывшемся редакторе полей выберите опцию “Add all fields”. Перемещаясь по полям в редакторе полей, можно менять их свойства в Object Inspector. Например, для того чтобы поле не отображалось в DBGrid, нужно установить свойство Visible=false; свойство DisplayLabel устанавливает подпись, которая будет появляться над этим полем в DBGrid. Можно запретить редактирование поля, установив ReadOnly в True.

Важно!!! Для того, чтобы обеспечить заполнение ключевых полей таблиц Mark,Bus, Punct, Route и Rais при помощи триггеров, которые мы написали для этих таблиц, необходимо для их ключевых полей установить свойство Required=False. По умолчанию для ключевых полей это свойство установлено в True.

Установите свойство Active таблиц в True.

Не забудьте сохранить проект с помощью команды

File/Save Project as…

Delphi плодит большое количество файлов, поэтому для каждого проекта нужна отдельная папка. Основная программа проекта – это файл с расширением dpr (например, Project1.dpr). Для каждой формы создается отдельный модуль – файл с расширением .pas, а также файл с расширением .dfm.

Основная форма приложения

Наиболее удобна для работы с многотабличными базами данных форма с вкладками. Для удобной работы предлагается создать отдельные вкладки для редактирования расценок (Цены) и списка пунктов назначения (Пункты). Таблицы марок и автобусов можно редактировать совместно как главную и подчиненную таблицы (назовем вкладку Автобусы), таблицы маршрутов, их промежуточных пунктов и рейсов тоже удобно разместить на одной вкладке, поскольку они часто будут редактироваться совместно (назовем вкладку Маршруты-Рейсы).

Для создания вкладок можно воспользоваться компонентом PageControl (вкладка Win32). Установите его свойство Align (выравнивание) в AlClient (т.е. каждая вкладка будет занимать всю клиентскую часть формы). Каждая новая вкладка создается при помощи команды New Page контекстного меню (щелчок правой кнопкой в любом месте PageControl). Создайте 4 вкладки, перечисленные выше.

Чтобы связать форму с модулем данных, выполните команду File/Use Unit (модуль данных будет автоматически вписан в предложение uses раздела implementation основной формы).

Вкладки Цены и Пункты.

Эти вкладки могут выглядеть примерно одинаково. Поместите на вкладку DBGrid и DBNavigator и установите их свойства DataSource. Для вкладки Пункты вместо DBGrid можете поместить на форму 3 DBEdit для редактирования каждого поля по отдельности. Запустите приложение и заполните таблицы.

 

Вкладка Автобусы

Поместим на вкладку 2 компонента DBGrid и два DBNavigator. Одну пару свяжем с Dmark, а другую с Dbus.

Подчиним таблицу Bus таблице Mark, чтобы видеть только автобусы одной марки, соответствующей активной записи в таблице марок (вспомните подчиненные формы в Access)

Для этого переключимся в модуль данных и установим 2 свойства для таблицы TBus: MasterSource и MasterField. Эти свойства устанавливают связь с главной таблицей, в качестве которой выбираем таблицу Mark. В диалоге для задания MasterField указывается поле Cod_mark, по которому связаны таблицы.

Запустите приложение и заполните таблицы Mark и Bus.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.