Рефераты. База данных "Магазин по продаже дисков"

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

1.3.1 Название и назначение разрабатываемого приложения

Я назвал своё приложение “Автоматизированное рабочее место для продавца компакт дисков”.

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

1.3.2 Спецификация входных и выходных данных

Входной информацией для данной программы являются:

o Наименование диска;

o Группа, к которой относятся диски;

o Количество;

o Закупочная цена;

o Цена продажи;

Выходной информацией для данной программы является

o Сортировка данных по убыванию и возрастанию;

o Добавление данных о дисках вновь поступающих в базу;

o Фильтрация данных по некоторым полям;

o Поиск и возврат дисков;

o Визуализация приложения в удобной форме

1.3.3 Обоснование выбора средства программирования

Я выбрал RAD - систему Borland C++ Builder 6.0, потому что она изучена в течение семестра, а также является удобным и мощным средством для разработки как простых консольных приложений, так и обширных комплексных приложений с графическим интерфейсом.

1.3.4 Требования к аппаратной части и ПО

Персональный компьютер фирмы IBM серии PC (или совместимый с этими моделями), работающий под управлением операционной системы (ОС) Windows 98/XP/Vista, оперативная память объемом не менее 32 Мбайт, процессор с тактовой частотой не менее 133 MHz, клавиатура, мышь.

2. Технология разработки приложения

2.1 Макет приложения

2.1.1 Описание экранных форм
При запуске программы появляется форма 1
При нажатии на TabSheet2 появится следующая вкладка, в которой можно будет добавить информацию о дисках.
При нажатии на TabSheet3 появится следующая вкладка, в которой можно
При нажатии на TabSheet4 появится следующая вкладка, в которой можно будет удалять информацию о дисках с базы предварительно отфильтровав.
При нажатии кнопки “О программе” появляется форма, в которой содержится информация о программе.
2.1.2 Описание файлов проекта
Важно отметить, что программа состоит из следующих файлов:
- файл проекта (файл с расширением . cbproj);
- файл описания класса формы (файл с расширением .h);
- файл исходного текста (файл с расширением .cpp);
- файл с описанием окон формы (файл с расширением .dfm);
В файле проекта находится информация о модулях, составляющих данный проект.
Файл исходного текста - программный модуль, предназначенный для размещения текстов программ на языке С++.
Проект содержит следующие файлы Project1. cbproj - файл проекта, 2 модуля Unit1.cpp, Unit2.cpp и соответствующие им 2 формы.

2.2 Описание программы

Программа состоит из 2-х модулей:

Unit1

void __fastcall TForm1::N1Click(TObject *Sender)// Открытия формы2 показ информации о программе

void __fastcall TForm1::Button1Click(TObject *Sender)// Добавление информации о дисках в БД.

void __fastcall TForm1::TabSheet1Show(TObject *Sender)// Отображение данных БД в DBGrid1.

void __fastcall TForm1::Button2Click(TObject *Sender)// Сортировка данных по убыванию или возрастанию.

void __fastcall TForm1::Button3Click(TObject *Sender)// Фильтрация данных по значениям полей базы данных.

void __fastcall TForm1::Button4Click(TObject *Sender)// Поиск данных в таблице по наименованию для удаления из БД.

void __fastcall TForm1::Button5Click(TObject *Sender)// Удаление записи из БД.

Unit2

void __fastcall TAboutBox::OKButtonClick(TObject Sender)//закрытие формы №2

2.3 Результаты работы программы

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

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

Установка приложения производится посредством копирования всех файлов в любой каталог.

Внимание: Обязательно присутствие в одном и том же каталоге всех файлов!

Работа программы начинается с окна запуска программы Project1.exe

После запуска программы появляется следующая форма

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

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

Заключение

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

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

Так же в процессе выполнения работы были получены и закреплены практические навыки разработки программ с использованием SQL запросов и баз данных в написании программ в среде визуального программирования Borland C++ Builder 6.0.

Список использованных источников

1. Бобровский С. Самоучитель програмирования на языке C++ в среде Borland C++ Builder

2. Культин Н.Б. С++ Buider в задачах и примерах - СПб.:БХВ-Петербург, 2007. - 336с.: ил.

3. Лаптев В.В. C++. Экспресс-курс . 2004г.

4. Послед Б.С. Borland C++ Builder 6. Разработка приложений баз. 2003г. -360ст.

5. Технология разработки приложения на языке С++. Методическое указание к лабораторным работам для студентов первого курса специальности 080801.65 “Прикладная информатика” (по областям)

6. Учебник по программированию в среде С++ Builder 5, Д. Холингворт, Б. Сворт, Д. Баттерфилд 865 с.

7. Б., Эллисон Ч. Философия С++. Практическое программирование. С.Петербург 2004г. 608 с.:ил.

Приложение

Листинг файла - проекта Project1.cpp

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "ABOUT.h"

#include "Unit1.h"

#include "Unit2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{ADOConnection1->Connected = false;

ADOConnection1->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source="+ExtractFileDir(Application->ExeName)+" \\ БАЗА ДАННЫХ \\ CD.mdb; Mode=Share Deny None;Extended Properties=\"\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"\";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";

ADOConnection1->Connected = true;

PageControl1->ActivePage = TabSheet1;}

//---------------------------------------------------------------------------

void __fastcall TForm1::N1Click(TObject *Sender)

{AboutBox->Show();}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{DataSource1->DataSet = ADOQuery1;

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("SELECT [Наименование] FROM Tab1 WHERE [Наименование] =\""+Edit1->Text+"\";");

ADOQuery1->ExecSQL();

ADOQuery1->Open();

if(Edit1->Text!=""&&ComboBox1->Text!=" "&&Edit2->Text!=" "&Edit3->Text!=""&&Edit4->Text!="")

{if(ADOQuery1->RecordCount==0)

{ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("INSERT INTO Tab1 ([Наименование],[Группа],[Количество],[Закупочная цена],[Цена продажи])");

ADOQuery1->SQL->Add("Values("+QuotedStr(Edit1->Text)+","+QuotedStr(ComboBox1->Text)+","+Edit2->Text+","+Edit3->Text+","+Edit4->Text+");");

ADOQuery1->ExecSQL();}else

{MessageDlg("Такие диски уже есть!"mtInformation,TMsgDlgButtons()<<mbOK,0);}

else

{MessageDlg("Введены не все данные для добавления диска(-ов) в базу!"mtInformation,TMsgDlgButtons()<<mbOK,0);}

Edit1->Clear();

ComboBox1->Clear();

Edit2->Clear();

Edit3->Clear();

Edit4->Clear();}

//---------------------------------------------------------------------------

void __fastcall TForm1::TabSheet1Show(TObject *Sender)

{DataSource1->DataSet = ADOQuery1;

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("SELECT * FROM Tab1;");

ADOQuery1->ExecSQL();

ADOQuery1->Open();}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{ADOQuery1->SQL->Clear();

if(RadioButton1->Checked)

{ADOQuery1->SQL->Add("SELECT * FROM Tab1 ORDER BY +["+ComboBox2->Text+"] DESC;");

ADOQuery1->ExecSQL();

DataSource1->DataSet = ADOQuery1;

ADOQuery1->Open();}

else

{if(RadioButton2->Checked)

{ADOQuery1->SQL->Add("SELECT * FROM Tab1 ORDER BY +["+ComboBox2->Text+"] ASC;");

ADOQuery1->ExecSQL();

DataSource1->DataSet = ADOQuery1;

ADOQuery1->Open();}}}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{if(RadioButton3->Checked)

{ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("SELECT * FROM Tab1 WHERE [Наименование] "+ComboBox3->Text+"\""+Edit5->Text+"\";");

ADOQuery1->ExecSQL();

ADOQuery1->Open();

ComboBox3->Clear();

Edit5->Clear();}

else

{if(RadioButton4->Checked)

{ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("SELECT * FROM Tab1 WHERE [Группа] "+ComboBox4->Text+"\""+ComboBox8->Text+"\";");

ADOQuery1->ExecSQL();

ADOQuery1->Open();

ComboBox4->Clear();

ComboBox8->Clear();}

else

{if(RadioButton5->Checked)

{ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("SELECT * FROM Tab1 WHERE [Количество] "+ComboBox5->Text+" "+Edit7->Text+";");

ADOQuery1->ExecSQL();

ADOQuery1->Open();

ComboBox5->Clear();

Edit7->Clear();}

else

{if(RadioButton6->Checked)

{ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("SELECT * FROM Tab1 WHERE [Закупочная цена] "+ComboBox6->Text+" "+Edit8->Text+";");

ADOQuery1->ExecSQL();

ADOQuery1->Open();

ComboBox6->Clear();

Edit8->Clear();}

else

{if(RadioButton7->Checked)

{ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("SELECT * FROM Tab1 WHERE [Цена продажи] "+ComboBox7->Text+" "+Edit9->Text+";");

ADOQuery1->ExecSQL();

ADOQuery1->Open();

ComboBox7->Clear();

Edit9->Clear();}

else

{MessageDlg("Укажите хотя бы одно поле..."mtInformation,TMsgDlgButtons()<<mbOK,0);}}}}}}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{if(Edit10->Text!="")

{//MessageDlg("Укажите не достаюшие поля..."mtInformation,TMsgDlgButtons()<<mbOK,0);}

ADOQuery1->SQL->Clear();

ADOQuery1->SQL->Add("SELECT * FROM Tab1 WHERE [Наименование] =\""+Edit10->Text+"\";");

ADOQuery1->ExecSQL();

ADOQuery1->Open();

Edit10->Clear();} else

{MessageDlg("Укажите не достаюшие поля..."mtInformation,TMsgDlgButtons()<<mbOK,0);}}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)

{ADOQuery1->Delete();}

//---------------------------------------------------------------------------

Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.