Реферат: Компоненты для работы с БД: TTable и TQuery
Реферат: Компоненты для работы с БД: TTable и TQuery
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РЕСПУБЛИКА КАЗАХСТАН
ИНСТИТУТ «ЖЕТЫСУ»
КАФЕДРА ФИНАНСОВО-ЭКОНОМИЧЕСКИХ ДИСЦИПЛИН
Юнусов Ринат ИСЭ 410а
Компоненты для работы с базами данных:
TTable и TQuery
(курсовая работа)
Научный руководитель:
Шлембаев К.Т.
Талдыкорган 2003
Содержание:
1. Введение……………………………………………………………….. |
2 |
2. Компоненты для работы с БД среды Delphi 6……………………..... |
2 |
3. Наборы данных………………………………………………………... 3.1 Основные приемы работы с TDataSet…………………………………… 3.2 Основные свойства, методы и события TDataSet………………….. |
3 4 7 |
4. Обзор компонента TTable…………………………………………….. |
10 |
5. Обзор компонента TQuery……………………………………………. |
11 |
6. Сравнение компонентов TTable и TQuery…………………………... |
15 |
7. Заключение…………………………………………………………….. |
17 |
8. Приложение…………………………………………………………… |
18 |
Список использованной литературы.…………………………………... |
21 |
1. Введение
Базами данных (БД) называют электронные хранилища информации, доступ к которым осуществляется с помощью одного или нескольких компьютеров. Обычно БД создается для хранения и доступа к данным, содержащим сведения о некоторой предметной области, то есть некоторой области человеческой деятельности или области реального мира.
Системы управления базами данных (СУБД) – это программные средства, предназначенные для создания, наполнения, обновления и удаления баз данных.
По своей архитектуре СУБД делятся на автономные, файл - серверные, клиент - серверные и многозвенные. В данной курсовой работе будет рассматриваться работа только с автономными СУБД.
Автономные БД являются наиболее простыми. Они хранят свои данные в локальной файловой системе на том компьютере, на котором установлены система управления и машина баз данных, осуществляющая к ним доступ, находится на том же самом компьютере. Сеть не используется.
Автономные базы данных полезны для развития тех приложений, которые распространены среди многих пользователей, каждый из которых поддерживает отдельную базу данных. Это, например, приложения, обрабатывающие документацию небольшого офиса, кадровый состав небольшого предприятия, бухгалтерские документы. Каждый пользователь такого приложения манипулирует своими собственными данными на своем компьютере. Пользователю нет необходимости иметь доступ к данным любого другого пользователя, так что отдельная БД здесь вполне приемлема.
В данной курсовой работе будет приведен пример приложения работающего с автономными БД – “Справочник сотрудника ГИБДД”, Приложение было разработано автором в среде Delphi 6.
2. Компоненты для работы с БД среды Delphi 6
Каждое приложение, использующее базы данных, обычно имеет по крайней мере по одному компоненту следующих типов:
· Компоненты – наборы данных (Data set), непосредственно связывающиеся с базой данных. Для BDE это такие компоненты, как Table, Query, Stored Proc, BDEClientDataSet. Для других технологий имеются аналогичные компоненты наборов данных.
· Компонент – источник данных (Data source), осуществляющий обмен информацией между компонентами первого типа и компонентами визуализации и управления данными. Таким компонентом является DataSource.
· Компоненты визуализации данных и управления данными, такие, как DBGrid, DBTExt, DBEdit и множество других.
Связь этих компонентов друг с другом и с базой данных можно представить схемой приведенной ниже:
Схема взаимодействия компонентов Delphi с базой данных
3. Наборы данных
Под набором данных (НД) понимается группа записей из одной или нескольких таблиц БД, доступная для компонентов-наборов TTable, TQuery или TStoredProc. Эти компоненты порождены от общего родительского класса TDBDataSet и наследуют все его свойства, методы и события.
Класс TDataSet
TDataSet класс - один из наиболее важных объектов БД. Чтобы начать работать с ним, нужно взглянуть на следующую иерархию:
TDataSet
|
TDBDataSet
|
|-- TTable
|-- TQuery
|-- TStoredProc
TDataSet содержит абстрактные методы там, где должно быть непосредственное управление данными. TDBDataSet знает, как обращаться с паролями и то, что нужно сделать, чтобы подключиться к определенной таблице. TTable знает (т.е. уже все абстрактные методы переписаны), как обращаться с таблицей, ее индексами и т.д.
TDataSet - инструмент, который используется например для открытия таблицы, и перемещения по ней. Конечно, не нужно непосредственно создавать объект типа TDataSet. Вместо этого, нужно использовать TTable, TQuery или других потомков TDataSet (например, TQBE). На наиболее фундаментальном уровне, Dataset это просто набор записей, как изображено на рис.1
Рис.1: Любой dataset состоит из ряда записей (каждая содержит N полей) и указатель на текущую запись.
В большинстве случаев DataSet будет иметь прямое, один к одному, соответствие с физической таблицей, которая существует на диске. Однако, в других случаях можно исполнять запрос или другое действие, возвращающие dataset, который содержит либо любое подмножество записей одной таблицы, либо объединение (join) между несколькими таблицами.
3.1 Основные приемы работы с TDataSet
Имеются два различных способа открыть таблицу во время выполнения программы. Можно написать следующую строку кода:
Table1.Open;
Или можно установить свойство Active равное True:
Table1.Active := True;
Нет никакого различия между результатом производимым этими двумя операциями. Метод Open, однако, сам заканчивается установкой свойства Active в True, так что может быть даже чуть более эффективно использовать свойство Active напрямую.
Также, как имеются два способа открыть a таблицу, так и есть два способа закрыть ее. Самый простой способ просто вызывать Close:
Table1.Close;
Или можно написать: Table1.Active := False;
Навигация (Перемещение по записям)
Большой набор методов и свойства TDataSet обеспечивает все, что нужно для доступа к любой конкретной записи внутри таблицы:
Обзор их функциональных возможностей описан ниже в таблице методов класса TDadaSet.
TDataSet.BOF - read-only Boolean свойство, используется для проверки, находится ли курсор в начале таблицы. Свойства BOF возвращает true в трех случаях:
· После того, как файл был открыт;
· После того, как вызвался метод TDataSet.First;
· После того, как не выполнился вызов метода TDataSet.Prior.
Первые два пункта - очевидны. Когда открывается таблица, Delphi помещает курсор на первую запись; когда вызывается метод First, Delphi также перемещает курсор в начало таблицы. Третий пункт, однако, требует небольшого пояснения: после того, как вызывался метод Prior несколько раз, курсор мог добраться до начала таблицы, и следующий вызов Prior будет неудачным - после этого BOF и будет возвращать True.
Следующий код показывает самый общий пример использования Prior, когда курсор попадает к первой записи:
while not Table.Bof do
Table1.Prior;
end;
Цикл будет продолжаться до тех пор, пока вызов Table1.Prior не сможет больше перемещать курсор на предыдущую запись в таблице. В этот момент BOF вернет True и программа выйдет из цикла.
Все сказанное относительно BOF также применимо и к EOF. Другими словами, код, приведенный ниже показывает простой способ пробежать по всем записям в a dataset:
Table1.First;
while not Table1.EOF do
Table1.Next;
end;
EOF возвращает True в следующих трех случаях:
· После того, как файл был открыт;;
· После того, как вызвался метод TDataSet.Last;
· После того, как не выполнился вызов метода TDataSet.Next
Единственная навигационная процедура, которая еще не упоминалась - MoveBy, которая позволяет переместиться на N записей вперед или назад в таблице. Если необходимо переместиться на две записи вперед, то следует написать следующий оператор: