База данных "Магазин компьютерных комплектующих"

 

Содержание


Введение

1. Этапы разработки базы данных

1.1 Описание предметной области

1.2 Концептуальная модель и ее описание

1.3 Логическая модель

1.4 Физическая модель

1.5 Описание табли

2. Проектирование приложения

2.1 Выбор среды программирования

2.1.1 Denwer 3 + MySQL Server 5.5.25

2.1.2 Connector/ODBC 5.2.5

2.1.3 Borland Delphi 7

2.1.4 Технология ADO

2.2 Разработка интерфейса

2.3 Разработка запросов

2.3.1 Поиск товара по ID

2.3.2 Занесение данных о покупке в таблицу Продажи

2.3.3 Подбор комплектующих

Заключение

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

Приложения


Введение

база данный магазин запрос

За последние двадцать лет значительно возрос объём и оборот информации во всех сферах жизнедеятельности человека: экономической, финансовой, политической, духовной. И процесс накопления, обработки и использования знаний постоянно ускоряется. Учёные утверждают, что каждые десять лет количество информации увеличивается вдвое. В связи с этим возникает необходимость использования автоматических средств, позволяющих эффективно хранить, обрабатывать и распределять накопленные данные.

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

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

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

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

Данные в базе организуются в единую целостную систему что обеспечивает более производительную работу пользователей с большими объемами данных.

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

СУБД становятся наиболее популярным средством обработки табличной информации. Они являются инструментальным средством проектирования баз данных при обработке больших объемов информации.

СУБД реляционного типа являются наиболее распространенным на всех классах ЭВМ, а на ПК занимают доминирующее положение. СУБД позволяет структурировать, систематизировать и организовать данные для их компьютерного хранения и обработки. В данном курсовом проекте разработана база данных «Магазин компьютерных комплектующих».

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

Задачи курсового проекта: получить возможность просматривать, редактировать, добавлять данные, получать результаты запросов. В качестве приложения для разработки базы данных использован язык MySQL, а в качестве разработки СУБД использован программный продукт Borland Delphi 7. Разработанная программа предназначена для работы на компьютерах с операционными системами семейства Windows. Программа не требовательна к ресурсам системы и проста в использовании, благодаря удобному пользовательскому интерфейсу.


1. Этапы разработки базы данных


.1 Описание предметной области


В магазине компьютерных комплектующих, как и в любом другом магазине главное - это товары и их продажи.

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

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

Поэтому в базе данных, мне хотелось бы уделить больше внимания товарам, разделив их на типы.


.2 Концептуальная модель и ее описание


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

Объект «Товар», хранит информацию о типе товара, его параметрах, цене и т. д.

Объект «ПрОДАЖИ», хранит информацию о проданных товарах, их наименовании, количестве, дате продажи, цене.

Концептуальная модель транслируется затем в модель данных, совместимую с выбранной системой управления базами данных (далее СУБД). Возможно, что отраженные в концептуальной модели взаимосвязи между объектами окажутся впоследствии нереализуемыми средствами выбранной СУБД. Это потребует изменения концептуальной модели. Версия концептуальной модели, которая может быть обеспечена конкретной СУБД, называется логической моделью.


.3 Логическая модель


Логическая модель отражает логические связи между элементами данных вне зависимости от их содержания и среде хранения.

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

Как видно из логической модели (см. рисунок 1.), база данных будет состоять из двух сущностей:

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

МАТЕРИНСКИЕ ПЛАТЫ

ПРОЦЕССОРЫ

ВИДЕОКАРТЫ

МОДУЛИ ОПЕРАТИВНОЙ ПАМЯТИ;

ПРОДАЖИ. Здесь хранится информация о когда-либо проданных товарах.





.4 Физическая модель


Физическая модель, определяющая размещение данных, методы доступа и технику индексирования, называется внутренней моделью системы.

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

Все актуальные требования предметной области и адекватные им «скрытые» требования на стадии проектирования должны найти свое отражение в концептуальной модели. Конечно, нельзя предусмотреть все возможные варианты использования и изменения базы данных. Но в большинстве предметных областей такие основные данные, как объекты и их взаимосвязи, относительно стабильны. Меняются только информационные требования, то есть способы использования данных для получения информации.

Степень независимости данных определяется тщательностью проектирования базы данных. Всесторонний анализ объектов предметной области и их взаимосвязей минимизирует влияние изменения требований к данным в одной программе на другие программы.


.5 Описание таблиц


Структура таблицы ПРОЦЕССОРЫ

ЗначениеНазвание поля в БДТип данныхКод товараID_procINT(12), NOT NULL, PRIMARY KEYНаименованиеNameVARCHAR(40)Разъём процессораSocketVARCHAR(12)ЯдроCoreVARCHAR(12)Количество ядерNumber_coresINT(12)Техпроцесс, нмProcess_tech_nmINT(12)Частота, МГцFrequency_MGzINT(12)Системная шинаSystem_busVARCHAR(12)Цена, рубPrice_rubINT(12), NOT NULL

Структура таблицы ВИДЕОКАРТЫ

ЗначениеНазвание поля в БДТип данныхКод товараID_VGAINT(12), NOT NULL, PRIMARY KEYНаименованиеNameVARCHAR(40)Разъём процессораGraph_procVARCHAR(20)Частота граф. процессораFrenq_proc_MGzINT(12)Поддержка интерфейсаInterfaceVARCHAR(12)Граф. памятьVRAM_MbINT(12)Тип граф. памятиType_VRAMVARCHAR(12)Версия шейдеровShadersDOUBLEЦена, рубPrice_rubINT(12), NOT NULL

Структура таблицы МАТЕРИНСКИЕ ПЛАТЫ

ЗначениеНазвание поля в БДТип данныхКод товараID_MBINT(12), NOT NULL, PRIMARY KEYНаименованиеNameVARCHAR(40)Разъём процессораCPU_SocketVARCHAR(12)ЧипсетСhipsetVARCHAR(12)Тип памятиMemory_typeVARCHAR(12)Слотов памятиMemory_stotsINT(12)Макс объём памятиMemory_max_GbINT(12)Поддержка видеокартVGA_supVARCHAR(12)Цена, рубPrice_rubINT(12), NOT NULL

Структура таблицы МОДУЛИ ОПЕРАТИВНОЙ ПАМЯТИ

ЗначениеНазвание поля в БДТип данныхКод товараID_DDRINT(12), NOT NULL, PRIMARY KEYНаименованиеNameVARCHAR(40)Тип памятиDDR_typeVARCHAR(12)Форм-факторFormVARCHAR(12)ЧастотаFrequency_MGzINT(12)ОбъёмSize_GbINT(12)Цена, рубPrice_rubINT(12), NOT NULL

Структура таблицы ПРОДАЖИ

ЗначениеНазвание поля в БДТип данныхКод продажиID_SaleINT(12), NOT NULL, PRIMARY KEY AUTO_INCREMENTКод товараItem_IDINT(12)НаименованиеItem_NameVARCHAR(40)КоличествоNumberINT(12)ПродавецSellerINT(12)Дата, время продажиData_Time_saleINT(12)ЦенаPriceINT(12)


2. Проектирование приложения


.1 Выбор среды программирования


.1.1 Denwer 3 + MySQL Server 5.5.25

В качестве локального сервера MySQL я использовал локальный сервер Денвер версии 3.0. Локальный сервер Денвер 3 включает в себя уже установленные MySQL Server 5.5.25 и PhpMyAdmin 3.5.1, а так же локальный сервер можно перенести на другой компьютер без потери каких либо данных. А PhpMyAdmin более комфортен в работе с сервером MySQL, чем MySQL CommandLine.


Рисунок 2 - PhpMyAdmin 3.5.1


.1.2 Connector/ODBC 5.2.5

Это стандартный драйвер , который обеспечивает доступ к базе данных MySQL через Open Database Connectivity (ODBC) API. Включает в себя функциональность Unicode и ANSI драйверов ранее разделёных на Connector/ODBC 5.1 и Connector/ODBC 3.51.


2.1.3 Borland Delphi 7

Мощность и гибкость Delphi при работе с базами данных основана на
низкоуровневом ядре - процессоре баз данных Borland Database Engine (BDE). Его интерфейс с прикладными программами называется Integrated Database Application Programming Interface (IDAPI). В принципе. BDE позволяет осуществлять доступ к данным как с использованием традиционного record-ориентированного (навигационного) подхода, так и с использованием set-ориентированного подхода, используемого в SQL-серверах баз данных. Кроме BDE, Delphi позволяет осуществлять доступ к базам данных, используя технологию Open DataBase Connectivity (ODBC) фирмы Microsoft.
Все инструментальные средства баз данных Borland - Paradox, dBase,
Database Desktop - используют BDE. Все особенности, имеющиеся в Paradox или dBase, «наследуются» BDE, и поэтому этими же особенностями обладает и Delphi.
Одним из преимуществ Delphi является то, что он поддерживает все SQL-БД, доступ к которым осуществляется через Borland Database Engine, ADO или драйверы InterBase. Через Borland SQL Links BDE так же возможен доступ к Oracle, Sybase, Informix, MS SQL Server, DB2 и InterBase.


.1.4 Технология ADO

Для применения технологии ADO в Delphi 7 предназначены семь компонентов, расположенных на закладке ADO палитры компонентов.


рис. 3 Компоненты страницы ADO


НазваниеОписаниеADOConnectionФункционально аналогичен компоненту Database закладки BDE. Позволяет указывать местоположение базы данных и работать с транзакциямиADOCommandПредназначен для выполнения SQL-команды без возврата результирующего набора данныхADODatasetПредназначен для получения набора данных из одной или нескольких таблиц БД. Позволяет работать с возвращённым набором данных визуальным компонентамADOTableАналог компонента Table, расположенного на закладке BDE. Используется для доступа к таблице с помощью механизма ADOADOQueryАналог Query. Позволяет формировать запросы к БД, которые возвращают данные из базы (например, командой SELECT) или не формируют результирующего набора данных (например, INSERT)ADOStoredProcПредназначен для вызова процедуры, хранимой на сервере базы данных. Является потомком TDataSet, в отличие от BDE и InterBase позволяет возвращать набор данных, поэтому может выступать источником данных в компонентах типа DataSourceRDSConnectionУправляет механизмом, который позволяет клиенту получать доступ к объектам, расположенным в другом адресном пространстве или на другом компьютере

.2 Разработка интерфейса


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


рис. 4 Окно доступа к БД

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


рис. 5. Окно программы, вкладка Товары.Процессоры


Переключатся между таблицами можно просто переключая вкладки или использовать меню.


рис. 6 Меню программы


На вкладке товары иформация о товарах предоставлена в виде форм.

На вкладке Продажи информация о продажах представлена в виде таблицы.

рис. 7 Вкладка Продажи


.3 Разработка запросов


Поиск товара по ID


На вкладке товары находится панель поиска товара по коду.



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

xxx - процессоры

xxx - видеокарты

xxx - материнские платы

xxx - оперативная память

В зависимости от введённого кода, выполняется поиск по определённой таблице с товарами(см. Приложение 1, procedure TForm1.Button5Click).


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

Результат работы запроса:



Занесение данных о покупке в таблицу Продажи

На вкладке Продажи правая часть - это панель занесения данных в таблицу Продажи.


Нужно ввести всего лишь код товара и количество. Остальное программа выполнит за вас (см. Приложение 1, procedure TForm1. Timer1Timer).

Просто нажмите кнопку Готово (см. Приложение 1, procedure TForm1.Button17Click).

На данный момент в можно добавлять до 4 записей в таблицу продажи одновременно.

Результат работы запроса:



2.3.3 Подбор комплектующих

При нажатии на пункт меню Подбор комплектующих открывается одноимённая форма:



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

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



Ознакомиться с работой запроса можно в листинге Unit3.



Заключение


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

База данных хранит информацию о всех проданных товарах, можно вывести статистику продаж за определённый период времени, легко заносить данные в таблицу (для этого нужно ввести только код товара).

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

На основе достигнутых результатов можно сформулировать рекомендации по улучшению программы:

Использование web-технологий для доступа к данных через Интернет.

Разработка новых таблиц базы данных для других типов комплектующих

Добавление информации о поставщиках, поставках, сотрудниках

Создание клиентской версии программы, с помощью которой пользователи смогут ознакомиться с товарами, подбирать комплектующие.

Создание серверной версии программы с расширенным функционалом и большими возможностями.


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


Фёдоров А.Г. Создание Windows-приложений в среде Delphi. - М.: ТОО «Компьютер Пресс», 1995. - 287с.

Хоменко А.Д. Delphi 7. - СПб.: БХВ-Петербург, 2003. - 1216с.

Хоменко А.Д. Основы современных компьютерных технологий. - М.: ТОО «Компьютер Пресс», 2000г. - 467с.

<#"justify">Приложение 1


Листинг основных процедур Unit1TForm1.Button5Click(Sender: TObject);code : Integer;:=StrToInt(Edit1.Text);((code>1000) and (code<5000)) then.Click;.Visible:=False;.Visible:=True;.Close;.SQL.Clear;((code>1000) and (code<2000)) then.Show; TabSheet4.TabVisible:=False; TabSheet5.TabVisible:=False; TabSheet6.TabVisible:=False;.SQL.ADD('SELECT*FROM processors WHERE ID_proc ='+#39+IntToStr(code)+#39'');.Open;.DataSet.Close;.DataSet:=ADOQuery1;(DBEdit1.Text='') then Error.ShowModal;;((code>2000) and (code<3000)) then.Show; TabSheet3.TabVisible:=False; TabSheet5.TabVisible:=False; TabSheet6.TabVisible:=False;.SQL.ADD('SELECT*FROM vga WHERE ID_VGA ='+#39+IntToStr(code)+#39'');.Open;.DataSet.Close;.DataSet:=ADOQuery1;(DBEdit10.Text='') then Error.ShowModal;;((code>3000) and (code<4000)) then.Show; TabSheet3.TabVisible:=False; TabSheet4.TabVisible:=False; TabSheet6.TabVisible:=False;.SQL.ADD('SELECT*FROM motherboards WHERE ID_MB ='+#39+IntToStr(code)+#39'');.Open;.DataSet.Close;.DataSet:=ADOQuery1;(DBEdit19.Text='') then Error.ShowModal;;((code>4000) and (code<5000)) then.Show; TabSheet3.TabVisible:=False; TabSheet4.TabVisible:=False; TabSheet5.TabVisible:=False;.SQL.ADD('SELECT*FROM memory WHERE ID_DDR ='+#39+IntToStr(code)+#39'');.Open;.DataSet.Close;.DataSet:=ADOQuery1;(DBEdit28.Text='') then Error.ShowModal;;Error.ShowModal;;TForm1.Timer1Timer(Sender: TObject);Sum:integer;:=0;.Caption := DateToStr(Now);.Caption := TimeToStr(Time);

///////////////////////////////////////////////////////////////////

/////1 òîâàð((Edit2.Text>'1000') and (Edit2.Text<'5000')) then.Close;.SQL.Clear;((Edit2.Text>'1000') and (Edit2.Text<'2000')) then.SQL.ADD('SELECT*FROM processors WHERE ID_proc ='+#39+Edit2.Text+#39'');((Edit2.Text>'2000') and (Edit2.Text<'3000')) then.SQL.ADD('SELECT*FROM vga WHERE ID_VGA ='+#39+Edit2.Text+#39'');((Edit2.Text>'3000') and (Edit2.Text<'4000')) then.SQL.ADD('SELECT*FROM motherboards WHERE ID_MB ='+#39+Edit2.Text+#39'');((Edit2.Text>'4000') and (Edit2.Text<'5000')) then.SQL.ADD('SELECT*FROM memory WHERE ID_DDR ='+#39+Edit2.Text+#39'');.Open;.DataSet.Close;.DataSet:=ADOQuery2;.DataSource:=DataSource5;.DataField:='Name';.DataSource.DataSet.Active:=true;.DataSource:=DataSource5;.DataField:='Price_rub';.DataSource.DataSet.Active:=true;DBText1.Caption='' then

DBText1.Caption:='Òîâàð íå íàéäåí!!!';.Caption:='';.Visible:=False;.Visible:=False;.Visible:=False;.Visible:=True;.Visible:=True;.Visible:=True;;

DBText1.Caption:='Òîâàð íå íàéäåí!!!';.Caption:='';.Visible:=False;.Visible:=False;.Visible:=False;;

/////////////////////////////////////////////////////////////////////////////((Edit4.Text>'1000') and (Edit4.Text<'5000')) then.Close;.SQL.Clear;((Edit4.Text>'1000') and (Edit4.Text<'2000')) then.SQL.ADD('SELECT*FROM processors WHERE ID_proc ='+#39+Edit4.Text+#39'');((Edit4.Text>'2000') and (Edit4.Text<'3000')) then.SQL.ADD('SELECT*FROM vga WHERE ID_VGA ='+#39+Edit4.Text+#39'');((Edit4.Text>'3000') and (Edit4.Text<'4000')) then.SQL.ADD('SELECT*FROM motherboards WHERE ID_MB ='+#39+Edit4.Text+#39'');((Edit4.Text>'4000') and (Edit4.Text<'5000')) then.SQL.ADD('SELECT*FROM memory WHERE ID_DDR ='+#39+Edit4.Text+#39'');.Open;.DataSet.Close;.DataSet:=ADOQuery3;.DataSource:=DataSource6;.DataField:='Name';.DataSource.DataSet.Active:=true;.DataSource:=DataSource6;.DataField:='Price_rub';.DataSource.DataSet.Active:=true;DBText3.Caption='' then.Caption:=.Caption:='';.Visible:=False;.Visible:=False;.Visible:=False;.Visible:=True;.Visible:=True;.Visible:=True;;.Caption:=.Caption:='';.Visible:=False;.Visible:=False;.Visible:=False;;

///////////////////////////////////////////////////////////////((Edit6.Text>'1000') and (Edit6.Text<'5000')) then.Close;.SQL.Clear;((Edit6.Text>'1000') and (Edit6.Text<'2000')) then.SQL.ADD('SELECT*FROM processors WHERE ID_proc ='+#39+Edit6.Text+#39'');((Edit6.Text>'2000') and (Edit6.Text<'3000')) then.SQL.ADD('SELECT*FROM vga WHERE ID_VGA ='+#39+Edit6.Text+#39'');((Edit6.Text>'3000') and (Edit6.Text<'4000')) then.SQL.ADD('SELECT*FROM motherboards WHERE ID_MB ='+#39+Edit6.Text+#39'');((Edit6.Text>'4000') and (Edit6.Text<'5000')) then.SQL.ADD('SELECT*FROM memory WHERE ID_DDR ='+#39+Edit6.Text+#39'');.Open;.DataSet.Close;.DataSet:=ADOQuery4;.DataSource:=DataSource7;.DataField:='Name';.DataSource.DataSet.Active:=true;.DataSource:=DataSource7;.DataField:='Price_rub';.DataSource.DataSet.Active:=true;DBText5.Caption='' then

DBText5.Caption:='Òîâàð íå íàéäåí!!!';.Caption:='';.Visible:=False;.Visible:=False;.Visible:=False;.Visible:=True;.Visible:=True;.Visible:=True;;

DBText5.Caption:='Òîâàð íå íàéäåí!!!';.Caption:='';.Visible:=False;.Visible:=False;.Visible:=False;;

//////////////////////////////////////////////////////////////

/// 4 òîâàð

if ((Edit8.Text>'1000') and (Edit8.Text<'5000')) then.Close;.SQL.Clear;((Edit8.Text>'1000') and (Edit8.Text<'2000')) then.SQL.ADD('SELECT*FROM processors WHERE ID_proc ='+#39+Edit8.Text+#39'');((Edit8.Text>'2000') and (Edit8.Text<'3000')) then.SQL.ADD('SELECT*FROM vga WHERE ID_VGA ='+#39+Edit8.Text+#39'');((Edit8.Text>'3000') and (Edit8.Text<'4000')) then.SQL.ADD('SELECT*FROM motherboards WHERE ID_MB ='+#39+Edit8.Text+#39'');((Edit8.Text>'4000') and (Edit8.Text<'5000')) then.SQL.ADD('SELECT*FROM memory WHERE ID_DDR ='+#39+Edit8.Text+#39'');.Open;.DataSet.Close;.DataSet:=ADOQuery5;.DataSource:=DataSource8;.DataField:='Name';.DataSource.DataSet.Active:=true;.DataSource:=DataSource8;.DataField:='Price_rub';.DataSource.DataSet.Active:=true;DBText7.Caption='' then

DBText7.Caption:='Òîâàð íå íàéäåí!!!';.Caption:='';.Visible:=False;.Visible:=False;.Visible:=False;.Visible:=True;.Visible:=True;.Visible:=True;;

DBText7.Caption:='Òîâàð íå íàéäåí!!!';.Caption:='';.Visible:=False;.Visible:=False;.Visible:=False;;

////////////////////////////////////////////////////////////////((DBText2.Caption<>'') and (Edit3.Text<>'')) then:=Sum+StrToInt(DBText2.Caption)*StrToInt(Edit3.Text);((DBText4.Caption<>'') and (Edit3.Text<>'')) then:=Sum+StrToInt(DBText4.Caption)*StrToInt(Edit5.Text);((DBText6.Caption<>'') and (Edit3.Text<>'')) then:=Sum+StrToInt(DBText6.Caption)*StrToInt(Edit7.Text);((DBText8.Caption<>'') and (Edit3.Text<>'')) then:=Sum+StrToInt(DBText8.Caption)*StrToInt(Edit9.Text);.Caption:=IntToStr(Sum);;TForm1.Button17Click(Sender: TObject);.Close;.SQL.Clear;.SQL.Add('INSERT INTO sales (Item_ID, Item_Name, Number, Seller, Data_Time_sale, Price) VALUES');(DBText2.Caption<>'') then.SQL.Add('('+#39+Edit2.Text+#39','+#39+DBText1.Caption+#39','+#39+Edit3.Text+#39','+#39+ComboBox1.Text+#39',NOW(),'+#39+IntToStr(StrToInt(DBText2.Caption)*StrToInt(Edit3.Text))+#39')');(DBText4.Caption<>'') then ADOQuery6.SQL.Add(',('+#39+Edit4.Text+#39','+#39+DBText3.Caption+#39','+#39+Edit5.Text+#39','+#39+ComboBox1.Text+#39',NOW(),'+#39+IntToStr(StrToInt(DBText4.Caption)*StrToInt(Edit5.Text))+#39')');(DBText6.Caption<>'') then.SQL.Add(',('+#39+Edit6.Text+#39','+#39+DBText5.Caption+#39','+#39+Edit7.Text+#39','+#39+ComboBox1.Text+#39',NOW(),'+#39+IntToStr(StrToInt(DBText6.Caption)*StrToInt(Edit7.Text))+#39')');(DBText8.Caption<>'') then.SQL.Add(',('+#39+Edit8.Text+#39','+#39+DBText7.Caption+#39','+#39+Edit9.Text+#39','+#39+ComboBox1.Text+#39',NOW(),'+#39+IntToStr(StrToInt(DBText8.Caption)*StrToInt(Edit9.Text))+#39')');.SQL.Add(';');.ExecSQL;.Click;.Click;;TForm1.Button18Click(Sender: TObject);Panel1.Width>25 then Button8.Click;Panel2.Width>25 then Button10.Click;Panel3.Width>25 then Button12.Click;Panel4.Width>25 then Button14.Click;.Visible:=False;.Visible:=False;.Visible:=False;.Visible:=False;;TForm1.Button16Click(Sender: TObject);date1, date2:string;.DataSet:=ADOTable5;.DataSource:=DataSource9;:=FormatDateTime('yyyy-mm-dd 00-00-00',DateTimePicker1.DateTime);:=FormatDateTime('yyyy-mm-dd 23-59-59',DateTimePicker2.DateTime);.Close;.SQL.Clear;.SQL.Add('SELECT*FROM sales WHERE ((Data_Time_sale >='+#39+date1+#39') and (Data_Time_sale <='+#39+date2+#39'));');.Open;.DataSet.Close;.DataSet:=ADOQuery7;.DataSource:=DataSource9;;


Приложение 2


Листинг Unit3Unit3;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ExtCtrls, DBCtrls, DB, ADODB;= class(TForm): TPanel;: TPanel;: TPanel;: TPanel;: TButton;: TButton;: TLabel;: TADOConnection;: TDataSource;: TADOTable;: TDBLookupComboBox;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TDBText;: TDBText;: TDBText;: TDBText;: TDBText;: TDBText;: TDBText;: TLabel;: TLabel;: TDBImage;: TLabel;: TDBLookupComboBox;: TDBImage;: TLabel;: TLabel;: TLabel;: TLabel;: TDBText;: TDBText;: TDBText;: TDBText;: TDBText;: TADOQuery;: TDataSource;: TLabel;: TLabel;: TLabel;: TDBLookupComboBox;: TDataSource;: TADOQuery;: TLabel;: TDataSource;: TDBLookupComboBox;: TADOQuery;: TDBImage;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TDBText;: TDBText;: TDBText;: TDBText;: TDBText;: TDBImage;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TDBText;: TDBText;: TDBText;: TDBText;: TLabel;: TLabel;: TLabel;: TComboBox;: TLabel;: TTimer;: TLabel;DBLookupComboBox1Click(Sender: TObject);DBLookupComboBox2Click(Sender: TObject);DBLookupComboBox3Click(Sender: TObject);DBLookupComboBox4Click(Sender: TObject);ComboBox1DropDown(Sender: TObject);Timer1Timer(Sender: TObject);Button2Click(Sender: TObject);Button1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm3;Unit1;

{$R *.dfm}TForm3.DBLookupComboBox1Click(Sender: TObject);.Visible:=True;.Height:=170;.Width:=380;((Panel2.Height<70) and (Panel2.Top<150)) then Panel2.Top:=Panel2.Top+110;.Close;.SQL.Clear;.SQL.Add('SELECT*FROM processors WHERE Socket='+#39+DBText2.Caption+#39';');.Open;.DataSet:=ADOQuery1;.Close;.SQL.Clear;.SQL.Add('SELECT*FROM vga WHERE Interface='+#39+DBText3.Caption+#39';');.Open;.DataSet:=ADOQuery2;.Close;.SQL.Clear;.SQL.Add('SELECT*FROM memory WHERE DDR_Type='+#39+DBText4.Caption+#39';');.Open;.DataSet:=ADOQuery3;;TForm3.DBLookupComboBox2Click(Sender: TObject);.Visible:=True;.Height:=170;.Width:=380;;TForm3.DBLookupComboBox3Click(Sender: TObject);.Visible:=True;.Height:=170;.Width:=380;((Panel4.Height<70) and (Panel4.Top<150)) then Panel4.Top:=Panel4.Top+110;;TForm3.DBLookupComboBox4Click(Sender: TObject);.Visible:=True;.Height:=170;.Width:=380;;TForm3.ComboBox1DropDown(Sender: TObject);i:integer;.Items.Clear;i:=1 to StrToInt(DBText5.Caption) doi*StrToInt(DBText20.Caption)<=StrToInt(DBText6.Caption) then.Items.Add(IntToStr(i));;;TForm3.Timer1Timer(Sender: TObject);(DBLookupComboBox4.Text='') then.Height:=60;.Visible:=False;;(DBLookupComboBox4.Text<>'') then.Height:=170;.Visible:=True;.Caption:=IntToStr(StrToInt(ComboBox1.Text)*StrToInt(DBText20.Caption));(ComboBox1.Text<>'1') then.Visible:=False;.Visible:=True;.Caption:=IntToStr(StrToInt(ComboBox1.Text)*StrToInt(DBText21.Caption));.Visible:=True;.Visible:=False;;;(DBLookupComboBox2.Text='') then.Height:=60;.Visible:=False;;(DBLookupComboBox2.Text<>'') then.Height:=170;.Visible:=True;;(DBLookupComboBox3.Text='') then.Height:=60;.Visible:=False;.Top:=80;;(DBLookupComboBox3.Text<>'') then.Height:=170;.Visible:=True;.Top:=190;;;TForm3.Button2Click(Sender: TObject);.Close;;TForm3.Button1Click(Sender: TObject);.TabSheet2.Show;.Button18.Click;.Button7.Click;.Edit2.Text:=DBText1.Caption;.Button9.Click;.Edit4.Text:=DBText8.Caption;.Button11.Click;.Edit6.Text:=DBText13.Caption;.Button13.Click;.Edit8.Text:=DBText18.Caption;.Edit9.Text:=ComboBox1.Text;.Close;;.


Содержание Введение 1. Этапы разработки базы данных 1.1 Описание предметной области 1.2 Концептуальная модель и ее описание 1.3 Логическая мо

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2018 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ