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


 

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

15372. Принципы гражданского процессуального права 205 KB
  Данная курсовая работа состоит из: введения, в котором описываются задачи, цели, предмет и объект данного научного исследования; основной части, состоящей из трех глав. Первые две главы раскрывают непосредственно содержание принципов гражданского судопроизводства
15373. Психология мотивации человека 163.5 KB
  Введение Проблема мотивации и мотивов поведения в деятельности – одна из основных в психологии. Вряд ли найдется такая область психологии которая не затрагивала бы мотивационного процесса. В настоящее время мотивация как психическое явление трактуется поразному....
15374. Развитие толерантности в системе образования - как объективная потребность современного общества 225 KB
  Курсовая работа Тема: Развитие толерантности в системе образования как объективная потребность современного общества. Развитие толерантности является объективной потребностью современного общества. В услов
15375. Разработка целевого рынка витаминных препаратов 775 KB
  Целью данной работы является разработка целевого рынка витаминных препаратов для гипотетической фирмы на рынке Санкт-Петербурга. Для этого будет проведено маркетинговое исследование рынка витаминных препаратов
15376. Оценка бюджетной эффективности инновационного проекта 308.5 KB
  Введение Современный бизнес является инновационным. Развитие невозможно без инноваций а инновации в свою очередь – без инвестиций. Для финансирования инновационно-инвестиционных проектов используются разнообразные источники и механизмы в том числе и кредиты. Дл
15377. Роль Сбербанка в экономике страны 203.5 KB
  Введение В современном мире банки не только организуют денежный оборот и кредитные отношения но и выполняют огромное число разнообразных банковских операций необходимых для дальнейшего развития общества. Сберегательный банк это один из универсальных коммерчес
15378. СВОТ-анализ ООО Гермес 249 KB
  Характеристика фирмы Торговое предприятие ООО Гермес осуществляет торговохозяйственную деятельность. По своей организационноправовой форме является обществом с ограниченной ответственностью. Полное фирменное наименование: Общество с ограниченной отв...
15379. Себестоимость продукции животноводства и пути ее снижения 333 KB
  Производство продукции сельского хозяйства связано с использованием производственных ресурсов отрасли трудовых земельных водных материальных в процессе которого они частично или полностью потребляются а их стоимость перенос
15380. Социально-экономическое развитие Забайкальского края 2010-2020 гг 288 KB
  Забайкальский край – один из уникальных регионов Российской Федерации по своему ресурсному потенциалу, выгодной транспортной схеме, интегрированный в мировую систему коммуникаций, исключительно ценными рекреационными ресурсами, емкому и свободному, пока еще, от жесткой конкуренции рынку товаров и услуг.