Смекни!
smekni.com

База данных "Магазин по продаже дисков" (стр. 3 из 4)

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


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)+" &bsol; БАЗА ДАННЫХ &bsol; CD.mdb; Mode=Share Deny None;Extended Properties=&bsol;"&bsol;";Jet OLEDB:System database=&bsol;"&bsol;";Jet OLEDB:Registry Path=&bsol;"&bsol;";Jet OLEDB:Database Password=&bsol;"&bsol;";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=&bsol;"&bsol;";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 [Наименование] =&bsol;""+Edit1->Text+"&bsol;";");

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();