Смекни!
smekni.com

Проектирование базы данных "Автовокзал" (стр. 4 из 4)

7. DataSourceобеспечивает взаимодействие набора данных с компонентами отображения данных. Чаще всего одному набору данных соответствует один компонент DataSource, хотя их может быть несколько. Компонент DataSourceдолжен быть связан с набором данных, значения полей которого требуется передать в параметры. Названия параметров должны соответствовать названиям полей этого набора данных, тогда свойство DataSourceначнет работать.

Еще одна функция компонента DataSourceзаключается в синхронизации поведения компонентов отображения данных с состоянием набора данных. Если набор данных работает в режиме "только для чтения", то компонент DataSourceобязан передать в компоненты отображения данных запрещение на изменение данных.

Компонент DataSourceорганизует передачу в компоненты отображения данных значений необходимых полей из текущей записи. При перемещении по записям набора данных текущие значения полей в компонентах отображения данных автоматически обновляются.

8. Компонент TDBNavigatorпри помощи свойства DataSourse связывается с компонентом TDataSourse и через него с набором данных. Такая схема позволяет обеспечить изменение текущих значений полей сразу во всех связанных с TDataSourse компонентах отображения данных. Таким образом TDBNavigatorтолько дает команду на выполнение перемещения по набору данных или другой управляющей операции, а всю реальную работу выполняет компонент набора данных и компонент TDataSourse. Компонентом отображения остается только применить данные от своих полей.

DBNavigatorсодержит следующие кнопки:

1. nbFirst - перемещение на первую запись набора данных

2. nbPrior - перемещение на предыдущую запись набора данных

3. nbNext - перемещение на следующую запись набора данных

4. nbLast - перемещение на последнюю запись набора данных

5. nbInsert - вставка новой записи в текущей позиции набора данных

6. nbDelete - удаление текущей записи, курсор перемещается на следующую запись

7. nbEdit - набор данных переводится в режим редактирования

8. nbPost - в базу данных переносятся все изменения в текущей записи

9. nbCancel - все изменения в текущей записи отменяются

10. nbRefresh - восстанавливаются первоначальные значения текущей записи, сделанные после последнего переноса изменений в базу данных.

9. DBGrid - этот компонент инкапсулирует двумерную таблицу, в которой сроки представляют собой записи, а столбцы поля.

Компонент DBGridявляется потомком классов TDBCustomGridи TCustomGridот TCustomGridнаследует все функции отображения и управления работой двумерной структуры данных. Класс TDBCustomGridобеспечивает визуализацию и редактирование полей из набора данных, причем TDBGridтолько публикует свойства и методы класса TDBCustomGrid, не добавляя собственных.

В компоненте TDBGridможно отображать произвольное множество полей использованного набора данных, но число записей ограничивать нельзя, в компоненте всегда присутствуют все записи связанного набора данных. Требуемый набор полей можно составить при двойном щелчке на компоненте, перемещенном на форму, или кнопкой свойства Colums в Инспекторе объектов.

Новая колонка добавляется при помощи кнопки Add New, после этого ее название появляется в списке колонок. Колонки в списке можно редактировать, удалять, менять местами. При помощи кнопки AddAllFieldsв сетку можно добавлять все поля набора данных.

Программирование работы приложения базы данных приведено в листинге (Приложение А).

Для фильтрации записей в наборах данных используются методы Filer, Filtered:

procedure TForm1. RadioGroup1Click (Sender: TObject);

begin

if RadioGroup1. ItemIndex=0 then Table3. Filtered: =false

else

begin

if RadioGroup1. ItemIndex=2 then

begin

table3. Filtered: =true;

Table3. Filter: ='Nomer_reisa='+ComboBox1. Text; end

else

begin

if RadioGroup1. ItemIndex=3 then

begin

table3. Filtered: =true;

Table3. Filter: ='Nomer_voditelya='+ComboBox2. Text; end

else

begin

if RadioGroup1. ItemIndex=4 then

begin

table3. Filtered: =true;

Table3. Filter: ='Nomer_avtobysa='+ComboBox3. Text; end

else

Table3. Filtered: =False;

end;

end; end;

end;

Для формирования поставленных в задании запросов воспользуемся языком запросов SQL.

1. Выдать информацию о наличии свободного билета на рейс.

select distinct nomer_reisa, kolichestvo_mest, prodannie_mesta

from reis, avtobys

where (avtobys. nomer_avtobysa=reis. nomer_avtobysa)

and (kolichestvo_mest-prodannie_mesta) >0

2. Вывести список рейсов в один и тот же город с указанием времени пути и стоимости билета.

select distinct nomer_reisa, pynkt_naznacheniya, stoimost, vremya_v_pyti

from reis, bilet

where (bilet. nomer_reisa=reis. nomer_reisa)

and pynkt_naznacheniya='+''''+Edit14. Text+''''

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

Заключение

В данной курсовой работе была разработана база данных "Автостанция".

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

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

База данных содержит следующую информацию: данные о рейсе (дата, пункт отправления, пункт назначения, номер автобуса, номер водителя, время в пути), сведения о водителе (ФИО водителя, смена), данные о билетах (стоимость) и данные об автобусе (пункт отправления, назначения, количество мест).

Данная курсовая работа является актуальной и отвечает предъявленным к ней требованиям. Была разработана и написана на языке программирования высокого уровня Borland Delphi 7.0.

база программирование автовокзал информационный

Список использованной литературы

1. Архангельский А.Я. Программирование в Delphi5. - М.: ЗАО “Издательство БИНОМ”, 2000. - 1070с.: ил. (ч/з ПаУ)

2. Фаронов В.В. Программирование баз данных в Delphi6. Учебный курс. - СПб.: Питер, 2002. - 352с.: ил.

3. Дарахвелидзе П.Г., Марков Е.П. Delphi - среда визуального программирования: - СПб.: BHV - Санкт-Петербург, 1996. - 352с.

4. Гофман В.Э., Хомоненко А.Д. Delphi. Быстрый старт. - СПб.: БХВ - Санкт-Петербург, 2002. - 208с.: ил. (ч/з ПаУ)

5. Фаронов В.В. Delphi4. Учебный курс. - М.: "Нолидж", 1999. - 464с.: ил. (ч/з ПаУ)

6. Фаронов В.В. Delphi 5 Учебный курс. - М.: "Нолидж", 2000. - 606с.: ил. (ч/з ПаУ)

7. Фаронов В.В. Delphi 6. Учебный курс. - М.: Издатель Молгачева С.В., 2002. - 672с. (ч/з ПаУ)

8. Фаронов В.В. Шумаков П.В. Delphi4. Руководство разработчика баз данных. - М.: “Нолидж”, 1999. - 560с.: ил.

9. Фаронов В.В. Шумаков П.В. Delphi5. Руководство разработчика баз данных. - М.: “Нолидж”, 2000. - 640с.: ил. (ч/з ПаУ)

10. Хендерсон К. Руководство разработчика баз данных в Delphi2/Пер. с англ. - К.: "Диалектика", 1996. - 544с.

11. Культин Н.Б. Delphi6. Программирование на ObjectPascal. Самоучитель. - СПб.: БХВ-Петербург, 2001. - 528с.: ил. (ч/з ПаУ)

12. Базы данных: интеллектуальная обработка информации В.В. Корнеев, А.Ф. Гареев, С.В. Васютин. - М.: Нолидж, 200. - 352с.: ил. (ч/з ПаУ)