Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Data-aware компоненты для редактирования значений из БД, принцип их работы.Содержание книги
Поиск на нашем сайте
Принцип работы
TDataLink, является базовым классом для объекта, используемого компонентами для работы с базами данных и осуществляющий функцию связи с набором данных DataSet (TTable или TQuery). DataLink используется DataSet'ом для информирования всех БД-компонентов об изменении записи, о необходимости обновления записи перед помещением ее в базу данных, о том, что DataSet сменила свое состояние на активное или неактивное, и т.д.. И наоборот, DataLink используется БД-компонентами для обновления DataSet, например, его статуса.
DataSet может быть связан с несколькими источниками данных DataSource, каждый DataSource может быть связан с несколькими DataLink, и каждый DataLink может быть связан с единственным БД-компонентом. В большинстве случаев, отдельный компонент использует только один DataLink, тем не менее, имеются компоненты, такие как, например, DBLookupList или DBLookupCombo, использующих два DataLink. В этих элементах управления первый DataLink используется для чтения данных из lookup DataSet, второй DataLink используется для записи этих данных (при их изменении) во второй имеющийся DataSet. Каждый DataSet поддерживает связанный с ним список DataSource и, аналогично этому, каждый DataSource поддерживает список связанных с ним Datalink'ов.
В момент, когда DataSet должен уведомить БД-компоненты о наступлении какого-то события, например, при изменении пользователем какой-либо записи, он рассылает это сообщение всем DataSource, находящимся в его списке. Каждый DataSource затем повторяет этот процесс и рассылает сообщение всем Datalink'ам, находящимся в его списке. Другими словами, связь не зависит от элемента управления, при этом логика программирования должна отслеживать передачу сообщения каждому элементу управления, пользующемуся услугами DataLink и изолировать только те события, на которые элементу необходимо отреагировать. Связывая компонент с набором данных другим способом, мы не получим в свое распоряжение столько управляющих функций, гибкости и мониторинга, сколько даст нам один DataSet, соединенный с помощью DataLink.
Кроме функции обеспечения поддержания коммуникационного канала между DataSet и ДБ-компонентами, DataLink также обеспечивает управление буфером для каждого компонента. Большинство элементов управления, таких как, например, TDBEdit, отображающий только отдельно взятую запись, буферизация не требуется, тем не менее, таким компонентам, как, например, TDBGrid и TDBLookupList, отображающим множество записей, буферизация нужна. Физически DataLink данные не буферизирует, эта функция выполняется DataSet. Всесто этого DataLink поддерживает виртуальный буфер, который, в сущности, небольшое "окно" в физический буфер DataSet. Размер этого виртуального буфера может быть установлен с помощью свойства DataLinks BufferCount, а количество записей, реально в нем хранимых, с помощью свойства RecordCount.
(тут как бы уже в принципе сказано все о чем он говорил на консультации, дальше добавлено то, что еще нашла)
TDataLink и его производные TDataLink TTableDataLink TFieldDataLink TQueryDataLink TNavDataLink TDataSourceLink TListSourceLink TGridDataLink TDBCtrlGridLink
Класс TDataLink играет фундаментальную роль в обеспечении чувствительности к данным для соответствующих компонентов. Класс буквально образует путепровод между чувствительным к данным компонентом и TDataSet, который играет роль источника данных для такого компонента. Ни TDataLink, ни его производные в Палитре компонент Delphi недоступны. Они порождены от TPersistent, а не от TComponent. Прикладные программисты никогда не беспокоятся о TDataLink, но если вы являетесь разработчиком компонентов, то TDataLink играет весьма существенную роль. При реализации чувствительного к данным компонента наиболее типичен следующий сценарий: компонент будет иметь приватную или защищенную переменную, объявленную с типом TDataLink или одним из его производных. Такая переменная инициализируется в конструкторе чувствительного компонента, где создается соответствующий объект TDataLink и присваивается переменной. (Кроме того, полям обработчика событий TDataLink в конструкторе присваиваются соответствующие процедуры обработчиков событий. Естественно, нельзя забывать о разрушении всей конструкции в деструкторе чувствительных к данным компонентов.) Существуют два основных вида связей данных: один представляет всю запись (или множество записей) в базовом TDateSet, а другой — указанное поле в текущей записи базового TDataSet. Первый вид используется для реализации чувствительных компонентов, которые взаимодействуют с целыми записями (подобно TDBGrid), а второй вид — для реализации чувствительных к данным компонентов, представляющих одиночное поле (подобно TDBEdit).
TDataLink Класс TDataLink представляет собой базовый класс для всех связей данных. На рисунке 22-1 показаны генеалогия TDataLink и его потомков. В таблице 22-1 перечислены свойства и методы, которые реализованы TDataLink. РИСУНОК 22-1 Генеалогия TDataLink и их потомки http://www.rsdn.ru/article/delphi/dbaware.xml остальное взято с этого сайта.. выбрала самое основное.. можно на него зайти посмотреть, елси нужно что-то совсем подробно.
|
||||
Последнее изменение этой страницы: 2017-02-21; просмотров: 347; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.88.111 (0.006 с.) |