Книжный магазин

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    498,3 Кб
  • Опубликовано:
    2012-10-05
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Книжный магазин

Московский Государственный Технический Университет имени Н. Э. Баумана

Калужский филиал







Пояснительная записка к курсовой работе

по курсу «Базы данных»

на тему:

«Книжный магазин»


Выполнил:

студент группы ЭВМ-51

Салтыков В.С.

Проверил:

Твердова С.М.





Калуга 2011

Содержание

Введение

. Исследовательская часть

.1. Постановка задачи

.2. Анализ предметной области

.3. Описание предметной области

.4. Сбор данных по выбранной теме

.5. Средства реализации

. Конструкторская часть

.1. Основные этапы разработки

.2. Создание таблиц и их заполнение

.3. Создание приложения в Delphi

. Технологическая часть

.1. Требования к составу и параметрам технических средств

. Руководство пользователя

Заключение

Список литературы

Графическое приложение №1

Графическое приложение №2

Графическое приложение №3

Листинг программы

Введение

База данных в общем смысле - совокупность сведений о конкретных объектах реального мира в какой-либо предметной области или разделе предметной области. Каждая база данных - это совокупность таблиц, запросов, форм, отчётов, макросов и модулей, которая хранится в файле с произвольным именем.

Управление информацией всегда было основной сферой применения компьютеров и, надо думать, будет играть еще большую роль в будущем. Системы управления базами данных (СУБД, DBMS - Database anagement System) на протяжении всего пути развития компьютерной техники совершенствовались, поддерживая все более сложные уровни абстрактных данных, заданных пользователем, и обеспечивая взаимодействие компонентов, распределенных в глобальных сетях и постепенно интегрирующихся с телекоммуникационными системами. База данных - это набор таблиц, состоящих из столбцов и строк, аналогично электронной таблице. Каждая строка содержит одну запись; каждый столбец содержит все экземпляры конкретного фрагмента данных всех строк.

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

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

Существуют следующие разновидности баз данных:

·   Иерархические

·   Сетевые

·   Реляционные

·   Объектно-ориентированные

·   Гибридные и другие.

1. Исследовательская часть

.1 Постановка задачи

Необходимо разработать базу данных книжного магазина, отвечающую на следующие вопросы:

1.       Какие книги продает магазин

2.       Какие издательства поставляют книги в магазин?

.        Какие сотрудники работают в магазине?

.        Какие помещения находятся в пользовании магазина?

.        Какие инспекции проводят проверки в магазине?

База данных должна иметь следующий список функций:

1.       Возможность редактирования таблиц, содержимое которых может утратить свою актуальность с течением времени.

2.       Простой и интуитивно понятный пользователю интерфейс.

.        Возможность печати отчетов с данными базы.

.        Осуществление поиска необходимой информации.

1.2 Анализ предметной области

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

Предполагается, что база данных будет использоваться сотрудниками магазина такими как кассиры и продавцы-консультанты, а также начальством магазина.

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

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

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

И наконец, в магазине могут проводить проверки различного рода инспекции. Соответственно необходимо знать, какие инспекции и кого или что инспектируют.

1.3 Описание предметной области

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

В ходе изучения предметной области были выделены такие объекты как:

1.       «Книги»

2.       «Авторы»

.        «Издательства»

.        «Сотрудники»

.        «Помещения»

.        «Заказы»

.        «Инспекции»

1.4 Сбор данных по выбранной теме

После анализа предметной области был осуществлен сбор данных по выбранной теме. На этом этапе определялись поля всех объектов, по которым они будут классифицироваться. Перейдем к рассмотрению классификаций:

«Книги» :

·        Название

·        Автор

·        Жанр

·        Цена

«Авторы» :

·        Фамилия И.О. автора

·        Жанр

·        Издательство

«Издательства» :

·        Название

·        Адрес

·        Директор

·        E-mail

«Сотрудники» :

·        Фамилия И.О.

·        Адрес

·        Должность

·        Место работы

·        Зарплата

«Помещения» :

·        Тип

·        Адрес

·        Площадь (кв. м.)

«Заказы»

·        Номер заказа

·        Сроки

·        Количество книг

·        Заказчик

·        Поставщик

«Инспекции»

·        Шифр

·        Тип

·        Адрес

·        Директор

·        Кого инспектирует

1.5 Средства реализации

Для решения поставленной задачи наиболее удобным является среда программирования Delphi, т.к. выбранная среда программирования обеспечивает довольно высокую скорость разработки программ и позволяет создавать ПО высокого качества.

Delphi обладает практически всеми возможностями современных СУБД. Она имеет встроенную поддержку языка структурированных запросов (SQL). Delphi позволяет создавать приложения для локальных и удаленных баз данных. Применительно к работе с базами данных, Delphi обеспечивает широкий набор инструментальных средств, поддерживающих современные технологии.

Каждое приложение, использующее базы данных, обычно, имеет по крайней мере по одному компоненту следующих типов:

1.       Наборы данных, - DataSet - непосредственно связывающиеся с базой данных. Для технологии ADO это такие компоненты, как ADOQuery, ADOConnection.

2.       Источник данных, - DataSource - осуществляющий обмен информацией между компонентами первого типа и компонентами визуализации и управления данными.

3.       Компоненты визуализации и управления данными, такие, как DBGrid.

4.       Компоненты для построения отчетов такие как QuickRep, QRLabel, QRDBText и другие.

В проекте были использованы следующие компоненты Delphi 2007:

Label (Надпись) - Используется для отображения информации о том, что ищет пользователь при открытии окна поиска.

Edit (Поле ввода) - служит для ввода информации при поиске в базе данных.

ComboBox (Разворачивающийся список) - служит для отображения и выбора столбцов таблиц, по которым будет осуществляться поиск.

Button (Кнопка) - Используется для открытия таблиц базы данных, выхода из программы и выполнения поиска.

MainMenu (Меню) - Используется для осуществления выхода из программы, переключения между разделами, добавления и удаления строк таблиц, вызова окна поиска и окна отчетов.

RadioGroup (Список для одноначного выбора) - служит для возможности выбора того или иного раздела.

Для работы с базой данных используются следующие компоненты:

DBGrid(Сетка) - Отображает данные в виде таблицы. В этом же компоненте можно добавлять, удалять и редактировать строки таблицы.

ADOConnection - используется для соединения с различными источниками ADO.

DataSource (источник данных) - обеспечивает связь компонента DBGrid и источника данных, а именно ADOQuery.

ADOQuery - служит для определения SQL-операторов, позволяющих осуществить доступ к одной или нескольким таблицам в базе данных. Используется в функции поиска в базе данных и для связи с набором данных, которые будут отображены в DBGrid.

Для вывода отчетов использовались следующие компоненты:

QuickRep (контейнер полос, составляющих отчет) - служит для отображения страницы отчета.

QRLabel (Надпись) - Служит для отображения названий столбцов таблицы.

QRDBText (ориентированный на данные компонент для размещения текста в отчете) - Служит для отображения значений строк тех столбцов, имена которых указаны в свойстве DataField.

2. Конструкторская часть

.1 Основные этапы разработки

Разработка базы данных состоит из следующих пунктов:

.        Создание таблиц и их заполнение;

.        Создание приложения в Delphi;

.        Создание отчётов по базе данных;

.        Тестирование разработанного продукта.

2.2 Создание таблиц и их заполнение

Разработанная БД состоит из 7 таблиц, каждая из которых содержит информации о соответствующем объекте и его атрибутах. Таблицы созданы с использованием средств MS Access и хранятся в базе данных, имеющей формат .mdb. Структура БД представлена в Приложении 3.

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

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

В соответствии с инфологической моделью данных (Приложение 1) было создано 7 таблиц:

Таблица 1 «Книги»:

Название

Автор

Жанр

Цена

Assembler

Юров В.И.

Учебная литература

500 р

Преступление и наказание

Достоевский Ф.М.

Художественная литература

200 р

Мертвые души

Гоголь Н.В.

Художественная литература

200 р


Таблица 1 имеет 4 столбца-атрибута и 3 картежа. Кардинальное число равно 3. Название является ключом. Степень отношения равна 4.

Таблица 2 «Авторы»:

Фамилия_ИО

Жанр

Издательство

Юров В.И.

Учебная литература

Питер

Достоевский Ф.М.

Худжественная литература

ЭКСМО

Гоголь Н.В.

Худжественная литература

ЭКСМО


Таблица 2 имеет 3 столбца-атрибута и 3 картежа. Кардинальное число равно 3. Фамилия_ИО является ключом. Степень отношения равна 3.

Таблица 3 «Издательства»:

Название

Адрес

Директор

E-mail

Питер

Санкт-Петербург, Сампсониевский пр., 29а

Никольская Е.В.

izdatelstvo.piter@mail.ru

ЭКСМО

Москва, Добролюбова ул., 2, стр. 1

Новиков О.Е.

info@eksmo.ru


Таблица 3 имеет 4 столбца-атрибута и 2 картежа. Кардинальное число равно 2. Название является ключом. Степень отношения равна 4.

Таблица 4 «Сотрудники»:

Фамилия_ИО

Адрес

Должность

Место_работы

Зарплата

Петров И.В.

Калуга, Московская ул, д.36

Продавец-консультант

Отдел художественной литературы

20000 р

Костин А.И.

Калуга, Вилонова ул., д. 35

Продавец-консультант

Отдел учебной литературы

20000 р

Летов Ф.И.

Калуга, Плеханова ул., д.31

Директор

Офис

100000 р


Таблица 4 имеет 5 столбцов-атрибутов и 3 картежа. Кардинальное число равно 3. Фамилия_ИО является ключом. Степень отношения равна 5.

Таблица 5 «Помещения»:

Тип

Адрес

Площадь

Отдел художественной литературы

Калуга, Кирова ул., д.7/47

100 кв.м.

Отдел учебной литературы

Калуга, Кирова ул., д.7/47

100 кв.м.


Таблица 5 имеет 3 столбца-атрибута и 2 картежа. Кардинальное число равно 2. Тип является ключом. Степень отношения равна 3.

Таблица 6 «Заказы»:

Номер

Количество_книг

Сроки

Заказчик

Поставщик

1

1000

31.12.2011

Петров И.В.

ЭКСМО


Таблица 6 имеет 5 столбцов-атрибутов и 1 картеж. Кардинальное число равно 1. Номер является ключом. Степень отношения равна 5.

Таблица 7 «Инспекции»:

Шифр

Тип

Адрес

Директор

Инспектирует

182829

Налоговая инспекция

Калуга, пер. Воскресенский, д.8

Зыков В.А.

Директор

23416

Инспекция персонала

Москва, Тверская ул., д.6

Злотников Р.С.

Продавец-консультант


Таблица 7 имеет 5 столбцов-атрибутов и 2 картежа. Кардинальное число равно 2. Шифр является ключом. Степень отношения равна 5.

2.3 Создание приложения в Delpi

 

Создание главной формы

Сначала создается новый проект Delphi. Form1 будет служить для выбора и открытия таблиц базы данных. Выбор таблиц осуществляется при помощи RadioGroup1.

Для кнопки «Выбор» пишем код:

procedure TForm1.Button1Click(Sender: TObject);RadioGroup1.ItemIndex = 0 then.Show;RadioGroup1.ItemIndex = 1 then.Show;RadioGroup1.ItemIndex = 2 then.Show;RadioGroup1.ItemIndex = 3 then.Show;RadioGroup1.ItemIndex = 4 then.Show;RadioGroup1.ItemIndex = 5 then.Show;RadioGroup1.ItemIndex = 6 then8.Show;;

Создание таблиц базы данных

Рассмотрим создание таблиц базы данных на примере Form2, имеющей имя «Книги» база данные delphi таблица

На форму помещаются компоненты DBGrid, DataSource, два ADOQuery, ADOConnection, DBNavigator.

В свойстве ConnectionString для ADOConnection1 выбираем поставщика данных Microsoft Jet 4.0 OLE DB Provider и указываем путь к базе данных, созданной при помощи MS Access.

В свойстве SQL компонента ADOQuery1 пишем SQL-запрос, осуществляющий выбор всех полей из базы данных:

SELECT*FROM book.

Добавление, удаление и изменение записей

Добавление и удаление записей осуществляется с помощью компонента MainMenu. Для этого создается вкладка «Редактировать», внутри которой создаются вкладки «Добавить запись» и «Удалить запись».

По нажатию на «Добавить запись» выполняется следующий код:

procedure TForm2.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;

Form2.Width:=900;;

По нажатию «Удалить запись» выполняется код:

procedure TForm2.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;

Form2.Width:=900;;

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

Сортировка записей

Чтобы организовать сортировку в компоненте MainMenu создается вкладка «Сортировка». По нажатию на ней выполняется код:

procedure TForm2.N2Click(Sender: TObject);

begin.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM book ORDER BY Название');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:=900;;

 

Поиск

Чтобы организовать поиск в компоненте MainMenu создается вкладка «Поиск». По нажатию выполняется код:

Form9.Show;

Form9.Edit1.Text:= '';

Form9.ComboBox1.Items[0]:= 'Фамилия_ИО';.ComboBox1.Items[1]:= 'Жанр';.ComboBox1.Items[2]:= 'Издательство';

Form1.SelectedForm:= 3;

Таким образом, открывается форма поиска Form9, которая вызывается таким же образом и в остальных таблицах. На Form9 располагается также кнопка «Выполнить поиск», по нажатию на которую выполняется код:

case (Form1.SelectedForm) of

:(Edit1.Text = '') then('Введите что нужно искать', mtInformation, [mbOK], 0)(Form2.DBGridBook.DataSource.DataSet.Locate(ComboBox1.Text,Edit1.Text,[])) then.DBGridBook.DataSource.DataSet.Locate(ComboBox1.Text,Edit1.Text,[])('Запись не найдена', mtInformation, [mbOK], 0);

Form9.Close;;

// Далее также для всех форм

Таким образом, через оператор CASE осуществляется поиск в нужной таблице.

Отчеты

Чтобы организовать вывод отчетов на экран создается форма, на которую помещаются компоненты QuickRep, QRLabel, QRDBText.

QuickRep и QRDBText через свойство DataSet связываются с компонентом ADOQuery1. Далее свойству DataField компонента QRDBText присваивается значение столбца таблицы из выпадающего списка, чтобы отображать записи из данного столбца.

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

3. Технологическая часть

.1 Требования к составу и параметрам технических средств

 

Системные требования:

·        ОС Windows XP SP2 и старше

·        Процессор Pentium 4 2000 MHz.

·        Оперативную память 256 Mb.

·        Видеа directx совместимая с размером памяти не менее 128Mb.

·        Клавиатура.

·        Мышь.

·        Монитор c поддержкой разрешения 800х600.

Функциональное назначение

Данная программа представляет собой конечную БД по теме «Книжный магазин».

Выполнение программы

Программа запускается при помощи файла «Project1.exe».

4. Руководство пользователя

Для корректной работы разработанного ПО, взаимодействующего с базой данных, необходимо скопировать с установочного диска папку «Книжный магазин» на диск C используемого компьютера.

Чтобы запустить приложение необходимо запустить файл Project1.exe.

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

Рис.4. Главное окно приложения

Далее следует нажать кнопку «Выбрать», чтобы открыть интересующий раздел.

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

Рис.5. Вид таблицы

Удаление и добавление записей в таблицу базы данных можно осуществлять либо при помощи специального навигатора, либо при помощи специальных вкладок в меню «Редактировать». Изменение записей осуществляется двойным кликом по выбранному значению записи и последующим внесением обновленной информации. Чтобы сохранить изменения достаточно кликнуть в любой области открытого окна с таблицей.

Если пользователя интересует конкретная запись в таблице, он может найти ее, воспользовавшись меню «Редактировать» и нажав в нем вкладку «Поиск».

Рис.6. Поиск

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

Если необходимо осуществить сортировку записей по алфавиту, то достаточно нажать вкладку «Сортировка», после чего записи будут отсортированы по алфавиту.

Если необходимо вывести на экран отчет, то следует нажать вкладку «Отчет». Откроется окно отчеты, в котором можно будет увидеть информацию по всей таблице.

Рис. 7. Отчет

Заключение

Полученная в результате выполнения проекта программа удовлетворяет поставленной задаче. Программа написана в среде визуального программирования Delphi 7 без употребления сложных структур программирования.

Готовый программный продукт обладает следующими достоинствами:

невысокими системными требованиями;

удобным интерфейсом;

простотой установки.

Недостатки программы:

невозможность работы с сетевыми базами данных;

ограниченные возможности параметров информации;

сравнительно небольшой объем содержащихся данных.

Список литературы

1. Архангельский А. Я. Программирование в Delphi 7. - М.: ООО «Бином-Пресс», 2003г. - 1152 с.

. Иванова Г. С. Технология программирования: Учебник для ВУЗов. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2002. - 320с.

3. Фаронов В. В., Учёбный курс Delphi 6, Москва, 2003

Графическое приложение №1

Инфологическая модель предметной области


Графическое приложение №2

Графическое приложение №3

Структура базы данных

.        Сведения о книгах


Имя поля

Тип

Размер

Ключ

1

Название

А

50

*

2

Автор

А

50


3

Жанр

А

50


4

Цена

N

10



.        Сведения об авторах


Имя поля

Тип

Размер

Ключ

1

Фамилия И.О.

А

50

*

2

Жанр

А

50


3

Издательство

А

50



.        Сведения об издательствах


Имя поля

Тип

Размер

Ключ

1

Название

А

50

*

2

Адрес

А

50


3

Директор

А

50


4

E-mail

А

50



.        Сведения о сотрудниках


Имя поля

Тип

Размер

Ключ

1

Фамилия И.О.

А

50

*

2

Адрес

А

50


3

Должность

А

50


4

Место работы

А

10


5

Зарплата

N

20



.        Сведения о помещениях


Имя поля

Тип

Размер

Ключ

1

Тип

А

50

*

2

Адрес

А

50


3

Площадь

N

20


6.      

.       
Сведения о заказах


Имя поля

Тип

Размер

Ключ

1

Номер

N

10

*

2

Количество книг

N

10


3

Сроки

N

10


4

Заказчик

А

50


5

Поставщик

А

50



.        Сведения об инспекциях


Имя поля

Тип

Размер

Ключ

1

Шифр

N

10

*

2

Тип

А

50


3

Адрес

А

50


4

Директор

А

50


5

Инспектирует

А

50



Листинг программы

// Главная формаUnit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Menus, ExtCtrls;= class(TForm): TRadioGroup;: TMainMenu;: TMenuItem;: TMenuItem;: TButton;: TButton;N2Click(Sender: TObject);Button2Click(Sender: TObject);Button1Click(Sender: TObject);

{ Private declarations }: integer;

{ Public declarations };: TForm1;Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8;

{$R *.dfm}TForm1.N2Click(Sender: TObject);.Close;;TForm1.Button2Click(Sender: TObject);.Close;;TForm1.Button1Click(Sender: TObject);RadioGroup1.ItemIndex = 0 then.Show;RadioGroup1.ItemIndex = 1 then.Show;RadioGroup1.ItemIndex = 2 then.Show;RadioGroup1.ItemIndex = 3 then.Show;RadioGroup1.ItemIndex = 4 then.Show;RadioGroup1.ItemIndex = 5 then.Show;RadioGroup1.ItemIndex = 6 then.Show;;.

// КнигиUnit2;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, Grids, DBGrids, DB, DBTables, ExtCtrls, DBCtrls,, Mask, ADODB;= class(TForm): TMainMenu;: TMenuItem;: TDBNavigator;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TDataSource;: TDBGrid;: TADOConnection;: TADOQuery;: TADOQuery;: TMenuItem;: TMenuItem;: TMenuItem;NChooseClick(Sender: TObject);NCloseClick(Sender: TObject);NExitClick(Sender: TObject);NAddClick(Sender: TObject);NDeleteClick(Sender: TObject);FormCreate(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm2;Unit1, Unit9, Unit10, Unit11;

{$R *.dfm}TForm2.NChooseClick(Sender: TObject);.Show;;TForm2.NCloseClick(Sender: TObject);.Close;;TForm2.NExitClick(Sender: TObject);.Close;;TForm2.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:=900;;TForm2.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:=900;;TForm2.FormCreate(Sender: TObject);.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:=900;;TForm2.N2Click(Sender: TObject);.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM book ORDER BY Название');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:=900;;TForm2.N3Click(Sender: TObject);.Show;.Edit1.Text:= '';.ComboBox1.Items[0]:= 'Название';.ComboBox1.Items[1]:= 'Автор';.ComboBox1.Items[2]:= 'Жанр';.ComboBox1.Items[3]:= 'Цена';.SelectedForm:= 2;;TForm2.N4Click(Sender: TObject);.QuickRep1.Preview;;.

// АвторыUnit3;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, DB, Menus, DBTables, ExtCtrls, DBCtrls,, Mask, ADODB;= class(TForm): TMainMenu;: TMenuItem;Avtor: TDBNavigator;: TDataSource;: TDBGrid;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TADOConnection;: TADOQuery;: TMenuItem;: TADOQuery;: TMenuItem;: TMenuItem;: TMenuItem;NChooseClick(Sender: TObject);NCloseClick(Sender: TObject);NExitClick(Sender: TObject);NAddClick(Sender: TObject);NDeleteClick(Sender: TObject);FormCreate(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);N5Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm3;Unit1, Unit9, Unit10, Unit13, Unit16;

{$R *.dfm}TForm3.NChooseClick(Sender: TObject);.Show;;TForm3.NCloseClick(Sender: TObject);.Close;;TForm3.NExitClick(Sender: TObject);.Close;;TForm3.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm3.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm3.FormCreate(Sender: TObject);.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm3.N2Click(Sender: TObject);.Show;.ADOQuery1.Close;.ADOQuery1.SQL.Text:= 'SELECT Фамилия_ИО,Название,Цена FROM book,avtor WHERE (Фамилия_ИО=Автор) ORDER BY Фамилия_ИО';.ADOQuery1.ExecSQL;.ADOQuery1.Open;.DbGrid1.Columns.Items[0].Width:= 200;.DbGrid1.Columns.Items[1].Width:= 200;.DbGrid1.Columns.Items[2].Width:= 200;.DBGrid1.Width:= 640;.Width:= 700;;TForm3.N3Click(Sender: TObject);.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM avtor ORDER BY Фамилия_ИО');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm3.N4Click(Sender: TObject);.Show;.Edit1.Text:= '';.ComboBox1.Items[0]:= 'Фамилия_ИО';.ComboBox1.Items[1]:= 'Жанр';.ComboBox1.Items[2]:= 'Издательство';.SelectedForm:= 3;;TForm3.N5Click(Sender: TObject);.QuickRep2.Preview;;.

// ИздательстваUnit4;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, DB, DBTables, Menus, ExtCtrls, DBCtrls,, Mask, ADODB;= class(TForm): TMainMenu;: TMenuItem;: TDBGrid;Izdat: TDBNavigator;: TDataSource;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TADOConnection;: TADOQuery;: TMenuItem;: TADOQuery;: TMenuItem;: TMenuItem;: TMenuItem;NChooseClick(Sender: TObject);NCloseClick(Sender: TObject);NExitClick(Sender: TObject);NAddClick(Sender: TObject);NDeleteClick(Sender: TObject);FormCreate(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);N5Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm4;Unit1, Unit9, Unit10, Unit12, Unit17;

{$R *.dfm}TForm4.NChooseClick(Sender: TObject);.Show;;TForm4.NCloseClick(Sender: TObject);.Close;;TForm4.NExitClick(Sender: TObject);.Close;;TForm4.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:= 900;;TForm4.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:= 900;;TForm4.FormCreate(Sender: TObject);.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:= 900;;TForm4.N2Click(Sender: TObject);.Show;.ADOQuery1.Close;.ADOQuery1.SQL.Text:= 'SELECT Название,Фамилия_ИО FROM avtor,izdat WHERE (название=издательство) ORDER BY Название';.ADOQuery1.ExecSQL;.ADOQuery1.Open;.DbGrid1.Columns.Items[0].Width:= 200;.DbGrid1.Columns.Items[1].Width:= 200;.DBGrid1.Width:= 440;.Width:= 500;;TForm4.N3Click(Sender: TObject);.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM izdat ORDER BY Название');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Width:= 840;.Width:= 900;;TForm4.N4Click(Sender: TObject);.Show;.Edit1.Text:= '';.ComboBox1.Items[0]:= 'Название';.ComboBox1.Items[1]:= 'Адрес';.ComboBox1.Items[2]:= 'Директор';.ComboBox1.Items[3]:= 'Email';.SelectedForm:= 4;;TForm4.N5Click(Sender: TObject);.QuickRep2.Preview;;.

// СотрудникиUnit5;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, Grids, DBGrids, DB, DBTables, ExtCtrls, DBCtrls,, Mask, ADODB;= class(TForm): TDBGrid;: TMainMenu;: TMenuItem;Personal: TDBNavigator;: TDataSource;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TADOConnection;: TADOQuery;: TADOQuery;: TMenuItem;: TMenuItem;: TMenuItem;NChooseClick(Sender: TObject);NCloseClick(Sender: TObject);NExitClick(Sender: TObject);NAddClick(Sender: TObject);NDeleteClick(Sender: TObject);FormCreate(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm5;Unit1, Unit9, Unit10, Unit18;

{$R *.dfm}TForm5.NChooseClick(Sender: TObject);.Show;;TForm5.NCloseClick(Sender: TObject);.Close;;TForm5.NExitClick(Sender: TObject);.Close;;TForm5.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm5.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm5.FormCreate(Sender: TObject);.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm5.N2Click(Sender: TObject);.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM personal ORDER BY Фамилия_ИО');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm5.N3Click(Sender: TObject);.Show;.Edit1.Text:= '';.ComboBox1.Items[0]:= 'Фамилия_ИО';.ComboBox1.Items[1]:= 'Адрес';.ComboBox1.Items[2]:= 'Должность';.ComboBox1.Items[3]:= 'Место_работы';.ComboBox1.Items[4]:= 'Зарплата';.SelectedForm:= 5;;TForm5.N4Click(Sender: TObject);.QuickRep1.Preview;;.

// ПомещенияUnit6;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, DBGrids, DB, DBTables, Menus, ExtCtrls, DBCtrls,, Mask, ADODB;= class(TForm): TMainMenu;: TMenuItem;: TDBGrid;Square: TDBNavigator;: TDataSource;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TADOConnection;: TADOQuery;: TADOQuery;: TMenuItem;: TMenuItem;: TMenuItem;NChooseClick(Sender: TObject);NCloseClick(Sender: TObject);NExitClick(Sender: TObject);NAddClick(Sender: TObject);NDeleteClick(Sender: TObject);FormCreate(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm6;Unit1, Unit9, Unit10, Unit19;

{$R *.dfm}TForm6.NChooseClick(Sender: TObject);.Show;;TForm6.NCloseClick(Sender: TObject);.Close;;TForm6.NExitClick(Sender: TObject);.Close;;TForm6.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm6.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm6.FormCreate(Sender: TObject);.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm6.N2Click(Sender: TObject);.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM pomeschenie ORDER BY Тип');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Width:= 640;.Width:= 700;;TForm6.N3Click(Sender: TObject);.Show;.Edit1.Text:= '';.ComboBox1.Items[0]:= 'Тип';.ComboBox1.Items[1]:= 'Адрес';.ComboBox1.Items[2]:= 'Площадь';.SelectedForm:= 6;;TForm6.N4Click(Sender: TObject);.QuickRep1.Preview;;.

// ЗаказыUnit7;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, Grids, DBGrids, DBTables, Menus, ExtCtrls, DBCtrls,, Mask, ADODB;= class(TForm): TMainMenu;: TMenuItem;: TDBGrid;Zakaz: TDBNavigator;: TDataSource;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TADOConnection;: TADOQuery;: TMenuItem;: TADOQuery;: TMenuItem;: TMenuItem;: TMenuItem;NChooseClick(Sender: TObject);NCloseClick(Sender: TObject);NExitClick(Sender: TObject);NAddClick(Sender: TObject);NDeleteClick(Sender: TObject);FormCreate(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);N5Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm7;Unit1, Unit9, Unit10, Unit14, Unit20;

{$R *.dfm}TForm7.NChooseClick(Sender: TObject);.Show;;TForm7.NCloseClick(Sender: TObject);.Close;;TForm7.NExitClick(Sender: TObject);.Close;;TForm7.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm7.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm7.FormCreate(Sender: TObject);.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm7.N2Click(Sender: TObject);.Show;.ADOQuery1.Close;.ADOQuery1.SQL.Text:= 'SELECT Номер,Фамилия_ИО,Должность,Название FROM izdat,personal,zakaz WHERE (Заказал=Фамилия_ИО)and(Поставщик=Название) ORDER BY Номер';.ADOQuery1.ExecSQL;.ADOQuery1.Open;.DbGrid1.Columns.Items[0].Width:= 200;.DbGrid1.Columns.Items[1].Width:= 200;.DbGrid1.Columns.Items[2].Width:= 200;.DbGrid1.Columns.Items[3].Width:= 200;.DBGrid1.Width:= 840;.Width:= 900;;TForm7.N3Click(Sender: TObject);.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM zakaz ORDER BY Номер');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm7.N4Click(Sender: TObject);.Show;.Edit1.Text:= '';.ComboBox1.Items[0]:= 'Номер';.ComboBox1.Items[1]:= 'Количество_книг';.ComboBox1.Items[2]:= 'Сроки';.ComboBox1.Items[3]:= 'Заказал';.ComboBox1.Items[4]:= 'Поставик';.SelectedForm:= 7;;TForm7.N5Click(Sender: TObject);.QuickRep2.Preview;;.

// ИнспекцииUnit8;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, Grids, DBGrids, DBTables, Menus, ExtCtrls, DBCtrls,, Mask, ADODB;= class(TForm): TMainMenu;: TMenuItem;: TDBGrid;Inspector: TDBNavigator;: TDataSource;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TADOConnection;: TADOQuery;: TMenuItem;: TADOQuery;: TMenuItem;: TMenuItem;: TMenuItem;NChooseClick(Sender: TObject);NCloseClick(Sender: TObject);NExitClick(Sender: TObject);NAddClick(Sender: TObject);NDeleteClick(Sender: TObject);FormCreate(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);N5Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm8;Unit1, Unit9, Unit10, Unit15, Unit11, Unit21;

{$R *.dfm}TForm8.NChooseClick(Sender: TObject);.Show;;TForm8.NCloseClick(Sender: TObject);.Close;;TForm8.NExitClick(Sender: TObject);.Close;;TForm8.NAddClick(Sender: TObject);.Insert;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm8.NDeleteClick(Sender: TObject);.Delete;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm8.FormCreate(Sender: TObject);.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm8.N2Click(Sender: TObject);.Show;.ADOQuery1.Close;.ADOQuery1.SQL.Text:= 'SELECT Тип,Фамилия_ИО,Должность,Место_работы FROM personal,inspekciya WHERE (Инспектирует=Должность) ORDER BY Тип';.ADOQuery1.ExecSQL;.ADOQuery1.Open;.DbGrid1.Columns.Items[0].Width:= 200;.DbGrid1.Columns.Items[1].Width:= 200;.DbGrid1.Columns.Items[2].Width:= 200;.DbGrid1.Columns.Items[3].Width:= 200;.DBGrid1.Width:= 840;.Width:= 900;;TForm8.N3Click(Sender: TObject);.Active:= false;.SQL.Clear;.SQL.Add('SELECT*FROM inspekciya ORDER BY Шифр');.ExecSQL;.Active:= true;.Columns.Items[0].Width:= 200;.Columns.Items[1].Width:= 200;.Columns.Items[2].Width:= 200;.Columns.Items[3].Width:= 200;.Columns.Items[4].Width:= 200;.Width:= 1040;.Width:= 1100;;TForm8.N4Click(Sender: TObject);.Show;.Edit1.Text:= '';.ComboBox1.Items[0]:= 'Шифр';.ComboBox1.Items[1]:= 'Тип';.ComboBox1.Items[2]:= 'Адрес';.ComboBox1.Items[3]:= 'Директор';.ComboBox1.Items[4]:= 'Инспектирует';.SelectedForm:= 8;;TForm8.N5Click(Sender: TObject);.QuickRep1.Preview;;

end.

Похожие работы на - Книжный магазин

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!