Клиентский набор - данные - Большая Энциклопедия Нефти и Газа, статья, страница 2
Молоко вдвойне смешней, если после огурцов. Законы Мерфи (еще...)

Клиентский набор - данные

Cтраница 2


Если пользователь вносит изменения в базу данных с помощью графического элемента управления, измененные записи сначала перелаются клиентскому набору данных, который передает м компоненту-провайдеру, а тот, в свою очередь перелает их с помошью соответствующих MCI слов однонаправленного набора данных компоненту, осуществляющему связь с базой данных.  [16]

17 Программа МарТаЫе генерирует XML-документ исходя из таблицы базы данных. При. [17]

В главе 16 я уже рассказывал о разработке приложений DataSnap Для того чтобы эту архитектуру можно было использовать совместно с XML, в состав Internet Express входит клиентский компонент под названием XMLBroker, который можно использовать вместо клиентского набора данных. При этом XMLBroker получает данные от приложения DataSnap, работающего в среднем звене, и делает их доступными для модуля генерации страниц специального типа под названием InetX-PageProducer.  [18]

19 Кнопки панели навигатора Кнопка Описание. [19]

Впрочем, сохранение наборов данных на диске может использоваться не только в приложениях, предполагающих воссоединение с сервером баз данных. Так как клиентские наборы данных взаимодействуют с другими элементами приложения одинаково, независимо от того, получают ли они пакеты данных от компонентов-провайдеров или загружают их из локальных файлов, вы можете построить приложение, имеющее архитектуру, подобную архитектуре приложений БД, но работающее исключительно с локальными файлами.  [20]

Основное различие между однонаправленным и клиентским набором данных заключается в том, что клиентский набор данных хранит в памяти массив записей, полученных в результате запроса к серверу баз данных. Компоненты, реализующие клиентские наборы данных, предоставляют произвольный доступ к записям, хранимым в массиве. При этом возможно не только считывание записей из массива, но и их изменение и добавление, поэтому набор и называется двунаправленным.  [21]

Компонент TCIientDataSet реализует клиентский набор данных и может использоваться как в приложениях, работающих с dbExpress, так и в приложениях других типов. Как уже отмечалось, особенность клиентских наборов данных состоит в том, что компоненты, реализующие эти наборы данных, хранят в памяти набор записей. Этот набор может содержать все записи таблицы, с которой работает компонент, либо некоторое подмножество записей. В пределах хранящегося в памяти набора записей возможна быстрая ( и произвольная) навигация.  [22]

Эффект выполнения этого кода можно видеть на рис. 16.5. Альтернативный и более мощный подход к настройке пакета данных, передаваемых клиенту, заключается в использовании события OnGetData компонента провайдера. Обработчик этого события принимает исходящий пакет данных в виде клиентского набора данных. Используя методы этого набора данных, вы можете отредактировать данные перед тем, как они будут переданы на сторону клиента. Например, вы можете закодировать некоторые данные или отфильтровать некоторые ненужные записи.  [23]

Событие OnGetData вызывается при получен и и. Событие onUpdateData вызывается перед отправкой ( измененных) данных от клиентского набора данных первичному источнику данных.  [24]

Обработчики событий, связанных с набором данных и объектами полей, расположенных в среднем звене, разрабатываются традиционным образом. Набор данных среднего звена обрабатывает обновления, принимаемые от клиента, как и обычный клиентский набор данных. Это означает, что обновления рассматриваются, как обычные операции с набором данных, будто пользователь выполняет редактирование, добавление и удаление данных локально.  [25]

Интересно проследить взаимодействия между компонентами пользовательского интерфейса, компонентом-источником данных ( TDataSource) и клиентским набором данных. Компоненты пользовательского интерфейса посредством компонента-источника данных вносят изменения в образ таблицы, хранящийся в клиентском наборе данных. Изменения клиентского набора данных, в свою очередь, влияют на состояние элементов пользовательского интерфейса. Важно понимать, что при выполнении этих операций изменение состояния самой таблицы, хранящейся в базе данных, не происходит.  [26]

Я уже говорил о том, что компонент ConnectionBroker может оказаться полезным в случае, если вы захотите изменить физическое соединение, используемое несколькими компонентами ClientDataSet одной и той же программы. Вы можете подключить все компоненты ClientDataSet к единственному компоненту ConnectionBroker, а затем, чтобы изменить физическое соединение, используемое всеми клиентскими наборами данных, вы можете изменить соединение, используемое брокером.  [27]

Интересно проследить взаимодействия между компонентами пользовательского интерфейса, компонентом-источником данных ( TDataSource) и клиентским набором данных. Компоненты пользовательского интерфейса посредством компонента-источника данных вносят изменения в образ таблицы, хранящийся в клиентском наборе данных. Изменения клиентского набора данных, в свою очередь, влияют на состояние элементов пользовательского интерфейса. Важно понимать, что при выполнении этих операций изменение состояния самой таблицы, хранящейся в базе данных, не происходит.  [28]

Клиентские наборы данных отличаются не только возможностью быстрой навигации по записям таблицы. Важной их особенностью является также возможность сохранять наборы данных в файле на диске. Эта возможность позволяет приложениям, использующим клиентские наборы данных, работать в автономном режиме в случае отсутствия связи с сервером баз данных. При сохранении набора данных в локальном файле запоминается не только набор записей Data, но и набор Delta, что позволяет позднее, при подключении к серверу, внести в базу данных изменения, сделанные при работе в автономном режиме.  [29]

В состав DataSnap входят также несколько дополнительных клиентских компонентов, которые используются в основном для управления соединениями. Это может оказаться полезным, если в рамках вашего приложения используется несколько клиентских наборов данных.  [30]



Страницы:      1    2    3