- •Министерство образования российской федерации ростовский государственный экономический университет
- •Borland delphi
- •4.1 Страница Additional 23
- •4.2 Страница Dialogs 24
- •4.3 Страница System 25
- •4.4 Страница vbx 26
- •8.3 Компоненты работы с бд. 63
- •Введение
- •1 Borland Borland Delphi. Основные характеристики продукта
- •2 Среда программирования Delphi
- •2.1 Структура среды программирования
- •2.2 Главные составные части среды программирования
- •2.3 Дополнительные элементы
- •2.4 Стандартные компоненты
- •2.5 Подробнее об Инспекторе Объектов
- •2.6 Сохранение программы
- •2.7 TButton, исходный текст, заголовки и z-упорядочивание
- •3. Управление проектом
- •3.1 Проект Delphi
- •3.2 Пункт меню “File”
- •3.3 Управление проектом
- •3.4 Обзор других пунктов меню
- •3.4.1 Пункт меню “Edit”
- •3.4.2 Пункт меню “Menu”
- •3.4.3 Пункт меню “View”
- •3.4.4 Пункт меню “Compile”
- •4 Обзор Палитры Компонент
- •4.1 Страница Additional
- •4.2 Страница Dialogs
- •4.3 Страница System
- •4.4 Страница vbx
- •5 Свойства в Delphi
- •5.1 Управление свойствами визуальных компонент в режиме выполнения
- •6. Методы в Delphi
- •6.1 Создание методов с помощью визуальных средств
- •Interface
- •Implementation
- •6.2 Передача параметров
- •Interface
- •Implementation
- •7 События в Delphi
- •7.1 Понимание событий
- •7.2 Обработка сообщений Windows в Delphi
- •8 Работа с бд в Delphi.
- •8.1.2 Алиасы
- •8.1.3 Системная информация утилиты настройки bde (bdecfg)
- •8.2 УтилитаDatabaseDesktop
- •8.3 Компоненты работы с бд.
- •8.3.1 Класс TdataSet
- •8.3.1.1 Открытие и закрытие DataSet
- •8.3.2 Навигация (Перемещение по записям)
- •8.3.3 Поля
- •8.3.4 Работа с Данными
- •8.3.5 Основные понятия о TdataSource
- •8.3.5.1 Использование tDataSource для проверки состояния бд
- •8.3.5.2 Отслеживание состояния DataSet
- •8.3.6 Создание таблиц с помощью компонента tTable
- •8.3.7 Управление tdbGrid во время выполнения
- •9 Основные понятия о запросах (queries) и транзакциях
- •9.1 Основные понятия о tQuery
- •9.2 Свойство sql
- •9.3 TQuery и Параметры
- •9.4 Передача параметров через tDataSource
- •9.5 Специальные свойства Tquery
- •10 Создание таблиц с помощью sql-запросов
- •10.1 Создание таблиц с помощью sql
- •11 Управление соединением с базой данных при помощи компоненты tDataBase и объекта Tsession
- •11.1 Класс TdataBase
- •11.2 Создание постоянного соединения с базой данных
- •11.3 Определение собственного диалога при соединении с базой данных
- •11.4 Создание локального псевдонима базы данных
- •11.5 Изменение параметров при соединении
- •11.6 Управление транзакциями
- •11.7 Объект Session
- •11.7.1 Указание сетевого протокола при соединении с бд
- •12 Утилиты для Local InterBase
- •12.1 InterBase Interactive sql
- •12.1.1 Установка соединения
- •12.1.2 Создание новой базы данных
- •12.1.3 Получение информации о структуре базы данных
- •12.1.4 Выполнение sql запросов
- •12.2 InterBase Server Manager
- •12.2.1 Резервное копирование
- •Список использованных источников
8.3 Компоненты работы с бд.
Имеются несколько основных компонент (объектов) для доступа к БД. Эти объекты могут быть разделены на три группы:
невизуальные: TTable, TQuery, TDataSet, TField
визуальные: TDBGrid, TDBEdit
связующие: TDataSource
Первая группа включает невизуальные классы, которые используются для управления таблицами и запросами. Эта группа сосредотачивается вокруг компонент типа TTable, TQuery, TDataSet и TField. В Палитре Компонент эти объекты расположены на странице Data Access.
Вторая важная группа классов - визуальные, которые показывают данные пользователю, и позволяют ему просматривать и модифицировать их. Эта группа классов включает компоненты типа TDBGrid, TDBEdit, TDBImage и TDBComboBox. В Палитре Компонент эти объекты расположены на странице Data Controls.
К третьему типу относится только невизуальный компонент TDataSource, который используется для того, чтобы связать предыдущие два типа объектов.
8.3.1 Класс TdataSet
TDataSet класс - базовый родительский класс
TDataSet
|
TDBDataSet
|
|-- TTable
|-- TQuery
|-- TStoredProc
TDataSet содержит абстрактные методы там, где должно быть непосредственное управление данными. TDBDataSet знает, как обращаться с паролями и то, что нужно сделать, чтобы присоединить Вас к определенной таблице. TTable знает (т.е. уже все абстрактные методы переписаны), как обращаться с таблицей, ее индексами и т.д.
TQuery имеет определенные методы для обработки SQL запросов.
TDataSet - инструмент, который используется, чтобы открыть таблицу, и перемещаться по ней. Конечно, Вы никогда не будете непосредственно создавать объект типа TDataSet. Вместо этого, Вы будете использовать TTable, TQuery или других потомков TDataSet (например, TQBE).
На наиболее фундаментальном уровне, Dataset это просто набор записей, как изображено на рис.7.
Рис 7: Любой dataset состоит из ряда записей, каждая содержит N полей, и указатель на текущую запись.
В большинстве случаев dataset будет иметь a прямое, один к одному, соответствие с физической таблицей, которая существует на диске. Однако, можно исполнять запрос или другое действие, возвращающие dataset, который содержит либо любое подмножество записей одной таблицы, либо объединение (join) между несколькими таблицами.
Методы, используемые Delphi для доступа к данным, хранящимся на диске в виде БД, принадлежат TDataSet. Почти всякий раз, когда программист на Delphi открывает таблицу, он будет использовать TTable или TQuery, которые являются просто некоторой надстройкой над TDataSet.
8.3.1.1 Открытие и закрытие DataSet
Если Вы используете TTable для доступа к таблице, то при открытии данной таблицы заполняются некоторые свойства TTable (количество записей RecordCount, описание структуры таблицы и т.д.).
Прежде всего, нужно заполнить в Инспекторе объектов свойства DatabaseName и TableName. В DatabaseName можно либо указать директорию, в которой лежат таблицы в формате dBase или Paradox, например, C:\DELPHI\DEMOS\DATA, либо выбрать из списка псевдоним базы данных (DBDEMOS). Псевдоним базы данных (Alias) определяется в утилите Database Engine Configuration. Теперь, если свойство Active установить в True, то при запуске приложения таблица будет открываться автоматически.
Имеются два различных способа открыть таблицу во время выполнения программы. Вы можете написать следующую строку кода:
Table1.Open;
Или, если Вы предпочитаете, то можете установить свойство Active равное True:
Table1.Active:= True;
Метод Open, однако, сам заканчивается установкой свойства Active в True, так что может быть даже чуть более эффективно использовать свойство Active напрямую.
Также как имеются два способа открыть таблицу, так и есть два способа закрыть ее. Самый простой способ просто вызывать Close:
Table1.Close;
Или, если Вы желаете, Вы можете написать:
Table1.Active:= False;
Нет никакой существенной разницы между двумя этими способами. Вы должны только помнить, что Open и Close это методы (процедуры), а Active - свойство.