Разработка базы данных "Оптовый склад" - Курсовая работа

бесплатно 0
4.5 70
Проектирование приложения для базы данных "Оптовый склад" средней сложности с типовым пользовательским интерфейсом. Изучение особенностей ведения учета поставщиков, покупателей, продаж, движения товара на складе. Выборка, удаление таблиц из базы данных.


Аннотация к работе
Введение Описание приложения для БД Работа с программой.

Список литературы
Листинг программы

Введение

Целью курсовой работы является разработка для ЭВМ базы данных средней сложности с типовым пользовательским интерфейсом, а в частности, разработка базы данных «Оптовый склад» на основе реляционной системы управления базами данных Microsoft SQL Server.

На рис.1 приведена схема данных для базы данных «Оптовый склад»

Описание приложения для БД

Назначение

Создаваемая информационная система предназначена, прежде всего, для ведения данных: Поставщики (Название поставщика, адрес и телефон).

1. Покупатели (Название покупателя, адрес и телефон).

2. товар на складе (код товара, поставщик, название товара, единицы измерения, количество, цена покупки за единицу товара, цена продажи за единицу товара);

3. сделки о продаже (код товара, поставщик, покупатель, количество проданного товара).

Кроме того, в системе должны быть реализованы возможности поиска.

Работа с программой

Данное приложение рассчитано на работу в среде Windows под управлением СУБД Microsoft SQL. При открытии приложения появляется форма «Оптовый склад» (рисунок 2):

Рисунок 2 -Приложение «Оптовый склад»

Таблицы

Выборка таблиц из базы данных происходит посредством вкладок. В каждой вкладке расположена одна таблица.

Добавление база оптовый склад пользовательский

Данная вкладка представляет собой форму для вставки данных в таблицы (так как их несколько, и они выбираются в верхней вкладке, то для каждой таблицы существует определенный набор атрибутов). По нажатии кнопки «Добавить» данные заносятся в СУБД.

Удаление

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

Поиск

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

Сортировка

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

Выход

Выход в среду Windows происходит при нажатии на красный крестик в правом верхнем углу, либо сочетанием клавиш Alt F4.

Заключение

В курсовой работе была спроектирована, разработана база данных в приложении Microsoft SQL. Само приложение к базе данных написано на Delphi 7. Эта база данных имеет удобный интерфейс, главное меню, позволяет добавлять, удалять, искать и сортировать данные.

Список использованной литературы

· А.Я.Архангельский Программирование в С Builder 7-е изд.-М.:ООО «Бином-Пресс», 2010г.-896 с.(1230 с.):ил.

· Культин Н. Б. C Builder в задачах и примерах. Петербург, 2005. - 336 с : ил. - СПБ.: БХВ

· Культин Н. Б. Самоучитель по Delphi. Петербург, 2005. - 356 с : ил. - СПБ.: БХВ

· Карпова Т.С. Базы данных: модели, разработка, реализация. - СПБ.: Питер, 2001. - 304с.

· Фаронов В.В. Программирование баз данных в Delphi 7: Учебный курс. - СПБ.: Питер, 2004 - 464 с.

· Могилев А.В., Пак Н.И., Хеннер Е.К. Информатика: Учеб. пособие для студ. пед. вузов / Под ред. Е.К. Хеннера. - М., Academia, 2004.

· Культин Н.Б. Программирование в Turbo Pascal и Delphi. - СПБ.: BHV - Санкт-Петербург, 1998. - 240 с.

Листинг программы procedure TFORM1.pgc2Change(Sender: TOBJECT);

begin if pgc2.ACTIVEPAGEINDEX=0 then begin

//panel pnl2.Visible:=True;pnl1.Visible:=False; pnl3.Visible:=False; pnl4.Visible:=False;

pnl9.Visible:=True;pnl10.Visible:=False;pnl11.Visible:=False;pnl12.Visible:=False;

pnl5.Visible:=True;pnl7.Visible:=False; pnl6.Visible:=False; pnl8.Visible:=False;

//button btn1.Visible:=True;btn3.Visible:=False; btn4.Visible:=False; btn5.Visible:=False;

//label lbl1.Visible:=True;lbl2.Visible:=True;lbl3.Visible:=True;

lbl7.Visible:=False;lbl8.Visible:=False;lbl9.Visible:=False;

lbl12.Visible:=False;lbl21.Visible:=False;

lbl24.Visible:=False;lbl25.Visible:=False;

lbl18.Visible:=False;lbl22.Visible:=False;lbl23.Visible:=False;lbl26.Visible:=False;

//edit

DBEDITEH1.Visible:=True;DBEDITEH2.Visible:=True;DBEDITEH3.Visible:=True;

edt1.Visible:=False;edt2.Visible:=False;edt3.Visible:=False;

end;

if pgc2.ACTIVEPAGEINDEX=1 then begin

//panel pnl2.Visible:=False; pnl1.Visible:=True; pnl3.Visible:=False; pnl4.Visible:=False;

pnl9.Visible:=False; pnl10.Visible:=True; pnl11.Visible:=False;pnl12.Visible:=False;

pnl5.Visible:=False; pnl7.Visible:=True; pnl6.Visible:=False; pnl8.Visible:=False;

//button btn1.Visible:=False; btn3.Visible:=True; btn4.Visible:=False; btn5.Visible:=False;

//label lbl1.Visible:=True;lbl2.Visible:=True;lbl3.Visible:=True;

lbl7.Visible:=False;lbl8.Visible:=False;lbl9.Visible:=False;

lbl12.Visible:=False;lbl21.Visible:=False;

lbl24.Visible:=False;lbl25.Visible:=False;

lbl18.Visible:=False;lbl22.Visible:=False;lbl23.Visible:=False;lbl26.Visible:=False;

//edit

DBEDITEH1.Visible:=True;DBEDITEH2.Visible:=True;DBEDITEH3.Visible:=True;

edt1.Visible:=False;edt2.Visible:=False;edt3.Visible:=False;

end;

if pgc2.ACTIVEPAGEINDEX=2 then begin //panel pnl2.Visible:=False; pnl1.Visible:=False; pnl3.Visible:=True; pnl4.Visible:=False;

pnl9.Visible:=False; pnl10.Visible:=False; pnl11.Visible:=True;pnl12.Visible:=False;

pnl5.Visible:=False; pnl7.Visible:=False; pnl6.Visible:=True; pnl8.Visible:=False;

//button btn1.Visible:=False; btn3.Visible:=False; btn4.Visible:=True; btn5.Visible:=False;

//label lbl1.Visible:=False;lbl2.Visible:=False;lbl3.Visible:=False;

lbl7.Visible:=True;lbl8.Visible:=True;lbl9.Visible:=True;

lbl12.Visible:=True;lbl21.Visible:=False;

lbl24.Visible:=False;lbl25.Visible:=False;

lbl18.Visible:=False;lbl22.Visible:=False;lbl23.Visible:=False;lbl26.Visible:=False;

//edit

DBEDITEH1.Visible:=True;DBEDITEH2.Visible:=True;DBEDITEH3.Visible:=True;

edt1.Visible:=True;edt2.Visible:=False;edt3.Visible:=False;

end;

if pgc2.ACTIVEPAGEINDEX=3 then begin

//panel pnl2.Visible:=False; pnl1.Visible:=False; pnl3.Visible:=False; pnl4.Visible:=True;

pnl9.Visible:=False; pnl10.Visible:=False; pnl11.Visible:=False;pnl12.Visible:=True;

pnl5.Visible:=False; pnl7.Visible:=False; pnl6.Visible:=False; pnl8.Visible:=True;

//button btn1.Visible:=False; btn3.Visible:=False; btn4.Visible:=False; btn5.Visible:=True;

//label lbl1.Visible:=False;lbl2.Visible:=False;lbl3.Visible:=False;

lbl7.Visible:=False;lbl8.Visible:=False;lbl9.Visible:=False;

lbl12.Visible:=False;lbl21.Visible:=False;

lbl24.Visible:=True;lbl25.Visible:=True;

lbl18.Visible:=True;lbl22.Visible:=True;lbl23.Visible:=True;lbl26.Visible:=True;

//edit

DBEDITEH1.Visible:=True;DBEDITEH2.Visible:=True;DBEDITEH3.Visible:=True;

edt1.Visible:=True;edt2.Visible:=True;edt3.Visible:=True;

end;

end;

//_____Pokupateli_nach

//create new procedure TFORM1.btn1Click(Sender: TOBJECT);

Var poku_name, poku_adres, poku_phone: string;

begin poku_name:=QUOTEDSTR(unit1.Form1.DBEDITEH1.Text);

poku_adres:=QUOTEDSTR(unit1.Form1.DBEDITEH2.Text);

poku_phone:=QUOTEDSTR(unit1.Form1.DBEDITEH3.Text);

with Unit2.DATAMODULE2.QRYHELP do begin

Close;

SQL.Clear;

SQL.Add("exec new_pok " poku_name "," poku_adres "," poku_phone);

EXECSQL;

unit2.DATAMODULE2.QRYPOKUP.Active:=False;

unit2.DATAMODULE2.QRYPOKUP.Active:=True;

end;

end;

//delete procedure TFORM1.btn2Click(Sender: TOBJECT);

var id_poku: string;

begin id_poku:=QUOTEDSTR(unit1.Form1.DBCOMBOBOXEH1.Text);

with Unit2.DATAMODULE2.QRYHELP do begin

Close;

SQL.Clear;

SQL.Add("exec delete_pok " id_poku);

EXECSQL;

unit2.DATAMODULE2.QRYPOKUP.Active:=False;

unit2.DATAMODULE2.QRYPOKUP.Active:=True;

end;

end;

//sortirovka procedure TFORM1.DBCHECKBOXEH1Click(Sender: TOBJECT);

begin if unit1.Form1.DBCHECKBOXEH1.Checked=True then begin with unit2.DATAMODULE2.QRYPOKUP do begin

Close;

SQL.Clear;

SQL.Add("select * from poku order by name");

Open;

end;

end;

end;

procedure TFORM1.DBCHECKBOXEH2Click(Sender: TOBJECT);

begin if unit1.Form1.DBCHECKBOXEH2.Checked=True then begin with unit2.DATAMODULE2.QRYPOKUP do begin

Close;

SQL.Clear;

SQL.Add("select * from poku order by adres");

Open;

end;

end;

end;

//poisk procedure TFORM1.edt8Change(Sender: TOBJECT);

var poku_help1,poku_help2: string;

begin poku_help1:="%" unit1.Form1.edt8.Text "%";

poku_help2:=QUOTEDSTR(poku_help1);

with unit2.DATAMODULE2.QRYPOKUP do begin

Close;

SQL.Clear;

SQL.Add("select * from poku where name like " poku_help2);

Open;

end;

end;

procedure TFORM1.edt9Change(Sender: TOBJECT);

var poku_help3,poku_help4: string;

begin poku_help3:="%" unit1.Form1.edt9.Text "%";

poku_help4:=QUOTEDSTR(poku_help3);

with unit2.DATAMODULE2.QRYPOKUP do begin

Close;

SQL.Clear;

SQL.Add("select * from poku where adres like " poku_help4);

Open;

end;

end;

procedure TFORM1.edt10Change(Sender: TOBJECT);

var poku_help5,poku_help6: string;

begin poku_help5:="%" unit1.Form1.edt10.Text "%";

poku_help6:=QUOTEDSTR(poku_help5);

with unit2.DATAMODULE2.QRYPOKUP do begin

Close;

SQL.Clear;

SQL.Add("select * from poku where phone like " poku_help6);

Open;

end;

end;

//Pokupateli_kon

//Postavshiki_nach

//create new procedure TFORM1.btn3Click(Sender: TOBJECT);

Var post_name, post_adres, post_phone: string;

begin post_name:=QUOTEDSTR(unit1.Form1.DBEDITEH1.Text);

post_adres:=QUOTEDSTR(unit1.Form1.DBEDITEH2.Text);

post_phone:=QUOTEDSTR(unit1.Form1.DBEDITEH3.Text);

with Unit2.DATAMODULE2.QRYHELP do begin

Close;

SQL.Clear;

SQL.Add("exec new_post " post_name "," post_adres "," post_phone);

EXECSQL;

unit2.DATAMODULE2.QRYPOSTAV.Active:=False;

unit2.DATAMODULE2.QRYPOSTAV.Active:=True;

end;

end;

//delete procedure TFORM1.btn6Click(Sender: TOBJECT);

var post_id: string;

begin post_id:=QUOTEDSTR(unit1.Form1.DBCOMBOBOXEH3.Text);

with Unit2.DATAMODULE2.QRYHELP do begin

Close;

SQL.Clear;

SQL.Add("exec delete_post " post_id);

EXECSQL;

unit2.DATAMODULE2.QRYPOSTAV.Active:=False;

unit2.DATAMODULE2.QRYPOSTAV.Active:=True;

end;

end;

//poisk procedure TFORM1.edt11Change(Sender: TOBJECT);

var post_help1,post_help2: string;

begin post_help1:="%" unit1.Form1.edt11.Text "%";

post_help2:=QUOTEDSTR(post_help1);

with unit2.DATAMODULE2.QRYPOSTAV do begin

Close;

SQL.Clear;

SQL.Add("select * from post where name like " post_help2);

Open;

end;

end;

procedure TFORM1.edt12Change(Sender: TOBJECT);

var post_help3,post_help4: string;

begin post_help3:="%" unit1.Form1.edt12.Text "%";

post_help4:=QUOTEDSTR(post_help3);

with unit2.DATAMODULE2.QRYPOSTAV do begin

Close;

SQL.Clear;

SQL.Add("select * from post where adres like " post_help4);

Open;

end;

end;

procedure TFORM1.edt13Change(Sender: TOBJECT);

var post_help5,post_help6: string;

begin post_help5:="%" unit1.Form1.edt13.Text "%";

post_help6:=QUOTEDSTR(post_help5);

with unit2.DATAMODULE2.QRYPOSTAV do begin

Close;

SQL.Clear;

SQL.Add("select * from post where phone like " post_help6);

Open;

end;

end;

//sortirovka procedure TFORM1.DBCHECKBOXEH3Click(Sender: TOBJECT);

begin if unit1.Form1.DBCHECKBOXEH3.Checked=True then begin with unit2.DATAMODULE2.QRYPOSTAV do begin

Close;

SQL.Clear;

SQL.Add("select * from post order by name");

Open;

end;

end;

end;

procedure TFORM1.DBCHECKBOXEH4Click(Sender: TOBJECT);

begin if unit1.Form1.DBCHECKBOXEH4.Checked=True then begin with unit2.DATAMODULE2.QRYPOSTAV do begin

Close;

SQL.Clear;

SQL.Add("select * from post order by adres");

Open;

end;

end;

end;

//Postavshiki_kon

//Dogovori_nach

//create_new procedure TFORM1.btn4Click(Sender: TOBJECT);

Var cont_idt, cont_kol, cont_idps, cont_idpk: string;

begin cont_idt:=QUOTEDSTR(unit1.Form1.DBEDITEH1.Text);

cont_kol:=QUOTEDSTR(unit1.Form1.DBEDITEH2.Text);

cont_idps:=QUOTEDSTR(unit1.Form1.DBEDITEH3.Text);

cont_idpk:=QUOTEDSTR(unit1.Form1.edt1.Text);

with Unit2.DATAMODULE2.QRYHELP do begin

Close;

SQL.Clear;

SQL.Add("exec new_cont " cont_idt "," cont_kol "," cont_idps "," cont_idpk);

EXECSQL;

unit2.DATAMODULE2.QRYCONTACT.Active:=False;

unit2.DATAMODULE2.QRYCONTACT.Active:=True;

end;

end;

//delete procedure TFORM1.btn7Click(Sender: TOBJECT);

var cont_id: string;

begin cont_id:=QUOTEDSTR(unit1.Form1.DBCOMBOBOXEH5.Text);

with Unit2.DATAMODULE2.QRYHELP do begin

Close;

SQL.Clear;

SQL.Add("exec delete_cont " cont_id);

EXECSQL;

unit2.DATAMODULE2.QRYCONTACT.Active:=False;

unit2.DATAMODULE2.QRYCONTACT.Active:=True;

end;

end;

//poisk procedure TFORM1.edt4Change(Sender: TOBJECT);

var cont_help1,cont_help2: string;

begin cont_help1:="%" unit1.Form1.edt4.Text "%";

cont_help2:=QUOTEDSTR(cont_help1);

with unit2.DATAMODULE2.QRYCONTACT do begin

Close;

SQL.Clear;

SQL.Add("select * from cont where id_poku like " cont_help2);

Open;

end;

end;

procedure TFORM1.edt5Change(Sender: TOBJECT);

var cont_help3,cont_help4: string;

begin cont_help3:="%" unit1.Form1.edt5.Text "%";

cont_help4:=QUOTEDSTR(cont_help3);

with unit2.DATAMODULE2.QRYCONTACT do begin

Close;

SQL.Clear;

SQL.Add("select * from cont where id_post like " cont_help4);

Open;

end;

end;

procedure TFORM1.edt6Change(Sender: TOBJECT);

var cont_help5,cont_help6: string;

begin cont_help5:="%" unit1.Form1.edt6.Text "%";

cont_help6:=QUOTEDSTR(cont_help5);

with unit2.DATAMODULE2.QRYCONTACT do begin

Close;

SQL.Clear;

SQL.Add("select * from cont where id_tovara like " cont_help6);

Open;

end;

end;

//sortirovka procedure TFORM1.DBCHECKBOXEH5Click(Sender: TOBJECT);

begin if unit1.Form1.DBCHECKBOXEH5.Checked=True then begin with unit2.DATAMODULE2.QRYCONTACT do begin

Close;

SQL.Clear;

SQL.Add("select * from cont order by id_tovara");

Open;

end;

end;

end;

procedure TFORM1.DBCHECKBOXEH6Click(Sender: TOBJECT);

begin if unit1.Form1.DBCHECKBOXEH6.Checked=True then begin with unit2.DATAMODULE2.QRYCONTACT do begin

Close;

SQL.Clear;

SQL.Add("select * from cont order by kolich");

Open;

end;

end;

end;

//Dogovori_kon

Sklad_nach

//create_new procedure TFORM1.btn5Click(Sender: TOBJECT);

Var sk_idp,sk_tname,sk_ediz,sk_kol,sk_pb,sk_ps: string;

begin sk_idp:=QUOTEDSTR(unit1.Form1.DBEDITEH1.Text);

sk_tname:=QUOTEDSTR(unit1.Form1.DBEDITEH2.Text);

sk_ediz:=QUOTEDSTR(unit1.Form1.DBEDITEH3.Text);

sk_kol:=QUOTEDSTR(unit1.Form1.edt1.Text);

sk_pb:=QUOTEDSTR(unit1.Form1.edt2.Text);

sk_ps:=QUOTEDSTR(unit1.Form1.edt3.Text);

with Unit2.DATAMODULE2.QRYHELP do begin

Close;

SQL.Clear;

SQL.Add("exec new_skld" sk_idp "," sk_tname "," sk_ediz "," sk_kol "," sk_pb "," sk_ps);

EXECSQL;

unit2.DATAMODULE2.QRYSKLAD.Active:=False;

unit2.DATAMODULE2.QRYSKLAD.Active:=True;

end;

end;

//delenie procedure TFORM1.btn8Click(Sender: TOBJECT);

var skld_id: string;

begin skld_id:=QUOTEDSTR(unit1.Form1.DBCOMBOBOXEH7.Text);

with Unit2.DATAMODULE2.QRYHELP do begin

Close;

SQL.Clear;

SQL.Add("exec delete_skld " skld_id);

EXECSQL;

unit2.DATAMODULE2.QRYSKLAD.Active:=False;

unit2.DATAMODULE2.QRYSKLAD.Active:=True;

end;

end;

//poisk procedure TFORM1.edt14Change(Sender: TOBJECT);

var sk_help3,sk_help4: string;

begin sk_help3:="%" unit1.Form1.edt14.Text "%";

sk_help4:=QUOTEDSTR(sk_help3);

with unit2.DATAMODULE2.QRYSKLAD do begin

Close;

SQL.Clear;

SQL.Add("select * from skld where id_post like " sk_help4);

Open;

end;

end;

procedure TFORM1.edt15Change(Sender: TOBJECT);

var sk_help5,sk_help6: string;

begin sk_help5:="%" unit1.Form1.edt15.Text "%";

sk_help6:=QUOTEDSTR(sk_help5);

with unit2.DATAMODULE2.QRYSKLAD do begin

Close;

SQL.Clear;

SQL.Add("select * from skld where tovar_name like " sk_help6);

Open;

end;

end;

//sortirovka procedure TFORM1.DBCHECKBOXEH7Click(Sender: TOBJECT);

begin if unit1.Form1.DBCHECKBOXEH7.Checked=True then begin with unit2.DATAMODULE2.QRYSKLAD do begin

Close;

SQL.Clear;

SQL.Add("select * from skld order by tovar_name");

Open;

end;

end;

end;

procedure TFORM1.DBCHECKBOXEH8Click(Sender: TOBJECT);

begin if unit1.Form1.DBCHECKBOXEH8.Checked=True then begin with unit2.DATAMODULE2.QRYSKLAD do begin

Close;

SQL.Clear;

SQL.Add("select * from skld order by kolichestvo");

Open;

end;

end;

end;

//Sklad_kon end.

Размещено на
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?