Для сдачи тестов, рубежного контроля, а также закрепления материала используйте браузеры MS Internet Explorer, Mozilla Firefox, Chromium
    Главная страница электронного учебника
    Содержание дисциплины

    Содержание дисциплины


    Учебная тема
    Создание таблицы базы данных в Access

    Компоненты для создание приложений БД в BDE.

     

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

     

    Режим формы

     

    В первой статье, посвящённой этой теме, я привела пример создании приложения, работающего с БД, в котором использовалось лишь три компонента Table (вкладка BDE), DataSource (Data Access), DBGrid (Data Controls). Сегодня поясню, для чего они нужны. 

    Сначала, поговорим о вкладках, на которых они располагаются:

    BDE – содержит компоненты для создания приложений, использующих BDE;

    Data Access – это вкладка, содержащая не визуальные компоненты, предназначенные для организации доступа к данным;

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

    Следует также знать, что компоненты для работы с базами данных можно разделить на три группы:

    множества данных (data sets);

    визуальные компоненты баз данных (dataaware controls)

    источники данных (data sources).

    Множества данных – это не визуальные компоненты, которые взаимодействуют с BDE и обеспечивают доступ к данным в таблицах. Наиболее важные из них – компоненты Table и Query.

    Визуальные компоненты баз данных – это управляющие элементы пользовательского интерфейса для просмотра и редактирования данных. Многие из них дублируют обычные управляющие компоненты: DBGrid, DBEdit, DBCheckBox, DBRadioGroup, DBImage и др.

    Источники данных – это не визуальные компоненты, исполняющие роль трубопроводов между множествами данных и визуальными компонентами баз данных. Используя введённые понятия, можно уточнить структуру приложения, осуществляющего доступ к данным через BDE (DataSource) (рис. 1).

    Структура приложения БД, использующего технологию BDE

    Рис. 1. Структура приложения БД, использующего технологию BDE.

    Компонент Table

    Компонент Table (табл. 1) обеспечивает доступ к таблицам базы данных, создавая набор данных, структура полей которого повторяет таблицу БД. Набором данных называют записи одной или нескольких таблиц, переданные в приложение в результате активизации компонента доступа к данным.

    Таблица 1. Важнейшие свойства компонента Table

    Свойство

    Описание

    Active

    Если равно true, то таблица открыта, если false — то закрыта.

    CachedUpdates

    Если равно true, то операция по модификации сразу не выполняются, а кэшируются (накапливаются). Для физического выполнения скопировавшихся операция вызывается метод ApplyUpdates.

    DataBaseName

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

    Exclusive

    Если равно true, то всем остальным пользователям таблицы будет отказано в доступе.

    Filter

    Булевское выражение, задающее фильтр для записей.

    Filtered

    Включает (true) или выключает (false) фильтрацию записей.

    FilterOptions

    Параметры, определяющие режимы фильтрации.

    IndexFieldNames

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

    IndexFiles

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

    IndexName

    Вторичный индекс таблицы. Свойства IndexName и IndexFieldNames являются взаимоисключающими.

    MasterFields

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

    MasterSource

    Указывает источник данных (DataSource) главной таблицы, если данная таблица является подчинённой.

    ReadOnly

    Запрещает/разрешает (true/false) модификацию данных в таблице.

    TableName

    Имя таблицы БД.

    TableType

    Физический тип таблицы. Это свойство игнорируется при работе с серверной базой данных.

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

    Компонент DataSource

    Компонент DataSource (табл. 2) обеспечивает взаимодействие набора данных с компонентами для отображения данных. С каждым компонентом доступа к данным должен быть связан как минимум один компонент DataSource. С одним компонентом DataSource может быть связано несколько визуальных компонентов.

    Таблица 2. Важнейшие свойства компонента DataSource

    Свойство

    Описание

    AutoEdit

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

    DataSet

    Указывает компонент (Table или Query), поставляющий данные из таблицы.

    Enabled

    Определяет, обновляется ли содержимое управляющих элементов, связанных с источником данных, при изменении текущей записи в таблице. Позволяет включить (true) или исключить (false) все подсоединённые визуальные компоненты.

    Компонент DBGrid

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

    Для перемещения по записям используются полосы прокрутки и клавиши управления курсором. Для изменения данных достаточно установить курсор в нужную ячейку и ввести другое значение. Новая пустая строка создаётся в позиции указателя нажатием на клавишуInsert. Чтобы изменения, сделанные при редактировании и добавлении записи, были внесены в таблицу, необходимо на жать на клавишу Enter или перейти на другую строку. До того как данные были переданы в таблицу, можно клавишей Esc отменить изменения. Для удаления записи используется комбинация клавиш Ctrl+Delete.

    Таблица 3. Важнейшие свойства компонента DBGrid

    Свойство

    Описание

    Align

    Определяет способ выравнивания внутри владельца.

    Columns

    Содержит список объектов, описывающих колонки в таблице.

    DataSource

    Указывает источник (компонент DataSoyrce), из которого извлекаются отображаемые данные.

    DefaultDrawing

    DefaultDrawing Если равно true, то ячейки таблицы отображаются в обычном стиле. Если значение равно false, то в обработчике события OnDrawColumnCell можно определить свой способ рисования ячеек.

    FixedColor

    Задаёт цвет фиксированных строк и колонок таблицы.

    Options

    Определяет режимы работы компонента.

    TitleFont

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

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

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

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

    Создание каталога и псевдонима

    1. Создайте рабочую папку и назовите её Семья.

    2. Откройте утилиту BDE Administrator, создайте псевдоним Familiy, укажите путь к только что созданной папке Семья.

    Создание таблицы

    1. Откройте утилиту Database Desktop.

    2. Создайте таблицу со следующими полями:

    Field Name

    Type

    Size

    Key

    1

    Роль в семье

    Alpha (A)

    15

    *

    2

    Фамилия

    Alpha (A)

    10

    3

    Имя

    Alpha (A)

    15

    4

    Отчество

    Alpha (A)

    15

    5

    Возраст

    Long Integer

    6

    Фотография

    Graphic (G)

    3. Сохраните таблицу под именем Familiy.db в папку Семья.

    4. Заполните таблицу следующими данными: 

    Роль в семье

    Фамилия

    Имя

    Отчество

    Возраст

    Фотография

    Папа

    Пупкин

    Фёдор

    Вениаминович

    45

    <BLOB Graphics>

    Мама

    Пупкина

    Федора

    Поликарповна

    42

    <BLOB Graphics>

    Сын

    Пупкин

    Василий

    Фёдорович

    16

    <BLOB Graphics>

    Старшая дочь

    Пупкина

    Дульсинея

    Фёдоровна

    20

    <BLOB Graphics>

    Младшая дочь

    Пупкина

    Дарья

    Фёдоровна

    1

    <BLOB Graphics>

    Создание формы

    1. Запустите Delphi 7.

    2. На форме разместите компоненты, как показано на рис. 2. 

    Форма приложения в процессе проектирования интерфейса

    Рис. 2. Форма приложения в процессе проектирования интерфейса.

    3. Настройте компоненты формы:

    Имя компонента

    Свойство

    Значение свойства

    Table1

    DatabaseName

    Familiy

    Table1

    TableName

    Familiy.db

    Table1

    Active

    True

    DataSource1

    DataSet

    Table1

    DBText1

    DataSource

    DataSource1

    DBText1

    DataField

    Семья

    DBText2

    DataSource

    DataSource1

    DBText2

    DataField

    Фамилия

    DBText3

    DataSource

    DataSource1

    DBText3

    DataField

    Имя

    DBText4

    DataSource

    DataSource1

    DBText4

    DataField

    Отчество

    DBText5

    DataSource

    DataSource1

    DBText5

    DataField

    Возраст

    DBImage1

    DataSource

    DataSource1

    DBImage1

    DataField

    Фотография

    DBImage1

    Stretch

    True

    DBNavigator1

    DataSource

    DataSource1

    4. Сохраните проект. Запустите программу на исполнение.

    Все данные отобразились, кроме фотографий членов семьи.

    Вставка изображений в БД

    1. Запустите программу на исполнение.

    2. Откройте необходимое изображение в графическом редакторе Paint.

    3. Выберите пункт в меню Правка --> Выделить всё.

    4. Далее нажмите сочетание клавиш Ctr+С.

    5. Теперь перейдите на окно работающего приложения и щёлкните в компоненте DBImage1мышкой.

    6. Далее нажмите сочетание клавиш Ctr+V. Теперь картинка вставилась в поле для изображения.

    7. Аналогично добавьте остальные изображения в БД.

    - Содержание дисциплины


    Закрепление материала
    Тестирование материала
    Содержание дисциплины