Раздел 2. Просмотр и навигация.
Существует два разных способа создания форм для доступа к данным базы данных. Первый метод — использовать Эксперт форм базы данных. К сожалению, специалисты по формам баз данных могут обрабатывать только подмножество компонентов набора данных, поддерживающее BDE (визуальный BDE). Второй способ — вручную разместить и соединить все компоненты данных.
Определение пользовательского интерфейса
Мы создадим собственную форму просмотра данных в три этапа. Первый шаг — определить пользовательский интерфейс для формы; второй шаг — добавить и настроить компоненты доступа к данным; третий и последний шаг — добавить элементы управления визуализацией данных;
Прежде чем начать, закройте все открытые проекты. Затем перейдите к следующим шагам:
DBNavigator1.DataSource = DataSource1
DBGrid1.DataSource = DataSource1
DataSource1.DataSet = ADOTable1
ADOTable1.Connection = ADOConnection1
ADOConnection1.ConnectionString = ...
ADOConnection1.LoginPRompt = ложь
ADOTable1.Table = 'Приложения'
Примечание. Как обсуждалось в главе 2, свойство ConnectionString указывает физическое место, где хранятся данные, и способ доступа к ним. Вы можете использовать ту же строку подключения, что и в главе 2, или создать ее самостоятельно, вызвав редактор строки подключения.
Установите для свойства LoginPrompt компонента ADOConnection значение False, чтобы интерфейс входа в базу данных не отображался. Поскольку мы не установили пароль для базы данных, нам не нужен запрос на вход.
Поля
Когда мы хотим предоставить пользователям весь набор записей (данные в таблице), мы можем использовать компонент DBGrid. Несмотря на то, что мы можем использовать DBGrid, чтобы позволить нашим пользователям добавлять, редактировать и удалять записи в таблице, лучший способ — использовать объекты Field для каждого поля в таблице. Объекты полей в основном используются для управления отображением и редактированием данных в приложениях. Используя редактор полей, мы можем установить фиксированный список объектов полей для каждого столбца таблицы. Редактор полей можно вызвать двойным щелчком мыши по компоненту DataSet. Чтобы добавить поля в фиксированный список полей набора данных, щелкните список правой кнопкой мыши и выберите «Добавить поля».
Помимо отображения всех данных в таблице (в DBGrid) для пользователя, нам также необходимо использовать полевые (полеориентированные) компоненты визуализации данных, такие как поля редактирования. Например, компонент DBEdit — это версия визуализации данных класса TEdit. Это строительный блок любой программы ввода данных.
Самый простой способ разместить DBEdit в форме и подключить его к полю таблицы следующий:
Когда вы перетащите поле «Имя» на лист этикетки, Delphi поместит в него метку и компонент DBEdit. Заголовок компонента Label совпадает со свойством DisplayLabel перетаскиваемого поля. Компонент DBEdit подключается к источнику данных набора данных через свое свойство DataSource. Если вы выберете несколько полей в редакторе полей и поместите их в форму, Delphi разместит в форме столько же компонентов Label/DBEdit.
«Оно живое!»
Хорошо, все, что нам нужно сделать сейчас, это активировать соединение и пролистать записи. Свойство Active компонента DataSet (ADOTable) указывает, подключены ли мы к таблице. Установка для Active значения True или вызов метода Open приведет к тому, что свойство CONonnected компонента ADOConnection будет иметь значение True, а данные отобразятся в связанном элементе управления визуализацией данных.
Сначала, Пройди, Последний,...
Теперь делаем последние приготовления. Далее мы научимся просматривать набор записей.
Компонент DBNavigator предоставляет удобный и простой инструмент для просмотра наборов записей. Помимо возможностей просмотра, DBNavigator также предоставляет методы управления данными, такие как вставка, удаление или отмена изменений. Например, если мы нажмем кнопку «Удалить», соответствующая запись будет удалена из набора записей. Каждая кнопка не является обязательной, и вы можете комбинировать их по своему усмотрению.
С помощью настроек кнопок мы можем перейти к последней записи или перейти к предыдущей записи. Например, нажатие кнопки «Последняя» устанавливает текущую запись как последнюю запись в наборе записей и отключает кнопки «Последняя» и «Следующая». Нажатие кнопки «Последний» имеет тот же эффект, что и вызов метода «Последний» набора данных.
Следует отметить, что одна из операций просмотра, которую не может выполнить DBNavigator, — это перемещение записей вперед или назад на определенное количество интервалов. Метод набора данных MoveBy используется для позиционирования любой записи относительно текущей записи в наборе записей.
Вот и все для этой главы. Теперь мы готовы научиться редактировать и запрашивать набор данных, что будет объяснено в следующих главах этого руководства...
26 декабря 2002 20:49