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


 

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

34291. Гомеостаз 15.84 KB
  Иммунитет невосприимчивость организма к инфекциям и инвазиям чужеродных организмов. Иммунитет: специфический носит индивидуальный характер и формируется на протяжении всей жизни человека в результате контакта его иммунной системы с различными микробами и антигенами; специфич. сохраняет память о перенесенной инфекции и препятствует ее повторному возникновению; неспецифический носит видоспецифический характер обеспечивает борьбу с инфекцией на ранних этапах ее развития когда специфический иммунитет еще не сформировался. Также...
34292. Аномалия 16.16 KB
  Пороки развития аномалии развития совокупность отклонений от нормального строения организма возникающих в процессе внутриутробного или реже послеродового развития. По этиологическому признаку пороки делят на: наследственные пороки возникшие в результате мутаций гамет реже зиготы; в зависимости от того на каком уровне произошла мутация делятся на генные и хромосомные; экзогенные пороки обусловленные повреждением тератогенными факторами эмбриона или плода лекарственные препараты вирусы промышленные яды алкоголь табачный...
34293. Оплодотворение 27 KB
  Начало оплодотворения момент слияния мембран сперматозоида и яйцеклетки окончание оплодотворения момент объединения материала мужского и женского пронуклеусов. III стадия проникновение самый активный сперматозоид проникает головкой в яйцеклетку сразу после этого в цитоплазме яйцеклетки образуется оболочка оплодотворения которая препятствует полиспермии. Условия необходимые для оплодотворения: концентрация сперматозоидов в эякуляте не менее 60 млн в 1 мл; проходимость женских половых путей;...
34294. Особенности человека как объекта генетических исследований 778.5 KB
  Вопервых у человека не может быть произведено искусственного направленного скрещивания в интересах исследователя. Наконец изучение генетики человека затрудняется наличием в его геноме большого числа групп сцепления генов 23 у женщин и 24 у мужчин а также высокой степенью фенотипического полиморфизма связанного с влиянием среды. Все перечисленные особенности человека делают невозможным применение для изучения его наследственности и изменчивости классического гибридологического метода генетического анализа с помощью которого были открыты...
34295. Охрана природных экосистем. Формы природоохранной деятельности. Правовые основы охраны природы. Значение охраны природы для здоровья человека 14.43 KB
  Правовые основы охраны природы. Значение охраны природы для здоровья человека. Охрана природных экосистем совокупность мероприятий направленных на поддержание природы планеты в состоянии соответствующем эволюционному уровню биосферы её живого вещества а также человека. Национальный парк Памятник природы Красная книга Правовые основы охраны природы.
34296. Пол и его возникновение 24 KB
  Одновременно и определение пола закономерно переходит от генного у гермафродитов к хромосомному у раздельнополых форм начиная видимо с рыб и геномному у пчел. В ходе онтогенеза определение пола может происходить в момент оплодотворения хромосомные механизмы а также контролироваться внутренними гормоны и или внешними факторами. Определение пола можно представить в виде эстафеты которую хромосомный механизм передает недифференцированным гонадам развивающимся в мужские или женские половые органы. После рождения эстафета переходит к...
34297. Репаративная регенерация, её значение. Способы репаративной регенерации. Типичная и атипичная регенерация. Особенности восстановительных процессов у млекопитающих. Значение регенерации для биологии и медицины 18.51 KB
  Морфаллаксис влечет за собой перегруппировку оставшейся части организма. Нередко связан с дальнейшим значительным разрушением оставшейся части и завершается формированием из этого материала целого организма или органа. Если условия будут меняться то возникает реакция организма. В результате изменений: сохранение постоянства внутренней среды поддержание целостности организма.
34298. Регенерация. Регенерация у животных и человека 43 KB
  В большей степени регенерация присуща растениям и беспозвоночным животным в меньшей позвоночным. Регенерация в медицине полное восстановление утраченных частей. Регенерация у животных и человека образование новых структур взамен удалённых либо погибших в результате повреждения репаратинпая регенерация или утраченных в процессе нормальной жизнедеятельности физиологнческая регенерация; вторичное развитие вызванное утратой развившегося ранее органа.
34299. РЕГЕНЕРА́ЦИЯ 34 KB
  Иногда при регенерации вместо нормального числа пальцев образуется их больше или вместо одного хвоста вырастает два или три. Часто способность к регенерации стоит в связи с защитной способностью отбрасывать органы в момент опасности вследствие сильного сокращения мышц например защемленную лапку придавленный хвост и т. Благодаря физиологической регенерации поддерживается структурный гомеостаз и обеспечивается возможность постоянного выполнения органами их функций. Во многих тканях существуют специальные камбиальные клетки и очаги их...