Автор работы: Пользователь скрыл имя, 05 Июня 2013 в 01:53, курсовая работа
Существует огромное количество разновидностей баз данных, отличающихся по различным критериям (например, в «Энциклопедии технологий баз данных» определяются свыше 50 видов БД).
Целью моего курсового проекта является разработка базы данных “Интернет-магазин”. Программа предназначена для ведения базы данных интернет-магазина и всех поступающих в нее товаров: для удобства работы с ними, подсчета их количества, ведения учета поставщиков и установки оптимальной цены. При проектировании БД был использовал реляционный подход, потому что реляционные базы получили наибольшее распространение в мире и они считаются наиболее перспективными в научном плане, т.к. большинство СУБД работают именно с такими базами.
Введение……………………………………………………………………………….4
1 Постановка задачи…………………………………………………………………..6
Формулировка задания……………………………………………………………6
Информационная база задачи…………………………………………………….6
2 Вычислительная система……………………………………………………………8
2.1 Инструментальные средства разработки проекта……………………………….8
2.2 Среда разработки………………………………………………………………….10
2.3 Требования к конфигурации аппаратного обеспечения……………………......11
3 Проектирование……………………………………………………………………..12
3.1 Проектирование интерфейса……………………………………………………..12
4 Описание программы……………………………………………………………….14
4.1 Структура модулей………………………………………………………………..14
4.2 Описание процедур и функций…………………………………………………..14
5 Испытание программы……………………………………………………………...16
5.1 Тестовые примеры………………………………………………………………...16
5.2 Результаты тестирования…………………………………………………………22
5.3 Ошибки при написании…………………………………………………………..22
6 Описание применения……………………………………………………………...23
Заключение……………………………………………………………………………24
Список использованной литературы………………………………………………..25
Список использованных Интернет-ресурсов……………………………………….25
Приложение А (обязательное)……………………………………………………….26
Приложение Б (обязательное)………………………………………………………..28
Также программа рассчитана на любого пользователя, нуждающегося в поиске по определенному критерию:
- изготовитель
- модель
- конструкция корпуса
- цена
- год выпуска
-количество
Программа имеет простой, понятный интерфейс, а также является простой и понятной в использовании и не требует специального мощного компьютера.
Использование программы:
Заключение
В данном курсовом проекте была рассмотрена программа, которая ведет учет интернет-магазинов и товаров, содержащихся в них. Были описаны различные функции, которые выполняет эта программа.
Для проектирования базы данных применялась таблица Microsoft Access, которая открывалась и прикреплялась с помощью компонентов “ADO” в среде программирования Borland Delphi.
Данная программа в
В следующих версиях программы будет дорабатываться интерфейс, улучшаться система справки, а также будет добавлено больше информации, будут исправлены мелкие недочеты.
Список использованной литературы
Список использованных Интернет-ресурсов
http://www.delphikingdom.com/
http://www.delphisources.ru/
Приложение А
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMan, StdCtrls, jpeg, ExtCtrls, Buttons;
type
TForm1 = class(TForm)
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
XPManifest1: TXPManifest;
Image1: TImage;
Label1: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
pas:string;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.RadioButton1Click(
begin
edit1.Visible:=false;
end;
procedure TForm1.RadioButton2Click(
begin
edit1.Visible:=true;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
pas:='black'; //присваиваем переменной-пароль
if (radiobutton1.Checked=true) then//если выбран гость то...
begin
form2.show;
form2.bitbtn1.Visible:=false;
form2.bitbtn2.Visible:=false;
form2.bitbtn3.Visible:=false;
form2.DBGrid1.Columns[0].
form2.DBGrid1.Columns[5].
form2.DBGrid1.Columns[6].
form2.DBGrid1.Columns[7].
form2.ComboBox1.Items.Clear;
form2.ComboBox1.Items.Add('
form2.ComboBox1.Items.Add('
form2.ComboBox1.Items.Add('
form2.ComboBox1.Items.Add('
form2.ComboBox1.Items.Add('Год выпуска');
Form2.Label2.Caption:='Гость';
Form1.Hide;
end;
if (radiobutton2.Checked=true) then //если выбран администратор,то..
if (edit1.Text=pas) then //проверяем правильность набранного пароля
begin
form2.Show;
form2.bitbtn1.Visible:=true;
form2.bitbtn2.Visible:=true;
form2.bitbtn3.Visible:=true;
form2.DBGrid1.Columns[0].
form2.DBGrid1.Columns[6].
form2.DBGrid1.Columns[5].
form2.DBGrid1.Columns[7].
form2.ComboBox1.Items.Clear;
form2.ComboBox1.Items.Add('
form2.ComboBox1.Items.Add('
form2.ComboBox1.Items.Add('
form2.ComboBox1.Items.Add('
form2.ComboBox1.Items.Add('Год выпуска');
form2.ComboBox1.Items.Add('
Form2.Label2.Caption:='
Form1.Hide;
Edit1.Clear;
end else showmessage('Вы ввели неправельный пароль!!!');
end;
procedure TForm1.BitBtn2Click(Sender: TObject); //выходим из программы
begin
close;
end;
end.
Приложение Б
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB, jpeg, ExtCtrls,XPMan, StdCtrls,
DBCtrls, Buttons, Menus, ComCtrls;
type
TForm2 = class(TForm)
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
DBMemo1: TDBMemo;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
DBImage1: TDBImage;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
ComboBox1: TComboBox;
Edit1: TEdit;
Button1: TButton;
MainMenu1: TMainMenu;
N1: TMenuItem;
Button2: TButton;
PopupMenu1: TPopupMenu;
N2: TMenuItem;
Button3: TButton;
Button4: TButton;
StatusBar1: TStatusBar;
Timer1: TTimer;
N3: TMenuItem;
ADOQuery1id: TAutoIncField;
ADOQuery1DSDesigner: TWideStringField;
ADOQuery1DSDesigner2: TWideStringField;
ADOQuery1DSDesigner3: TIntegerField;
ADOQuery1_: TWideStringField;
ADOQuery1DSDesigner4: TIntegerField;
ADOQuery1DSDesigner5: TWideStringField;
ADOQuery1DSDesigner6: TWideStringField;
ADOQuery1_2: TIntegerField;
Label3: TLabel;
N4: TMenuItem;
procedure Label2DblClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
procedure ComboBox1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure ADOQuery1AfterScroll(DataSet: TDataSet);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure N2Click(Sender: TObject);
procedure help1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
procedure dbresize1;
procedure dbresize2;
var
Form2: TForm2;
implementation
uses Unit1, Unit3, Unit4, Unit5, Unit6, Unit7;
{$R *.dfm}
procedure TForm2.Label2DblClick(Sender: TObject);//Возвращение на форму авторизации
begin
form1.show;
form2.Close;
end;
procedure TForm2.BitBtn1Click(Sender: TObject);//добавляем в базу данных строку
begin
form3.Caption:='Добавление';
dbgrid1.DataSource.DataSet.
dbgrid1.DataSource.DataSet.
Form3.ShowModal;
end;
procedure TForm2.BitBtn2Click(Sender: TObject);//изменяем строку в базе данных
begin
form3.Caption:='Изменение';
form3.ShowModal;
end;
procedure TForm2.BitBtn3Click(Sender: TObject); //переход на форму удаления строки в БД
begin
form7.show;
end;
procedure TForm2.DBGrid1TitleClick(
begin
AdoQuery1.Sort:=Column.
end;
procedure TForm2.ComboBox1Change(Sender: TObject);//проверка видимости поля поиска ввода
begin
if combobox1.ItemIndex<>-1 then
edit1.Visible:=true
else
edit1.Visible:=false;
end;
procedure TForm2.Button1Click(Sender: TObject);//поиск с использованием запросов
begin
adoquery1.Active:=false;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from БД');
case combobox1.ItemIndex of
0:Adoquery1.SQL.Add('where Изготовитель LIKE "%'+edit1.Text+'%"');//запрос по полю Изготовител
1:Adoquery1.SQL.Add('where Модель LIKE "%'+edit1.text+'%"');//запрос по полю Модель
2:Adoquery1.SQL.Add('where Конструкция_корпуса LIKE "%'+edit1.text+'%"');//запрос по полю Конструкция корпуса
3:Adoquery1.SQL.Add('where Цена <= '+edit1.Text+'');//запрос по полю Цена
4:Adoquery1.SQL.Add('where Год_выпуска= '+edit1.text+'');//запрос по полю Год выпуска
5:Adoquery1.SQL.Add('where Количество <= '+edit1.text+'');//запрос по полю Количество
end;
Adoquery1.Active:=true;
if label2.Caption='Гость' then
dbresize2;
if label2.Caption='Администратор' then
dbresize1;
end;
procedure TForm2.N1Click(Sender: TObject);//Очистка 2 таблицы "Каразина" (БД2)
begin
form1.Close;
form5.ADOQuery1.Edit;
form5.ADOQuery1.Close;
form5.ADOQuery1.SQL.Clear;
form5.ADOQuery1.SQL.Add('
form5.ADOQuery1.ExecSQL;
close;
end;
procedure TForm2.Button2Click(Sender: TObject);//Возвращение прежней информации в таблицу (БД)
begin
edit1.Clear;
edit1.Visible:=false;
combobox1.Enabled:=true;
combobox1.Text:='Выберите поле';
adoquery1.Active:=false;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from Бд');
adoquery1.Active:=true;
if label2.Caption='Гость' then begin
dbresize2;
end else if label2.Caption='Администратор' then begin
dbresize1;
end;
end;
procedure TForm2.ADOQuery1AfterScroll(
begin
if Form2.DataSource1.DataSet.
//стандартным изображением является "шаблон.bmp"
begin
Form2.DataSource1.DataSet.
end;
dbimage1.Stretch:=true;
dbimage1.Picture.LoadFromFile(
end;
procedure dbresize1;//процедура не видимости полей
begin
form2.DBGrid1.Columns[0].
form2.DBGrid1.Columns[6].
form2.DBGrid1.Columns[7].
end;
procedure dbresize2;//процедура не видимости полей
begin
form2.DBGrid1.Columns[0].
form2.DBGrid1.Columns[5].
form2.DBGrid1.Columns[6].
form2.DBGrid1.Columns[7].
end;
procedure TForm2.Edit2KeyPress(Sender: TObject; var Key: Char);//Ограничение ввода
begin
case key of
'0'..'9',#8:
else key:=#0;
end;
end;
procedure TForm2.N2Click(Sender: TObject);//сохранение описания в текстовый файл
begin
dbmemo1.Lines.SaveToFile('vl.
end;
procedure TForm2.help1Click(Sender: TObject);//открытие формы Справка
begin
form4.show;
end;
procedure TForm2.Button3Click(Sender: TObject);//присваивание информации полей таблицы "БД" в таблицу "БД2"
begin
form5.ADOQuery1.Edit;
form5.DBGrid1.DataSource.
form5.DBGrid1.DataSource.
form5.DBGrid1.DataSource.
form5.DBGrid1.DataSource.
form5.DBGrid1.DataSource.
form5.DBGrid1.DataSource.
form5.DBGrid1.DataSource.
form5.DBGrid1.DataSource.
end;
procedure TForm2.Button4Click(Sender: TObject);//открытие формы Корзина
begin
form5.DBGrid1.Columns[0].
form2.Hide;
form5.Show;
end;
procedure TForm2.ComboBox1KeyPress(
begin
key:=#0;
end;
procedure TForm2.FormCreate(Sender: TObject);//заполнение панели статуса
begin
Statusbar1.Panels[0].Text:=
Statusbar1.Panels[1].Text:=
Statusbar1.Panels[2].Text:='
Statusbar1.Panels[3].Text:='
end;
procedure TForm2.Timer1Timer(Sender: TObject);//отображение времени по таймеру (показывает нынешнее время)
begin
Statusbar1.Panels[1].Text:=
end;
procedure TForm2.N3Click(Sender: TObject);//открытие формы
begin
form6.Show;
end;
procedure TForm2.N4Click(Sender: TObject);//открытие формы
begin
form4.Show;
end;
end.
Приложение В
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, DBCtrls, Buttons, XPMan, jpeg, ExtCtrls, ExtDlgs;
type
TForm3 = class(TForm)
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
BitBtn1: TBitBtn;
DBMemo1: TDBMemo;
Image1: TImage;
Label7: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label1: TLabel;
OpenPictureDialog1: TOpenPictureDialog;
Button1: TButton;
Button2: TButton;
procedure BitBtn1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses unit2;
{$R *.dfm}
procedure TForm3.BitBtn1Click(Sender: TObject);//добавление изменений в (БД)
begin
form2.DBGrid1.DataSource.
close;
end;
procedure TForm3.Button1Click(Sender: TObject);//Подгрузка изображений
begin
form2.ADOQuery1.Edit;
if OpenPictureDialog1.Execute then
begin
Form2.DataSource1.DataSet.
Form2.DataSource1.DataSet.
end
end;
procedure TForm3.Button2Click(Sender: TObject);//отмена изменений (БД)
begin
form2.DataSource1.DataSet.
close;
end;
end.
Приложение Г
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, SHDocVw;
type
TForm4 = class(TForm)
WebBrowser1: TWebBrowser;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
{$R *.dfm}
procedure TForm4.FormCreate(Sender: TObject);//Ссылка на файл справки
begin
webbrowser1.Navigate('G:\