12152

КОМПОНЕНТЫ, ИСПОЛЬЗУЕМЫЕ ДЛЯ СВЯЗИ С БАЗАМИ ДАННЫХ

Лекция

Информатика, кибернетика и программирование

КОМПОНЕНТЫ ИСПОЛЬЗУЕМЫЕ ДЛЯ СВЯЗИ С БАЗАМИ ДАННЫХ Обзор компонентов используемых для связи с базами данных Компоненты Delphi используемые для работы с базами данных расположены в библиотеке компонентов на страницах Data Access доступ к данным и Data Control управл

Русский

2013-04-24

66 KB

6 чел.

КОМПОНЕНТЫ, ИСПОЛЬЗУЕМЫЕ ДЛЯ СВЯЗИ

С БАЗАМИ ДАННЫХ

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

Компоненты Delphi, используемые для работы с базами данных, расположены в библиотеке компонентов на страницах Data Access (доступ к данным) и Data Control (управление данными).

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

  •  компоненты-наборы данных (data set), непосредственно связывающиеся с базой данных. Это компоненты Table, Query, StoredProc;
  •  компонент-источник данных (data source), осуществляющий обмен информацией между компонентами первого типа и компонентами визуализации и управления данными. Таким компонентом является DataSource;
  •  компоненты визуализации и управления данными, такие, как DBGrid, DBText, DBEdit, DBNavigator и множество других.

Связь этих компонентов друг с другом и с базой данных можно представить схемой:

Еще один компонент Session является главным компонентом любого приложения, работающего с базами данных. Он автоматически создается Delphi во время работы приложения с базами данных.

  1.   Компонент Table

4.2.1 Установление связей

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

Простейшее приложение, работающее с базой данных, должно содержать, как минимум, три компонента:

  1.  Table;
  2.  DataSource;
  3.  DBGrid.

1) и 2) компоненты невизуальные. Компонент 3) отвечает за отображение данных из выбранного источника, поэтому его целесообразно растянуть на форме пошире или установить значение свойства Align равным alClient.

Теперь необходимо установить цепочку связей между данными компонентами. Главное свойство компонента DBGrid и других компонентов визуализации и управления данными – DataSource. Установив значение этого свойства равным имени компонента-источника данных, расположенного на форме, можно установить связь между компонентом отображения данных и компонентом-источником данных.

Связь между источником данных и набором данных можно осуществить при помощи свойства DataSet компонента DataSource. Если на форме имеется несколько компонентов-наборов данных, то из выпадающего списка в значении данного свойства необходимо выбрать имя интересующего вас компонента (Table, Query и т. п.).

Связь между компонентом-набором данных типа Table и конкретной таблицей данных осуществляется с помощью двух свойств: DatabaseName и TableName. Прежде всего, следует установить свойство DatabaseName. В выпадающем списке этого свойства в Инспекторе Объектов можно увидеть все доступные BDE псевдонимы баз данных. Из этого списка необходимо выбрать тот псевдоним, который вы определили ранее для вашей базы. Затем необходимо установить значение свойства TableName. В выпадающем списке этого свойства перечислены все таблицы, доступные в выбранной базе данных.

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

Если запустить проект на выполнение, то можно просмотреть данные, хранящиеся в таблице, отредактировать их или дополнить новыми записями. Заполнять можно поля практически всех типов, за исключением тех из них, которые требуют хранения данных в отдельных файлах (memo, graphic и т.п.)

Следует помнить, что заранее выставлять для таблиц Active=true допустимо только в процессе настройки и отладки приложения, работающего с локальными базами данных. В законченном приложении во всех таблицах сначала должно быть установлено Active=false, а затем при событии формы OnCreate эти свойства могут быть установлены в true командой типа Table1.Active:=true; а при событии формы OnDestroy эти свойства опять должны быть установлены в false. Такие действия исключат неоправданное поддержание связи с базой данных, которое занимает ресурсы, а при работе в сети мешает доступу к базе данных других пользователей.

В приложение, использующее базы данных, полезно добавить еще один компонент, управляющий работой с таблицей – навигатор DBNavigator, расположенный на странице Data Control. Данный компонент имеет ряд кнопок, служащих для управления данными:

Кнопка

Пиктограмма

Назначение

nbFirst

перемещение к первой записи

nbPrior

перемещение к предыдущей записи

nbNext

перемещение к следующей записи

nbLast

перемещение к последней записи

nbInsert

вставить новую запись перед текущей

nbDelete

удалить текущую запись

nbEdit

редактировать текущую запись

nbPost

послать отредактированную информацию в базу данных (сохранить изменения)

nbCancel

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

nbRefresh

очистить буфер, связанный с набором данных

Свойство VisibleButtons позволяет определить необходимый набор кнопок, убрав те из них, которые не нужны в данном приложении (для этого необходимо изменить true на false).

Чтобы приложения работало с навигатором, необходимо определить его основное свойство  DataSource.

4.2.2 Свойства полей

Каждое поле представляет собой объект, класс которого зависит от типа поля: TStringField, TSmallintField, TBooleanField и т.п. Все эти классы являются производными от TField – базового класса полей. Таким образом, каждое поле является объектом и обладает множеством свойств.

1. Упорядочивание записей.

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

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

2. Выбор полей для отображения на форме.

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

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

3. Параметры отображения полей.

Свойство любого поля DisplayLabel соответствует заголовку столбца данного поля. (Для сравнения Name и Caption).

Свойство Alignment определяет выравнивание отображаемого текста внутри колонки таблицы.

Свойство DisplayWidth определяет ширину колонки – число символов.

Свойства EditMask для строк и EditFormat для чисел определяют форматы отображения данных.

Свойства MinValue и MaxValue устанавливают допустимые пределы вводимых в поле значений.

4. Отображение значений в логических полях.

Для логических полей свойство DisplayValues определяет, какие значения должны отображаться, если поле имеет значение true или false. Отображаемые значения разделяются точкой с запятой. Первым пишется значение, соответствующее true. Например, «да;нет» или «м;ж» или «есть;нет» и т.д.

4.2.3 Фильтрация данных

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

4.2.4 Словари атрибутов полей

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

Создать новый словарь можно при помощи страницы Dictionary программы SQL Explorer, вызываемой опцией главного меню Database/Explorer.

  1.   Компоненты визуализации и управления данными

4.3.1 Свойства компонента DBGrid

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

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

а) FieldName определяет поле таблицы, данные из которого будут размещены в выбранном столбце;

б) ButtonStyle определяет стиль ввода данных в поле текущей записи и имеет несколько значений:

cbsAuto

появление при редактировании кнопки, связанной с выпадающим списком допустимых значений

cbsEllipsis

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

cbsNone

обычное редактирование без каких-либо кнопок

в) PickList определяет выпадающий при редактировании список допустимых значений поля;

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

4.3.2 Компоненты страницы Data Control

На странице Data Control имеется ряд компонентов визуализации и управления данными, которые можно использовать в приложениях вместо компонента DBGrid, например:

1) DBText – аналог обычной метки Label, предназначенный для отображения данных некоторого поля без возможности редактирования;

2) DBEdit – аналог обычного окна редактирования Edit, предназначенный для отображения и редактирования данные полей различных типов: строка, число, логическая величина;

3) DBMemo – аналог обычного многострочного редактора Memo, предназначенный для отображения и редактирования данных поля типа Memo, а также данных любых типов.

Установите аналогию между остальными компонентами страницы и уже известными вам компонентами.

Все перечисленные компоненты имеют два основных свойства DataSource – источник данных и DataField – поле, с которым связан компонент. Характерной особенностью всех этих компонентов является отсутствие в окне Инспектора Объектов основных свойств, отображающих содержание каждого компонента (Caption в DBText, Text в DBEdit, Picture в DBImage и т.п.). Все эти свойства имеются у данных компонентов, но они недоступны по время проектирования и доступны только во время выполнения приложения.


 

А также другие работы, которые могут Вас заинтересовать

2620. Введение в курс АП и ИВК 446.5 KB
  Назначение и классификация АП. Современное состояние АП и ИВК. Условия эксплуатации АП и ИВК. Основные понятия и структуры приборного комплекса. Современное состояние и перспективы развития приборных комплексов...
2621. Принципы дифференциальной психологии 53.5 KB
  Принципы дифференциальной психологии Любая область знаний, претендующая на независимый статус, строится на основе некоей системы базовых принципов, определяющих суть данного научного направления. Для дифференциальной психологии наиболее существенным...
2622. Сравнительный анализ российского и зарубежного законодательства (на примере США) 70.96 KB
  История формирования системы банкротства до 1991 г. Закон о банкротстве 1992 года. Основные положения закона. Практика применения и недостатки закона. Общие принципы реорганизации (банкротства) США. Сравнительный анализ российского американского законодательства о банкротстве.
2623. Строительные машины и оборудование 147.39 KB
  Тестовые вопросы по дисциплине «Строительные машины и оборудование» для студентов специальности бакалавриата 050729 – «Строительство» Что называют строительной машиной? А) устройство, которое посредством механических движений преобразует размер...
2624. Анализ горимости лесов в Рыбинском лесничестве Ярославской области 1.61 MB
  Рыбинское лесничество Ярославского управления лесами расположено в северо-западной части Ярославской области на территории четырех административных районов: Рыбинского, Большесельского, Тутаевского и Мышкинского...
2625. Проблема биосоциальной эволюции 381.13 KB
  В монографии рассмотрены методологические проблемы эволюции надындивидуального (социального) поведения. Проведен анализ понятий биосоциальности, социального поведения, социальной системы. Исследуется история формирования и развития идеи биосоциально...
2626. Выбор материала и режима сварки применительно к деталям машин и механизмов 280.5 KB
  Выбор материала деталей баллона. Выбор заготовок для деталей баллона. Разработка технологии сварки кольцевого шва баллона. Выбор рациональных режимов сварки одного из швов баллона, обеспечивающих заданных дополнительных требований...
2627. Иоганн Готлиб Христозом Вольфганг Теофил Сигизмунд Амадей Моцарт 22.7 KB
  Иоганн Готлиб Христозом Вольфганг Теофил Сигизмунд Амадей Моцарт (1756-1791) Книги: А. Эйнштейн, Чичерин, Г.Аберт «Моцарт в четырех томах», Е. Черная «Моцарт и автрийский музыкальный театр».  Жанры творчества Содержание жанров  Взаим...
2628. Биржевая система Японии 30.53 KB
  Биржевая система Японии. Общая характеристика РЦБ Японии, количество бирж в стране, их взаимодействие. В настоящее время Япония обладает одним из самых мощных в мире и динамично развивающихся рынком ценных бумаг. Доля стоимостного оборота ее фондово...