КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Источник данных. Набор данных Query представлен в Delphi компонентом Query
Набор данных Query Набор данных Query представлен в Delphi компонентом Query. Особенностью компонента Query является то, что его записи формируются после выполнения SQL-запроса. В отличие от набора данных Table, компонент Query может содержать записи сразу нескольких таблиц. Данный компонент удобно использовать при работе с удаленными базами данных. Многие свойства компонента Query несут ту же нагрузку, что и соответствующие свойства компонента Table. В таблице 3.5 мы приведем лишь те из них, которые являются специфичными для компонента Query. Таблица 3.5. Некоторые свойства компонента Query
Источник данных (data source) представляет собой промежуточный элемент, который применяется для связи набора данных с визуальными компонентами. Получается как бы цепочка: «набор данных — источник данных — визуальный компонент». Для этой цели в Delphi служит компонент DataSource. Указанный компонент имеет пять основных свойств, которые отображаются в окне инспектора объектов. Эти свойства и их краткое описание представлены в табл. 3.6. Таблица 3.6. Свойства компонента DataSource
ВНИМАНИЕ. Вне зависимости от значения свойства AutoEdit есть возможность программно изменять данные в наборе данных. Кроме того, независимо от значения этого свойства пользователь может перевести набор данных в режим модификации с помощью нажатия кнопок визуального компонента DBNavigator. Таким образом, значение свойства AutoEdit влияет лишь на попытку изменения данных пользователем. При изменении данных в наборе данных происходит генерация события OnDataChange, которое имеет тип TDataChangeEvent. Этот тип описан в Delphi следующим образом: type TDataChangeEvent = procedure (Sender: TObject; Field: TField) of object; Параметр Field определяет, значение какого поля было изменено. Если данные были обновлены в нескольких полях, то параметр будет содержать пустое значение (nil). ВНИМАНИЕ. Событие OnDataChange может произойти также и в случае, когда происходит переход на другую запись набора данных. Оно возникает, если значение текущего поля старой записи отличается от значения того же самого поля новой записи. Кроме того, это событие имеет место при первоначальном открытии набора данных. Кроме события OnDataChange, при изменении значений полей текущей записи возникает событие OnUpdateData, которое имеет тип TNotifyEvent. Такое событие происходит перед записью данных в базу данных. Таким образом, его можно использовать, например, для подтверждения внесенных изменений или отказа от них. Связь между набором данных и источником данных обычно устанавливается на этапе проектирования приложения с помощью инспектора объектов. Delphi допускает установку или разрыв этой связи и в процессе выполнения приложения. При установлении новой связи визуальные компоненты автоматически подключатся к новому набору данных и будут отображать его значения. Приведем пример установки и разрыва связи (листинг 3.1). Листинг 3.1. Установка и разрыв связи с наборами данных DataSource1.DataSet:= Table1; // установка связи с набором // данных Table1 DataSource1.DataSet:= nil; // присвоение пустого // значения свойству DataSet // разрывает связь с набором // данных DataSource1.DataSet:= Query1; // установка связи с набором // данных Query1В листинге 3.1 можно было опустить строку, в которой происходит присваивание пустого значения. Переключение между наборами данных можно осуществлять без предварительного разрыва связи со старым набором данных.
Дата добавления: 2014-01-15; Просмотров: 488; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |