/>/>Реферат
База данных, запросы,сортировка и фильтрация, добавление и удаление дисков.
Целью курсовой работыявляется разработка автоматизированного рабочего места для продавца компактдисков, в среде BorlandC++ Builder.
Объект исследования –магазин по продажи компакт дисков.
Предмет исследования –процесс учета продукции в магазине.
Результатом моейкурсовой работы является приложение cграфическим интерфейсом на языке С++, реализующее работу с базой данных. Данноеприложение может считаться полноценной программой со свойственными ей основнымиоперациями. Программа позволяет сортировать, фильтровать, добавлять новыезаписи и удалять существующие.
/>/>Содержание/>
Введение
1. Описание предметной области
1.1 Общие положения
1.2 Сведения из теории
1.2.1 Классификация базданных
1.2.2 Форма – Form
1.2.3 Свойствакомпонента Edit (поле редактирования текста)
1.2.4 Свойствакомпонента Label (поле вывода текста)
1.2.5 Свойствакомпонента DBGrid
1.2.6 Свойствакомпонента CheckBox
1.2.7 Свойствакомпонента Button1.2.8 Свойства компонента TTabSheet
1.3 Постановка задачи
1.3.1 Название иназначение разрабатываемого приложения
1.3.2 Спецификациявходных и выходных данных
1.3.3 Обоснованиевыбора средства программирования
1.3.4 Требования каппаратной части и ПО
2. Технология разработки приложения
2.1 Макет приложения
2.1.1 Описание экранныхформ
2.1.2 Описание файловпроекта
2.2 Описание программы
2.3 Результаты работы программы
3. Руководство пользователя
Заключение
Список использованных источников
/>Приложения/>
Введение
Современныеинформационные технологии — это методы и средства для сбора, хранения,обработки и получения информации на основе современных средств вычислительнойтехники.
Составными частямилюбой информационной системы являются БД и приложение для обработки данных.Появление персональных машин класса Pentium, семейства операционных системWindows фирмы Microsoft и различного программного обеспечения позволяютавтоматизировать ручные операции, вести любые виды работ по накоплениюинформации, ее обработки и получению различных выходных форм.
В курсовой работеставится задача — разработать проект базы данных для накопления необходимойинформацией. Разработать приложение, позволяющее вести учет и контроль за базойданных. База данных должна быть спроектирована с учетом реализации запросовразличного типа по получению информации.
Одной из широкоиспользуемых сред разработки является BorlandC++Builder,который позволяет создавать различные приложения: от простейших однооконныхприложений до программ распределения баз данных, поэтому именно с помощью его яи решил разработать своё приложение которое назвал “Автоматизированное рабочееместа для продавца компакт дисков“.
Объект курсовой работы– магазин по продаже компакт дисков.
Предмет курсовой работы– процесс учета продукции в магазине.
Целью курсовой работыявляется разработка автоматизированного рабочего места продавца компакт дисковв среде BorlandC++ Builder.
Исходя из цели работы,я определил для себя следующие задачи:
1) Разработать иописать предметную область программы;
2) Разработать алгоритмна языке С++;
3) Показать возможностиприменения автоматизированного рабочего менеджера (т.е. осуществить программнуюреализацию и протестировать разработанное приложение);
Содержательная частьданной работы разделена на 3 главы:
в первой главе:
Ø обосновываетсяактуальность темы, формулируется объект, предмет и цель;
Ø общиесведения по использованию БД;
Ø названиеи назначение разработанного приложения; обосновывается и описывается выборсредства программирования; описывается требуемое оборудование и ПО.
Ø последовательноописывается решение сформулированных задач и этапов работы.
во второй главе:
Ø даётсяподробное описание технологии работы с разработанным приложением.
в третьей главе:
Ø сформулированозаключение, содержащее основные выводы по результатам исследования, отражающеепрактическую значимость работы, предложения по использованию результатов;
Ø представленсписок источников, которые были использованы в ходе курсовой работы;
Ø представленыприложения: листинг программного продукта.
/>/>/> 1. Описаниепредметной области/>/>/>1.1 Общиеположения
При проектировании базыданных решаются две основные проблемы:
1.Отображение объектовпредметной области в абстрактные объекты модели данных таким образом, чтобы этоотображение не противоречило семантике предметной области, и было повозможности лучшим (эффективным, удобным и т.д.). Часто эту проблему называютпроблемой логического проектирования баз данных;
2.Обеспечениеэффективного выполнения запросов к базе данных, т.е. рациональное расположениеданных во внешней памяти, создание полезных дополнительных структур (например,индексов) с учетом особенностей конкретной БД. Эту проблему называют проблемойфизического проектирования баз данных.
Проблема проектированияреляционной базы данных состоит в обоснованном принятии решений о том, из какихотношений (таблиц) должна состоять БД и какие атрибуты (характеристики исвойства) должны быть у этих отношений.
Классическим являетсяподход, при котором весь процесс проектирования производится в терминахреляционной модели данных методом последовательных приближений кудовлетворительному набору схем отношений.
Исходной точкойявляется представление предметной области в виде одного или несколькихотношений, и на каждом шаге проектирования производится некоторый набор схемотношений, обладающих лучшими свойствами. Процесс проектирования представляетсобой процесс нормализации схем отношений, причем каждая следующая нормальнаяформа обладает свойствами лучшими, чем предыдущая.
Объект курсовой работы– магазин по продажи компакт дисков.
Предмет курсовой работы– процесс учета продукции в магазине.
Целью курсовой работыявляется разработка автоматизированного рабочего места продавца компакт дисковв среде BorlandC++ Builder.
Исходя из цели работы,я определил для себя следующие задачи:
1) Разработать иописать предметную область программы;
2) Разработать алгоритмна языке С++;
3) Показать возможностиприменения менеджера
(осуществитьпрограммную реализацию и протестировать разработанное приложение);/>/>/>1.2 Сведения из теории/>/>/> 1.2.1 Классификация Баз данных
Иерархическая модельбазы данных состоит из объектов с указателями от родительских объектов кпотомкам, соединяя вместе связанную информацию. Иерархические базы данных могутбыть представлены как дерево, состоящее из объектов различных уровней. Верхнийуровень занимает один объект, второй — объекты второго уровня и т. д. Междуобъектами существуют связи, каждый объект может включать в себя несколькообъектов более низкого уровня. Такие объекты находятся в отношении предка(объект более близкий к корню) к потомку (объект более низкого уровня), приэтом возможно, когда объект-предок не имеет потомков или имеет их несколько,тогда как у объекта-потомка обязательно только один предок. Объекты, имеющиеобщего предка, называются близнецами.
К основным понятиямсетевой модели базы данных относятся: уровень, элемент (узел), связь. Узел —это совокупность атрибутов данных, описывающих некоторый объект. На схемеиерархического дерева узлы представляются вершинами графа. В сетевой структурекаждый элемент может быть связан с любым другим элементом. Сетевые базы данныхподобны иерархическим, за исключением того, что в них имеются указатели в обоихнаправлениях, которые соединяют родственную информацию. Несмотря на то, что этамодель решает некоторые проблемы, связанные с иерархической моделью, выполнениепростых запросов остается достаточно сложным процессом. Также, поскольку логикапроцедуры выборки данных зависит от физической организации этих данных, то этамодель не является полностью независимой от приложения. Другими словами, еслинеобходимо изменить структуру данных, то нужно изменить и приложение.
Реляционная база данных— база данных, основанная на реляционной модели данных. Термин «реляционный»означает, что теория основана на математическом понятии отношение (relation). Вкачестве неформального синонима термину «отношение» часто встречается словотаблица. Необходимо помнить, что «таблица» есть понятие нестрогое инеформальное и часто означает не «отношение» как абстрактное понятие, авизуальное представление отношения на бумаге или экране. Некорректное инестрогое использование термина «таблица» вместо термина «отношение» нередкоприводит к недопониманию. Наиболее частая ошибка состоит в рассуждениях о том,что РМД имеет дело с «плоскими», или «двумерными» таблицами, тогда как таковымимогут быть только визуальные представления таблиц. Отношения же являютсяабстракциями, и не могут быть ни «плоскими», ни «неплоскими». Объектно-ориентированнаябаза данных — база данных, в которой данные оформлены в виде моделей объектов,включающих прикладные программы, которые управляются внешними событиями.Результатом совмещения возможностей (особенностей) баз данных и возможностейобъектно-ориентированных языков программирования являютсяОбъектно-ориентированные системы управления базами данных (ООСУБД). ООСУБДпозволяет работать с объектами баз данных также, как с объектами в программированиина ООЯП. ООСУБД расширяет языки программирования, прозрачно вводядолговременные данные, управление параллелизмом, восстановление данных,ассоциированные запросы и другие возможности.
Так же к основныммоделям данных относятся: Многомерные, Объектные, Объектно-реляционные и т.д./>/>/>1.2.2 Форма – Form
Формаявляется самым основным компонентом программы, на которую программистомразмещаются другие объекты приложения. Свойства формы необходимо знать, так какот этого зависит дизайн программы, т.е. цвет, стиль, размер текста, размещениерисунков, ширина и длина кнопок и других объектов. Форма появляется сразу жепосле запуска RAD – системы С++Builder.
Таблица 1.1 — Свойства формы
Свойство
Описание
Font
Шрифт, используемый «по умолчанию» компонентами, находящимися на поверхности формы. Изменение свойства Font формы приводит к автоматическому изменению свойства Font компонента, располагающегося на поверхности формы. То есть компоненты наследуют свойство Font от формы (имеется возможность запретить наследование)
Caption
Текст заголовка для управления формой и доступа к компонентам формы
ClientWidth
Ширина рабочей (клиентской) области формы, т.е. без учёта ширины левой и правой границ
ClientHeight
Высота рабочей (клиентской) области формы, т.е. без учёта высоты заголовка и ширины нижней границы формы
Icon
Значок в заголовке окна
BorderIcons Кнопки управления окном. Значение свойства определяет, какие кнопки управления окном будут доступны пользователю во время работы приложения. Значение свойства задаётся путём присвоения значений уточняющим свойствам biSystemMenu, biMinimize, biMaximize, и biHelp. Свойство biSystemMenu определяет доступность кнопки системного меню, biMinimize – кнопки свернуть, biMaximize – развернуть, biHelp – кнопки вывода справочной информации Color Цвет фона. Цвет можно задать, указав название цвета и привязку к текущей цветовой схеме операционной системы. Canvas Поверхность, на которую можно вынести графику />/>
1.2.3 Свойствакомпонента Edit (поле редактирования текста)
Компонент Edit используется для считывания информации, вводимой склавиатуры.
Таблица 1.2 — Свойства EditСвойство Описание Name Имя компонента. Используется в программе для доступа к компоненту и его свойствам, в частности для доступа к тексту, введенному в поле редактирования Text Текст, находящийся в поле ввода и редактирования Left Расстояние от левой границы компонента до левой границы формы Top Расстояние от верхней границы компонента до верхней границы формы Height Высота поля Width Ширина поля Font Шрифт, используемый для отображения вводимого текста ParentFont Признак наследования компонентом характеристик шрифта формы, на которой находится компонент. Если значение свойства равно true, то при изменении свойства Font формы автоматически меняется значение свойства Font компонента Enabled Используется для ограничения возможности изменить текст в поле редактирования. Если значение свойства равно false, то текст в поле редактирования изменить нельзя Visible Позволяет скрыть компонент (false) или сделать его видимым (true) />/>1.2.4 Свойства компонента Label(поле вывода текста)
Данный компонентпредназначен для вывода теста на поверхность формы, его свойства определяют види расположение текста.
Таблица 1.2 — Свойства LabelСвойство Описание Name Имя компонента. Используется в программе для доступа к компоненту и его свойствам Caption Отображаемый текст Left Расстояние от левой границы поля вывода до левой границы формы Top Расстояние от верхней границы поля вывода до верхней границы формы Height Высота поля вывода Width Ширина поля вывода AutoSize Признак того, что размер поля определяется его содержимым Wordwrap Признак того, что слова, которые не помещаются в текущей строке, автоматически переносятся на следующую строку (значение свойства AutoSize должно быть false) Alignment Задает способ выравнивания текста внутри поля. Текст может быть выровнен по левому краю (taLeftJustify), по центру (taCenter) или по правому краю (taRight Justify) Font Шрифт, используемый для отображения текста. Уточняющие свойства определяют шрифт (Name), размер (size), стиль (style) и цвет символов (Color) Parent Font Признак наследования компонентом характеристик шрифта формы, на которой находится компонент. Если значение свойства равно true, то текст выводится шрифтом, установленным для формы Color Цвет фона области вывода текста Visible Позволяет скрыть текст (false) или сделать его видимым (true) />/>1.2.5 Свойства компонента DBGrid
Компонент DBGridотображает набор данных в формате электронной таблицы.
Таблица 1.3 — Свойства компонента DBGridDataSource Источник данных (компонент Table или Query) Columns Отображаемая информация (поля записей) Options.dgTitles Разрешает вывод строки заголовка столбцов Options.dglndicator Разрешает вывод колонки индикатора. Во время работы с базой данных текущая запись помечается в колонке индикатора треугольником, новая запись — звездочкой, редактируемая — специальным значком Options.dgColumnResize Разрешает менять во время работы программы ширину колонок таблицы Options.dgColLines Разрешает выводить линии, разделяющие колонки таблицы Options.dgRowLines Разрешает выводить линии, разделяющие строки таблицы
/>/>1.2.6 Свойствакомпонента CheckBox
/>КомпонентCheckBoxпредставляет собой независимую кнопку (переключатель).
Таблица 1.4 – Свойства CheckBoxСвойство Описание Caption Текст, который находится справа от флажка Checked Состояние, внешний вид флажка: если флажок установлен (в квадратике есть «галочка»), то значение Checked равно true; если флажок сброшен (нет «галочки»), то значение Checked равно false State Состояние флажка. В отличие от свойства Checked, позволяет различать установленное, сброшенное и промежуточное состояния. Состояние флажка определяет одна из констант: cbChecked (установлен); cbGrayed (серый, неопределённое состояние); cbUnChecked (сброшен) AllowGrayed Свойство определяет, может ли флажок быть в промежуточном состоянии: если значение AllowGrayed равно false, то флажок может быть только установленным или сброшенным; если значение AllowGrayed равно true, то допустимо промежуточное состояние Font Шрифт, используемый для отображения поясняющего текста />/> 1.2.7 Свойства компонента Button
Компонент Buttonпредставляет собой кнопку, при нажатии которой будет происходить какое – либособытие.
Таблица 1.5 – Свойства ButtonСвойство Описание Name Имя компонента. Используется в программе для доступа к компоненту и его свойствам Caption Текст на кнопке Left Расстояние от левой границы кнопки до левой границы формы Top Расстояние от верхней границы кнопки до верхней границы формы Height Высота кнопки Width Ширина кнопки Enabled Признак доступности кнопки. Если значение свойства равно true, то кнопка доступна. Если значение свойства равно false, то кнопка недоступна например, в результате щелчка на кнопке, событие Click не возникает Visible Позволяет скрыть кнопку (false) или сделать ее видимой (true) Height Высота кнопки Width Ширина кнопки />/>1.2.8 Свойства компонента TTabSheet
TTabSheet КомпонентTTabSheet представляет собой кнопку, при нажатии которой будет происходитькакое – либо событие.
Таблица 1.5 — СвойстваTTabSheetСвойство Описание Name Имя, по которому можно ссылаться на страницу Caption Надпись, которая появляется на ярлычке закладки PageIndex Индекс страницы, по которому можно ссылаться на страницу ImageIndex Индекс изображения, которое может появляться на ярлычке закладки Style Определяет стиль отображения компонента Images Ссылка на компонент ImageList ScrollOpposite Определят способ перемещения закладок при размещении их в несколько рядов ActivePage Имя активной страницы PageCount Количество страниц. Свойство только для чтения 1.3 Постановка задачи/>/>1.3.1 Название и назначение разрабатываемогоприложения
Я назвал своёприложение “Автоматизированное рабочее место для продавца компакт дисков”.
Разработанная программапредназначена для ведения учета и контроля за базой данных, спроектированной сучетом реализации запросов различного типа по получению информации.
/>/>1.3.2 Спецификация входных и выходных данных
Входной информацией дляданной программы являются:
o Наименованиедиска;
o Группа,к которой относятся диски;
o Количество;
o Закупочнаяцена;
o Ценапродажи;
Выходной информациейдля данной программы является
o Сортировкаданных по убыванию и возрастанию;
o Добавлениеданных о дисках вновь поступающих в базу;
o Фильтрацияданных по некоторым полям;
o Поиски возврат дисков;
o Визуализацияприложения в удобной форме
/>/> 1.3.3 Обоснование выбора средства программирования
Я выбрал RAD– систему BorlandC++ Builder6.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запросов и баз данных в написании программ в среде визуального программированияBorlandC++ Builder6.0.
Список использованныхисточников
1. БобровскийС. Самоучитель програмирования на языке C++ в среде BorlandC++ 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
#pragmahdrstop
#include«ABOUT.h»
#include«Unit1.h»
#include«Unit2.h»
//---------------------------------------------------------------------------
#pragmapackage(smart_init)
#pragmaresource "*.dfm"
TForm1*Form1;
//---------------------------------------------------------------------------
__fastcallTForm1::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;DataSource=»+ExtractFileDir(Application->ExeName)+" \\ БАЗАДАННЫХ\\ CD.mdb; Mode=Share Deny None;Extended Properties=\"\";JetOLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";JetOLEDB:Database Password=\"\";Jet OLEDB:Engine Type=5;JetOLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;JetOLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";JetOLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;JetOLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without ReplicaRepair=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(«INSERTINTO Tab1 ([Наименование],[Группа],[Количество],[Закупочная цена],[Ценапродажи])»);
ADOQuery1->SQL->Add(«Values(»+QuotedStr(Edit1->Text)+","+QuotedStr(ComboBox1->Text)+","+Edit2->Text+","+Edit3->Text+","+Edit4->Text+");");
ADOQuery1->ExecSQL();}else
{MessageDlg(«Такиедискиужеесть!»mtInformation,TMsgDlgButtons()
else
{MessageDlg(«Введеныневседанныедлядобавлениядиска(-ов)вбазу!»mtInformation,TMsgDlgButtons()
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()
//---------------------------------------------------------------------------
void__fastcall TForm1::Button4Click(TObject *Sender)
{if(Edit10->Text!="")
{//MessageDlg(«Укажитенедостаюшиеполя...»mtInformation,TMsgDlgButtons()
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(«SELECT* FROM Tab1 WHERE [Наименование]=\»"+Edit10->Text+"\";");
ADOQuery1->ExecSQL();
ADOQuery1->Open();
Edit10->Clear();}else
{MessageDlg(«Укажитенедостаюшиеполя...»mtInformation,TMsgDlgButtons()
//---------------------------------------------------------------------------
void__fastcall TForm1::Button5Click(TObject *Sender)
{ADOQuery1->Delete();}
//---------------------------------------------------------------------------