Автор работы: Пользователь скрыл имя, 06 Мая 2013 в 19:56, курсовая работа
Возможны функции добавление, изменение, удаление, сортировка данных. Реализована диаграмма позволяющая определить время пика заказов.
Каждый новый заказ имеет возможность быть распечатанным в виде отчета, с указанием всех пунктов заказа, цены, даты и общей суммы заказов, а так же данные клиента и магазина.
Задание на курсовую работу. 3
Краткое описание предметной области. 4
1. Проектирование данных. 5
1.1 Характеристика входной и выходной информации. 5
1.2 Создание псевдонима для работы с базой данных. 7
1.3 Создание и разработка структуры таблиц базы данных. 7
1.4 Организация доступа к таблицам базы данных 9
2. Проектирование алгоритмов обработки информации. 10
2.1 Добавление записей 11
2.2 Изменение записей 13
2.3 Удаление записей. 14
2.4 Сортировка данных. 15
2.5 Поиск данных. 16
2.6 Диаграмма 19
2.7 Создание ведомостей или отчётов 19
3. Проектирование интерфейса. 20
3.1 Заставка программы. 20
3.2 Главная форма для работы с данными. 22
3.3 Информационное окно “Справка” и “Автор”. 23
3.4 Мини браузер. 23
3.5 Меню игр 24
3.6 Выход. 25
Список использованных источников 26
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
ГОСУДАРСТВЕНННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
КАМСКАЯ ГОСУДАРСТВЕННАЯ ИНЖЕНЕРНО-
ЭКОНОМИЧЕСКАЯ АКАДЕМИЯ
Кафедра ММИТЭ
КУРСОВАЯ РАБОТА
По дисциплине «Высокоуровневые методы информатики и программирования»
На
тему «создание информационно-
Выполнил: студент гр.хххх
ххх.
№ зачетной книжки:ххх
Проверил:
ххх
Набережные Челны
2011 год
ОГЛАВЛЕНИЕ. 2
Задание на курсовую работу. 3
Краткое описание предметной области. 4
1. Проектирование данных. 5
1.1 Характеристика входной и выходной информации. 5
1.2 Создание псевдонима для работы с базой данных. 7
1.3 Создание и разработка структуры таблиц базы данных. 7
1.4 Организация доступа к таблицам базы данных 9
2. Проектирование алгоритмов обработки информации. 10
2.1 Добавление записей 11
2.2 Изменение записей 13
2.3 Удаление записей. 14
2.4 Сортировка данных. 15
2.5 Поиск данных. 16
2.6 Диаграмма 19
2.7 Создание ведомостей или отчётов 19
3. Проектирование интерфейса. 20
3.1 Заставка программы. 20
3.2 Главная форма для работы с данными. 22
3.3 Информационное окно “Справка” и “Автор”. 23
3.4 Мини браузер. 23
3.5 Меню игр 24
3.6 Выход. 25
Список использованных источников 26
Задание на курсовую работу.
Составить информационно - аналитическую систему управления базой данных магазина автозапчастей. Исходная информация содержится в трех таблицах: Клиенты (код клиента, имя клиента, фамилия клиента, телефон, дополнительный телефон). Заказы клиентов (номер клиента, артикул детали, описание запчасти, количество, цена за единицу, дата заказа). Машины (номер клиента, марка и модель авто, Vin код, код ДВС, вид КПП). Текущий заказ(номер клиента, артикул детали, описание запчасти, количество, цена за единицу, дата заказа).
Ведение базы клиентов конкретного магазина автозапчастей, сохранение всех заказчиков, их данных, и данных на автомобили, хранение данных заказанных автозапчастей. Ведение архива заказов с целью упрощения повторных заказов.
В работе реализована поисковая система по клиентам, а так же по дате заказа. Ведется счет всего оборота за выбранный период времени, что позволить точно определять выручку магазина.
Возможны функции добавление, изменение, удаление, сортировка данных. Реализована диаграмма позволяющая определить время пика заказов.
Каждый новый заказ имеет возможность быть распечатанным в виде отчета, с указанием всех пунктов заказа, цены, даты и общей суммы заказов, а так же данные клиента и магазина.
Входной информацией являются 4 таблицы.
Одна, из которых представляют собой файл базы данных Paradox:
Две, из которых представляет собой файл базы данных SQL:
Выходной информацией являются различные выборки данных из таблиц: предоставление информации о клиенте(его контактные данные, данные на его машины, список всех его заказов), получение списка всех заказов за заданный период времени, и прочие не маловажные запросы. Так же реализована возможность вывода информации на новый заказ путем распечатки принтера.
1.2 Создание псевдонима для работы с базой данных.
Псевдоним базы данных был создан (зарегистрирован) при помощи утилиты BDE Administrator. В качестве псевдонима был выбран “intercar”.
Таблицы в формате Paradox создаются с помощью Database Desktop.С помощью этой программы создал таблицу “IntercarParadox” содержащую данные на автомобили заказчиков:
Структура таблицы:
И таблицы, созданные с помощью SQL:
1.4 Организация
доступа к таблицам базы данных
Доступ к таблицам осуществляется с помощью компонентов Table, ADO Connection, ADO Table.
Для таблицы сделанной в Database Desktop создал Table1 и задаются следующие свойства в окне инспектора объектов:
В свойстве DatabaseName таблиц выбирается созданный ранее псевдоним intercar, а в свойстве TableName выбирается соответствующие имя таблицы: intercarParadox. На следующем этапе создается элемент Data Source2. В свойстве Data Set, элемента, выбираем Table1. Для отображения данных в форме используются элементы DBGrid3(в свойстве Data Source выбираем DataSource2).
Для таблиц созданных в SQL server вначале создается ADO Connection1, в его свойстве Connection string записывается путь к базе данных. Далее для каждой таблицы создается ADO Table1, ADO Table2 и т.д.
На следующем этапе создаются несколько элементов Data Source соответственно количеству соединений с BDGRid
Все объекты Table, ADO Table, ADO Connection и Data Source я разместил на Datamodule, что позволило не закидывать основную форму этими не визуальными объектами которые сильно мешали бы при дальнейшим изменением интерфейса программы.
Изменение данных возможно лишь после ввода пароля. Для этого на форме имеется поле ввода пароля:
В кнопке помещен следующий код:
procedure TForm2.BitBtn7Click(Sender: TObject);
begin
if labelededit10.Text='379' then
begin
groupbox4.Visible:=true;
bitbtn8.Visible:=true;
bitbtn9.Visible:=true;
bitbtn11.Visible:=true;
labelededit10.Visible:=false;
bitbtn7.Visible:=false;
end else
showmessage('Не правильный пароль! Повторите попытку!') ;
end;
После введения правильного пароля отображаются следующие элементы:
Располагающиеся на главной форме, изначально в скрытом состоянии. Поле ввода же наоборот скрывается.
В случае ошибки ввода пароля пользователь увидит следующее сообщение: ' Не правильный пароль! Повторите попытку!
В поле ввода пароля все символы отображаются в виде цифры 5
Добавление нового клиента
При нажатии на кнопку добавит клиента открывается следующая форма:
Код кнопки:
begin
if labelededit2.Text='' then
showmessage('Введите фамилию!');
if labelededit3.Text='' then
showmessage('Введите Номер телефона!');
if (labelededit2.Text<>'') and (labelededit3.Text<>'') then
begin
datamodule3.adoquery3.sql[1]:=
datamodule3.adoquery3.execsql;
datamodule3.ADOQuery1.Close;
datamodule3.ADOQuery1.Open;
if MessageDlg('Клиент успешно добавлен! Желаете добавить данные автомобиля?',mtConfirmation, [mbYes,mbNo],0)= mrYes then
begin
groupbox2.Visible:=false;
groupbox1.Visible:=true;
showMessage('Не забывайте указывать клиента!') ;
end else
form4.Close;
labelededit1.Text:='' ;
labelededit2.Text:='';
labelededit3.Text:='' ;
labelededit4.Text:='' ;
end;
Происходит проверка на заполнение полей где не допускается значение Null в базе данных. После успешного добавления клиента открывается диалоговое окно которое позволит пользователю добавить клиенту данные на его машину
begin
if labelededit5.Text='' then
showmessage('Марку и модель авто!');
if labelededit6.Text='' then
showmessage('Введите VIN автомобиля!');
if (labelededit5.Text<>'') and (labelededit6.Text<>'') then
begin
datamodule3.query1.sql[1]:='
datamodule3.query1.execsql;
groupbox2.Visible:=true;
groupbox1.Visible:=false;
labelededit5.Text:='' ;
labelededit6.Text:='' ;
labelededit7.Text:='' ;
labelededit8.Text:='' ;
form4.Close;
end;
end;
Оба добавления происходят на одной форме путем скрытия и открытия Gruopbox. После каждого добавления поля ввода очищаются.
Изменение данных в таблицах «Клиенты» и «Машины».
После ввода пароля в соответствующее поле, открывается следующий блок :
В нем отображаются данные выделенного клиента в таблице клиентов с помощью объектов DBedit и DBtext. После введения изменений и нажатия кнопки ОК все таблицы данной вкладки обновляются.
Нажав на кнопку Удалить, на главной форме. Пользователь увидит форму выбора, где ему следует выбрать что удалять, либо клиента и данные на его авто, либо только данные авто выбранного клиента.После выбора он увидит соответствующую форму.
На формах пользователь выбирает сначала клиента затем авто(в случае удаления только авто). При удаление клиента удаляются абсолютно все что с ним было связано за исключением сделанных им заказов в архиве.
Сортировка имеется только на вкладке с таблицей архива. На вкладке с таблицей клиентов я не использовал данную возможность так как там имеется система поиска. А всем известно, что нагромождение кучей функций может привести к неудобству использования программы.
Блок сортировки :
procedure TForm2.RadioButton6Click(
begin
datamodule3.adoquery2.Close;
if CheckBox1.Checked then
datamodule3.adoquery2.sql[3]:=
datamodule3.adoquery2.sql[3]:= 'ORDER BY idCust ASC';
datamodule3.adoquery2.Open;
end;
procedure TForm2.RadioButton7Click(
begin
datamodule3.adoquery2.Close;
if CheckBox1.Checked then
datamodule3.adoquery2.sql[3]:=
datamodule3.adoquery2.sql[3]:= 'ORDER BY Firm ASC';
datamodule3.adoquery2.Open;
end;
procedure TForm2.RadioButton8Click(
begin
datamodule3.adoquery2.Close;
if CheckBox1.Checked then
datamodule3.adoquery2.sql[3]:=
datamodule3.adoquery2.sql[3]:= 'ORDER BY cena ASC';
datamodule3.adoquery2.Open;
end;
procedure TForm2.RadioButton9Click(
begin
datamodule3.adoquery2.Close;
if CheckBox1.Checked then
datamodule3.adoquery2.sql[3]:=
datamodule3.adoquery2.sql[3]:= 'ORDER BY Date ASC';
datamodule3.adoquery2.Open;
end;
Поиск реализован к двум таблицам: Клиенты и Заказы
Во втором случае поиск осуществляется путем выделения диапазона дат с использованием Datetimepicker.
Код для кнопки «Поиск»
datamodule3.adoquery2.close;
datamodule3.adoquery2.sql[2]:=
datamodule3.adoquery2.open;
datamodule3.adoquery2.Close;
DataModule3.ADOquery2.
DataModule3.ADOquery2.
DataModule3.ADOquery2.
DataModule3.ADOquery2.
datamodule3.adoquery2.sql[2]:=
datamodule3.adoquery2.open;
datamodule3.adoquery6.close;
datamodule3.adoquery6.sql[2]:=
datamodule3.adoquery6.open;
datamodule3.adoquery6.close;
DataModule3.ADOquery6.
DataModule3.ADOquery6.
DataModule3.ADOquery6.
DataModule3.ADOquery6.
datamodule3.adoquery6.sql[2]:=
datamodule3.adoquery6.open;
Код для кнопки «За весь период»
datamodule3.adoquery2.Close;
datamodule3.adoquery2.sql[2]:=
datamodule3.adoquery2.Open;
datamodule3.adoquery6.Close;
datamodule3.adoquery6.sql[2]:=
datamodule3.adoquery6.Open;
Поиск для таблицы клиентов
datamodule3.ADOQuery1.Close;
if form2.RadioButton1.checked then