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 и т.п.). Все эти свойства имеются у данных компонентов, но они недоступны по время проектирования и доступны только во время выполнения приложения.


 

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

6022. Технологія складання оптичних деталей 62.5 KB
  Вивчити зміст роботи та конструкцію приладу для центрування лінз, що склеюються. Розрахувати граничну величину (число m поділів) переміщення центра сітки коліматора за шкалою сітки окуляра для заданого допуска С на децентрування склеєних лінз з урахуванням їх фокусної відстані.
6023. Інсталювання та налагодження сервера операційної системи Windows NT 126.5 KB
  Інсталювання та налагодження сервера операційної системи WindowsNT Мета роботи: Навчитись інсталювати ОС WindowsNTServer 3.51 Під-час інсталяції навчитись виявляти параметри, що пропонуються за замовчуванню і визн...
6024. Операційний контроль форми полірованих поверхонь 308 KB
  Операційний контроль форми полірованих поверхонь Мета роботи: вивчити методи контролю форми плоских поверхонь практично виміряти відступ від площини. Завдання 1. Вивчити інтерференційні методи контролю форми плоских полірован...
6025. Управління обліковими записами користувачів та групами користувачів у Windows NT 98 KB
  Управління обліковими записами користувачів та групами користувачів у WindowsNT. Мета роботи: навчитись створювати та видаляти обліковий запис користувача у Windows NT Server. Навчитись створювати групи користувачів у Windows NT...
6026. Інсталяція сервера Novell Netware 4.x 146 KB
  Інсталяція сервера NovellNetware 4.x Мета роботи: провести процесс інсталяції сервера операційної системи NovellNetware на программі-емуляторі і зрозуміти призначення кожного кроку. Порядок виконання роботи. Запустити файл Install....
6027. Налаштування та принципи функціонування робочої станції Novell NetWare 4.x 84.5 KB
  Налаштування та принципи функціонування робочої станції Novell Net Ware 4.x Мета роботи: Вивчити структуру, налаштування та принципи функціонування робочої станції Novell Netware 4-х Порядок виконання роботи. Ознайомитись з теоре...
6028. Кореляційний аналіз сигналів 289 KB
  Кореляційний аналіз сигналів Метароботи: набути навичок кореляційного аналізу сигналів у середовищі MatLAB. Порядокроботи 1. Сформувати вектор відліків часу тривалістю 1 с для частоти дискретизації 256 Гц. Сформувати сигнал випадкового б...
6029. Створення обєктів Novell Netware 4.x 93.5 KB
  Створювати і змінювати користувальницькі об'єкти й об'єкти ресурсів. Зрозуміти призначення об'єктів-контейнерів у дереві каталогів. Створення шаблонів користувачів в об'єктах-контейнерах. Створювати і змінювати користувальницькі об'єкти й об'єкти ресурсів. Керування повноваженнями доступу..
6030. Робота з файловою системою NetWare 185.5 KB
  Робота з файловою системою NetWare Мета роботи: освоїти роботу з засобами управління файлами і каталогами утиліти Netware Administrator і утиліти текстового режиму FILER, а також інші команди роботи з каталогами і файлами. Файлова система ОС No...