Разработка приложения для работы с базой данных

  • Вид работы:
    Отчет по практике
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    514,25 Кб
  • Опубликовано:
    2015-02-13
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка приложения для работы с базой данных

Содержание

 

Введение

1. Теоритические аспекты баз данных и СУБД

.1 Классификация баз данных

.2 Классификация СУБД

. Выбор СУБД и разработка базы данных

.1 Выбор СУБД для создания базы данных в сети

.2 Создание базы данных

. Разработка приложения для работы с базой данных

.1 Список требований

.2 Разработка приложения

.3 Тестирование программы

Заключение

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

Приложение. Исходный код программы

Введение

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

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

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

Для достижения поставленной цели в данной работе решается ряд задач:

выбора конкретной СУБД;

проектирования БД;

разработка БД и интерфейса;

Глава 1. Теоретические аспекты баз данных и СУБД


Перед тем как изучать любой объект весьма целесообразно дать его определение. В данной работе сделана попытка дать обобщенное и наиболее полное определение термину «База данных», на основании информации из нескольких источников.

Под базой данных понимается совокупность данных, которая хранится строго определенным образом в соответствии со схемой данных [8], и характеризующая объекты конкретной предметной области [9].

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

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

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

Таким образом, база данных, по сути, является лишь своеобразным хранилищем, работа с которым осуществляется через СУБД. Общая схема взаимодействия пользователя с базой данных представлена на рисунке 1.

Рисунок 1 - Общая схема работы с базой данных

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

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

А конкретные задачи пользователей, как правило, решаются на уровне приложения, в том числе и с использованием возможностей СУБД.

На рисунке 2 представлено примерное распределение функций между приложением, СУБД и самой базой данных.

Рисунок 2 - Распределение функций при работе с базой данных

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

1.1 Классификация баз данных

база данные управление доступ

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

По модели данных базы данных делят на следующие виды:

иерархические;

сетевые;

реляционные;

объектно-ориентированные.

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

Рисунок 3 - Графическое представление иерархической модели данных

Основными особенностями иерархической модели являются следующие:

все элементы имеют не более одного родителя;

родителей нет только у корневого элемента первого уровня;

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

Основным достоинством данной модели является упорядоченность и однозначность.

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

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

Рисунок 4 - Реестр Windows

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

Графическое изображение сетевой модели представлено ниже на рисунке 5.

Рисунок 5 - Сетевая модель данных

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

Однако, управлять такой моделью крайне не просто, так как возможно наличие множества связей. И чем больше число объектов в такой модели, тем сложнее ее структура.

Большого практического применения как сетевая, так и иерархическая модели данных в итоге не нашли.

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

Таблицы (отношения) в реляционной модели имеют следующую структуру:

столбцы в таблицы содержат характеристики объекта;

каждая строка описывает конкретный экземпляр объекта.

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

Пример реляционной базы «Туристы» представлен на рисунке 6.


К достоинствам реляционной модели можно отнести следующие особенности:

наглядность и удобство работы;

существует математический аппарат, так называемая алгебра отношений;

гибкость, над таблицами можно производить операции склеивания и разрезания;

возможность использования мощного языка манипулирования данными SQL;

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

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

Еще одним способом классификации баз данных является их размещение относительно конечного пользователя:

локальная база данных, которая расположена на том же компьютере, где и работает пользователь;

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

Последняя классификация во многом связана с особенностями используемой СУБД. Поэтому далее целесообразно более подробно рассмотреть СУБД.

1.2 Классификация СУБД

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

По способу доступа к базе данных СУБД делятся на следующие классы:

файл - серверные СУБД;

клиент-серверные СУБД;

встраиваемые СУБД.

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

Рисунок 7 - Работа файл-серверной СУБД

К достоинствам файл серверной модели относится низкая загрузка файл-сервера.

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

Все запросы пользователя выполняются на локальной машине, там находится копия СУБД.

К наиболее распространенным файл-серверным СУБД относятся Paradox, FoxPro, Access, dBase.

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

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

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

.

Рисунок 8 - Работа клиент-серверной СУБД

Достоинства клиент-серверной СУБД: высокая надежность и безопасность, централизованное управление, небольшая нагрузка на локальную сеть.

К наиболее распространенным клиент-серверным СУБД относятся Interbase (FireBird), Oracle, MySQL, MS SQL Server.

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

К наиболее распространенным встраиваемым СУБД относятся Firebird Embedded, Microsoft SQL Server Compact.

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

Глава 2. Выбор СУБД и разработка базы данных справочника по языкам программирования

.1 Выбор СУБД для создания базы данных в сети

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

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

Наиболее подходят и предназначены для работы в сети клиент-серверные СУБД.

Наиболее востребованными коммерческими клиент-серверными СУБД являются Oracle [11], и MS SQL Server [13].

Первым, критерием, по которому можно сравнить две данные СУБД, является то, на каких платформах они работают. MS SQL Server работает только на Windows, Oracle работает и на Windows и на Unix-подобных системах и при этом обладает хорошей переносимостью.

СУБД Oracle также обладает большим набором функций по работе через Интернет с помощью языка Java.

Основные недостатки СУБД Oracle: сложность администрирования и высокая цена, по сравнению с MS SQL Server.

По остальным же характеристикам, таким как быстродействие, число пользователей, работающих с базой данных, работа с большими базами данными Oracle превосходит MS SQL Server.

Однако для баз данных среднего размера и при не очень большом числе пользователей, эти преимущества могут быть и не так важны, поэтому для систем баз данных среднего размера может быть выбран и MS SQL Server, тем более что он гораздо дешевле Oracle.SQL Server стоит примерно 1000$, а сервер Oracle стоит около 5000$ [20].

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

Для создания базы данных в сети в данной работе выбран сервер Firebird (выросший из InterBase 6.0), так как он является свободно-распространяемой (бесплатной) и кроссплатформенной (Windows, Unix) системой управления базой данных, поддерживающей язык SQL [10].

Язык SQL является мощным инструментом позволяющим создавать (CREATE) и удалять (DROP) таблицы базы данных, делать выборку данных (SELECT), добавлять (INSERT), удалять (DELETE), редактировать (UPDATE) данные таблиц [16] [17].

К основным достоинствам Firebird, непосредственно повлиявшим на выбор ее в данной работе в качестве СУБД, можно отнести:

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

бесплатность;

низкуя требовательность к аппаратной платформе, можно использовать в качестве платформы для сервера обычный персональный компьютер;

высокую производительность;

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

возможность резервного копирования «на лету» (не нужно останавливать сервер);

возможность использования больших баз данных, объемом до нескольких Тбайт.

наличие большого числа средств администрирования и разработки, в том числе IBExpert, который, забегая вперед, будет использоваться в данной работе для создания базы данных на сервере Firebird;

большое число программных способов доступа к базе данных из различных языков и сред программирования (компоненты для Delphi, драйверы для PHP, Python, провайдер данных .NET, классы для ADO, ODBC).

Последнее достоинство фактически дает возможность выбора почти любой среды разработки, для создания приложения по работе с базой данной Firebird.

В данной работе для создания приложения выбрана среда Delphi, так как она является визуальной средой разработки и в ней наиболее хорошо проработаны компоненты для связи c Firebird, в том числе и по той причине, что предшественник сервера Firebird СУБД InterBase разработан той же фирмой (Borland), что и Delphi 7 [15].

К основным достоинствам Delphi можно отнести следующие [18] [21]:

быстрая разработка приложения (визуальная среда разработки);

один из самых быстрых компиляторов;

достаточно высокая производительность приложений и их не большие требования к ресурсам компьютера;

возможность создания собственных компонентов и встраивания их в среду;

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

2.2 Проектирование и создание базы данных

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

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

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

Для разрабатываемой базы данных достаточно одной таблицы со следующими полями:

название функции (Name);

параметры функции и возвращаемое значение (PARAMETR);

язык программирования, в котором данная функция работает (LANG);

краткое описание работы рассматриваемой функции (DESCRIPT).

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

Таблица 1 - Описание структуры разрабатываемой базы данных

Первичный ключ

Название

Тип

Описание

Да

ID

Целый

Идентификатор, автоинкрементное поле


NAME

Текстовый

Название


PARAMETR

Текстовый

Параметры


LANG

Текстовый

Язык


DESCRIPT

Текстовый

Описание


Далее необходимо создать базу данных и таблицу с данными полями на сервере Firebird. В данной работе это делается через средство IBExpert.

На рисунке 9 представлена база данных, созданная по описанной выше структуре в среде IBExpert с использованием системы управления базы данных Firebird.

Рисунок 9 - База данных по функциям языков программирования

Для реализации автоинкрементного поля ID создан триггер, представленный на рисунке 10.

Рисунок 10 - Триггер

После своего создания база данных сохранена в файле base.fdb на сервере.

После этого можно приступать к разработке приложения для работы с созданной базой данных.

Глава 3. РАРЗРАБОТКА ПРОГРАММНОГО ПРИЛОЖЕНИЯ (клиента) ДЛЯ РАБОТЫ С БАЗОЙ ДАННЫХ

.1 Список требований

Разрабатываемое приложение должно выполнять следующие функции:

ввод функций языков программирования;

просмотр функций языков программирования;

редактирование функций языков программирования;

удаление функций языков программирования;

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

На рисунке 11 представлена структура файла config.ini.

Рисунок 11 - Структура файла config.ini.

Для реализации выше описанных требований в среде Delphi было разработано приложение.

3.2 Разработка приложения

Для создания приложения в среде Delphi создан проект, исходный код которого представлен в приложении к данной работе.

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

Таблица 2 - Компоненты и их свойства

Компонент

Свойство

Значение

IBDatabase1 - для связи с БД

LoginPrompt

False - не спрашивать пароль и имя пользователя


PARAMS

user_name=sysdba - имя пользователя по умолчанию



password=masterkey - пароль по умолчанию

IBQuery1 - набор данных

DataBase

IBDatabase1 - загружает данные из БД указанной подключённой в IBDatabase1


Transaction

IBTransaction1 - транзакции через IBTransaction1

IBTransaction1 - - транзакции

DefaultDataBase

IBDatabase1 - БД по умолчанию


ReadCommit

DataSource1 - источник данных, для связи визуальных компонент и набора данных

DataSet

IBQuery1 - источник данных

DBGrid1 - сетка для отображения данных пользователю

DataSource

DataSource1 - источник данных


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

BDatabase1.DatabaseName:=IniFile.ReadString('Base', 'Path', '');

После своего создания программа была тщательно протестирована.

3.3 Описание клиентского приложения

Для начала работы с программой необходимо запустить файл SystemProject.exe. На экране появляется окно программы (рисунок 12).

Рисунок 12 - Главное окно программы

Добавление новой записи нажатием на кнопку «Добавить»: внизу появляется панель с полями для ввода (рисунок 13).

Рисунок 13 - Добавление данных

Далее произведено редактирование последней добавленной функции, так как умышлено у нее было сделано не правильное описание. Для этого выбрана эта запись в таблице и нажата кнопка «Редактировать» и введено правильное описание «Слияние строк» вместо «СИяние строк» (рисунок 14).

Рисунок 14 - Редактирование данных

Затем удалена созданная запись (рисунок 15-16 ).

Рисунок 15 - Подтверждение удаления данных

Рисунок 16 - Запись удалена

Далее произведен поиск функции strcat (рисунок 17).

Рисунок 17 - Поиск функции

Далее произведен импорт базы данных в Excel, результат представлен на рисунке 18.

Рисунок 18 - Импорт базы данных

В итоге все функции работы программы успешно протестированы, программа работает корректно.

Заключение

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

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

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

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

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

Кроме того в среде Delphi произведена разработка приложения для работы в сети с созданной базой данных.

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

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

Данный аспект достаточно важен, так как многие базы данных содержат персональные данные, например паспортные данные, которые в соответствии с законодательством в нашей стране подлежат обязательной защите [4] [7]. К тому же в базах данных может содержаться информация, составляющая государственную [5] или же коммерческую тайну [6].

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

Задачи же поставленные в рамках данной работы были выполнены в полном объеме.

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

Правовые и нормативные акты

. Гражданский кодекс Российской Федерации (часть четвертая) от 18.12.2006 N 230-ФЗ (ред. от 23.07.2013) (с изм. и доп., вступающими в силу с 01.09.2013) //Собрание законодательства Российской Федерации.

Федеральный закон Российской Федерации от 27 июля 2006 г. N 149-ФЗ «Об информации, информационных технологиях и о защите информации». // «Российская Газета». Федеральный выпуск от 29 июля 2006 г №4131

Федеральный закон Российской Федерации от 6 апреля 2011 г. N 63-ФЗ «Об электронной подписи». // «Российская Газета» - Федеральный выпуск от 8 апреля 2011 г. №5451

Федеральный закон Российской Федерации от 27 июля 2006 г. N 152-ФЗ «О персональных данных». // «Российская Газета». Федеральный выпуск от 29 июля 2006 г. №4131

Федеральный закон Российской Федерации от 29 июля 2004 г. N 98-ФЗ О коммерческой тайне. // «Российская Газета» - Федеральный выпуск от 5 августа 2004 г. №3543

Закон РФ от 21 июля 1993 г. N 5485-I (редакция от 21.12.2013) "О государственной тайне"

Постановление Правительства РФ от 1 ноября 2012 г. N 1119 «Об утверждении требований к защите персональных данных при их обработке в информационных системах персональных данных». // «Российская Газета» - Федеральный выпуск от 7 ноября 2012 г. №5929

ГОСТ Р ИСО МЭК ТО 10032-2007: Эталонная модель управления данными. // Федеральное агентство по техническому регулированию и метрологии, 2007.

Источники на русском языке

Зрюмов Е.А., Зрюмова А.Г. Базы данных для инженеров. - Барнаул: АлтГТУ, 2010. - 131 с.

Линн Бейли. Изучаем SQL. - Спб.: Питер, 2012. - 572 с.

Кевин Луни, Боб Брила. Oracle Database 10g Настольная книга администратора. - М.: Лори, 2009 - 377 с.

Макарова Н.В., Волков В.Б. Информатика. - Спб.: Питер, 2011 - 576 с.

13 Петкович Д. Microsoft SQL Server 2008. Руководство для начинающих. - Спб.: БХВ-Петербург, 2009 - 884 с.

Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.). - М.: Корона-Век, 2009 - 734 с.

Фленов М. Библия Delphi, 2-е издание.- Спб.: БХВ-Петербург, 2009 - 637 с.

Источники на иностранных языках

16 Celko J. Joe Celko's SQL for Smarties: Advanced SQL Programming 3rd edition. - Morgan Kaufmann, 2010. - 839 p

Celko J. Joe Celko's Trees and Hierarchies in SQL for Smarties PDF Second Edition. - Morgan Kaufmann, 2012. - 278 p.

Электронные ресурсы

Delphi 7 Обоснование выбора. [Электронный ресурс]. URL: http://barsicne.narod.ru/publ/delphi_7_obosnovanie_vybora/1-1-0-1 (дата обращения 21.07.2014)

С.Д. Кузнецов. Объектно-ориентированные базы данных - основные концепции, организация и управление: краткий обзор. [Электронный ресурс]. URL: http://citforum.ru/database/articles/art_24.shtml (дата обращения 21.07.2014)

Сравнительный анализ СУБД. [Электронный ресурс]. URL: http://orastack.narod.ru/index_file/onebd.html (дата обращения 21.07.2014)

Преимущества Delphi для программирования. [Электронный ресурс]. URL: http://www.islamnews.ru/release-98735.html (дата обращения 21.07.2014)

Приложение

unit mainunit;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, IniFiles, DB, IBDatabase, Grids, DBGrids, IBCustomDataSet,, StdCtrls, ExtCtrls, ComObj;= class(TForm): TIBDatabase;: TIBQuery;: TIBTransaction;: TDataSource;: TDBGrid;: TPanel;: TEdit;: TEdit;: TEdit;: TEdit;: TButton;: TButton;: TLabel;: TLabel;: TLabel;: TLabel;: TButton;: TIBQuery;: TIBTransaction;: TButton;: TButton;: TButton;: TRadioGroup;: TEdit;: TButton;FormCreate(Sender: TObject);ButtonExitClick(Sender: TObject);FormClose(Sender: TObject; var Action: TCloseAction);Button1Click(Sender: TObject);ButtonOKClick(Sender: TObject);ButtonEditClick(Sender: TObject);Button2Click(Sender: TObject);Grid();ButtonDelClick(Sender: TObject);RadioGroup1Click(Sender: TObject);Button3Click(Sender: TObject);

{ Private declarations }

{ Public declarations }

end;: TForm1;: string; // переменная для хранения имени таблицы БД

insert:boolean;

{$R *.dfm} TForm1.Grid(); //Меняем названия у столбцов на русские

Begin.Columns[0].Visible:= false; // скрываем столбец Номер.Columns[1].Title.Caption:= 'Название' ;.Columns[2].Title.Caption:= 'Параметры функции' ;.Columns[3].Title.Caption:= 'Язык' ;.Columns[4].Title.Caption:= 'Описание' ;;TForm1.FormCreate(Sender: TObject); // При создании формы подключаемся к БД

var:Tinifile;

//общаемся к ини-фалйлу config.ini, который хранится в каталоге с программой

//это нужно, чтобы можно было подключить другую базу, прописав к ней путь в config.ini

try:= TIniFile.Create(ExtractFilePath(Application.ExeName)+'config.ini');

// и считываем оттуда (из секции Base параметр Path ) путь к БД в IBDatabase1

IBDatabase1.DatabaseName:=IniFile.ReadString('Base', 'Path', '');.Connected:=true; //присоединяем БД

//считываем имя таблицы из ини файла:=IniFile.ReadString('Base', 'Name', '');

//загружаем данные из БДIBQuery1 do

begin.Text:='select * from ' + tabl;;;.Visible:=false;

grid(); //Меняем названия у столбцов на русские

insert:=false;.Free; //освобождаем память// Если произошла ошибкаE: Exception do//выводим об этом сообщение.MessageBox(PChar(E.Message), 'Ошибка', MB_ICONERROR);

Halt; //закрываем программу в случае ошибки

end;;;TForm1.ButtonExitClick(Sender: TObject); //Выход из программы

begin;;

//При закрытии формы закрываем БД (отключаем с ней связь)

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);.Close;.Connected:=false;;TForm1.Button1Click(Sender: TObject);.Visible:=true;:=true;

end;

//При нажатии на кнопку готово, на панели вставки/редактирования записи

procedure TForm1.ButtonOKClick(Sender: TObject);Edit1.Text='' then

Begin('Введите наименование функции');

exit;;Edit2.Text='' then('Введите параметры функции');;;Edit3.Text='' then('Введите язык');;;Edit4.Text='' then

Begin('Введите описание функции');

exit;;insert then //если вставляем запись...IBQuery2 do//QuotedStr - Ставит кавычки.Text:='insert into '+tabl+ '(NAME, PARAMETR, LANG, DESCRIPTION) values ('

+QuotedStr(Edit1.Text)+','+QuotedStr(Edit2.Text)+

','+QuotedStr(Edit3.Text)+','+QuotedStr(Edit4.Text)+');';.StartTransaction;; //выполняем запрос ExecSQL, для всех типов кроме select.Commit; //подтверждаем транзакцию.Active:=false;;.Close; //обновляем Query.Open;();//если произошла ошибкаIBQuery2.Active then.Transaction.Rollback; //откатываем транзакцию;

end//Если запись редактируем

Begin

tryIBQuery2 do//QuotedStr - Ставит кавычки.Text:='update '+tabl+' set NAME='+ QuotedStr(Edit1.Text)+', PARAMETR='+(Edit2.Text)+', LANG='+QuotedStr(Edit3.Text)+

', DESCRIPTION='+ QuotedStr(Edit4.Text)+' where ID='+IBQuery1.FieldByName('ID').AsString;.StartTransaction;; //выполняем запрос ExecSQL, для всех типов кроме select.Commit; //подтврждаем транзакцию.Active:=false;;.Close; //обновляем Query.Open;();//если произошла ошибкаIBQuery2.Active then.Transaction.Rollback; //откатываем транзакцию;;.Visible:=false;;TForm1.ButtonEditClick(Sender: TObject);

begin:=false; //указываем что мы редактируем, а не вставляем запись

Edit1.Text:= IBQuery1.FieldByName('Name').AsString;.Text:= IBQuery1.FieldByName('PARAMETR').AsString;.Text:= IBQuery1.FieldByName('LANG').AsString;.Text:= IBQuery1.FieldByName('DESCRIPTION').AsString;

Panel1.Visible:=true; // показываем панель с полями

end;

//отменаTForm1.Button2Click(Sender: TObject);.Visible:=false;;TForm1.ButtonDelClick(Sender: TObject); // Удалить записьMessageDlg('Действительно хотите удалить запись из БД?',mtConfirmation, mbOKCancel, 0)= mrOKIBQuery2 do//QuotedStr - Ставит кавычки.Text:='delete from '+tabl+' where ID='+IBQuery1.FieldByName('ID').AsString;.StartTransaction;; //выполняем запрос ExecSQL, для всех типов кроме select.Commit; //подтврждаем транзакцию.Active:=false;;.Close; //обновляем Query.Open;

grid();('Запись удалена успешно');

except //если произошла ошибкаIBQuery2.Active then.Transaction.Rollback; //откатываем транзакцию;;;TForm1.RadioGroup1Click(Sender: TObject); // При выборе радиокнопок на панели поискаRadioGroup1.ItemIndex = 0// При выборе "Отбразить все записи"IBQuery1 do.Text:='select * from ' + tabl;;;// При выборе "Поиск функции"IBQuery1 do.Text:='select * from ' + tabl + ' where NAME=' + QuotedStr(Edit5.Text);;;;();;TForm1.Button3Click(Sender: TObject);,j,index: Integer;,sheet: Variant;:= CreateOleObject('Excel.Application'); // для использования CreateOleObject необходимо подключить модуль ComObj.Visible := true;.WorkBooks.Add(-4167);.WorkBooks[1].WorkSheets[1].name := 'Otchet';:=ExcelApp.WorkBooks[1].WorkSheets['Otchet'];

index:=3;

//Вторая строка будет отображаться жирным (заголов таблицы)

ExcelApp.ActiveWorkBook.ActiveSheet.Rows[2].Font.Bold:=true;

//Вывод шапки таблицы.cells[2,1]:= 'Имя ';.cells[2,2]:= 'Параметры';.cells[2,3]:= 'Язык';.cells[2,4]:= 'Описание';

//вывод данных

//DBGrid1.DataSource.DataSet.First;i:=1 to DBGrid1.DataSource.DataSet.RecordCount doj:=2 to DBGrid1.FieldCount do.cells[index,j-1]:=DBGrid1.fields[j-1].asstring;(index);.DataSource.DataSet.Next; //переход к следующей строке грида;;.

Похожие работы на - Разработка приложения для работы с базой данных

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!