Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Вебмастеру -> Сеппа Д. -> "Microsoft ADO.NET" -> 29

Microsoft ADO.NET - Сеппа Д.

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 23 24 25 26 27 28 < 29 > 30 31 32 33 34 35 .. 260 >> Следующая

«"СІИРМГ? МЧітоК VbuJl Holle НИ Iduilnn] mil willi rt.
% . d**4nnl-vb|
t'Jljlli: T3^o*4. »iet 4Эа u с ce (ByVal CbejigedPcna '~>.п;т.~ С l . Г и я г.імно с г етнЮг d е г Э ;
tl г
Jit* ломе* гг.ї" « ?«! ОЗЛЛТ'Д 17 tJstJie .-frk'Sifltf 1-ЧМЙГ.Э4-
не. ИєМїссіігієєї і uni. : t— и І ¦
«ЧГШЦЇ ТС т:рйцтТ fctM Jet* «tiiffU*,
і' I' " -і.'-, -lil'1" ' г ~ . . ; \~ - . ; -іГі J ¦ :І : 1 0»е1їЬЕ»Г»1й»г:еі2 . Update ґ1' b*igrdLP-i м З Гіпі tr
Cat eil Bpttetei*e*.ptl3n It iiilrt.i^iption
тім Ut
¦.Из* it* соли*ізі vh*ipe.r ил: eu» я.чияі.'Еірл mr/ •;Lixeniu Це. ОієИзсопеєсї Lciil. : іззї I !
Inu 3ufc
FtfcUc Sst FiliOnCiBit dn:*5»c Кж -і:.*- cm ;. : іи t ом t s АгійОг їй t: a \
Tut. Ciit Gftnitraiiit с.-лсяіпд ottre.?» т ne .;і-т--е- із І і 1 і;г .
.....................,......і „ „ '
?> І'"' ^ "
.--2 ! В 1і
Hfirhl.ej ІЛУвС
1 inra
SHI
Рис. 2 І 8. Процедура UpdateDataSource, сгенерированная мастером Data Form Wizard
Вызываем метод Update объекта DataAdapter
Вместо того чтобы обсуждать эти методы по порядку их появления в коде, прежде я расскажу о методе Update — наиболее важном элементе процесса обновления,
Как говорилось в главе 1. объект DataAdapter - это мост между объектом DataSet и БД, Метод Update объекта DataAdapter передает изменения из объекта DataSet в базу данных. Каждый объект DataAdapter соответствует одному объекту DataTable из состава нашего объекта DataSet. Чтобы передать изменения из обоих объектов DataTable, следует вызвать метод Update обоих объектов DataAdapter.
При вызове метода Update объект DataAdapter необходимо указать какие дан -ные нужно передать в БД Объект очень и его метод может
принимать множество различных структур. Код, сгенерированный мастером Data
ГЛАВА 2 Создание ADO.Nrr-приложений с помощью мастера DaiaFoiV-i Wizard
35
Form Wizard, использует объект п-ип'чг однако методу Uii4a!' можно также передать объект DataTable или массив объектов DalaRnw.
Объект DataAd,-Цйе> просматривает содержимое структуры данных и определяет, какие записи он способен обработать. Например, DataAdapter, созданный мастером Data Form Wizard на основе таблицы Customers, будет просматривать только соответствующий этой таблице объект DataTable. Объект DataAdatperвыбирает нужную таблицу для просмотра, используя набор о котором вкратце я рассказал в главе 1.
Обнаружив измененную : и J и к:и. DataAdapter определяет тип изменения — зсгз faau обновление или удаление — и передает его в БД, основываясь на его типе. Если запись изменена, объект DataAdapter выполняет объект Command, заданный свойству UpdateCommand.1'очно так же DataAdapter использует свойство InsertCommandдля передачи новых и — для удаления имеющихся записей.
Изоляция измененных записей
Код функции lprt<in--R,4rSomv формы вис.ьш-.ст метод bc/CJkj/t^s объекта DataSet, Этот метод генерирует новый объект DataSet с именем objDataSetCbangeS, со icp-жащий только измененные записи. Метод GetCbanges принимает необязательный позволяющий указать, нужны ли вам изменения или только какой-то конкретный их тип - яегаака, обновление или удаление.
На самом деле мастеру Data Form Wizard не требовалось создавать с помощью метода GetCbanges новый объект DataSet, содержащий только измененные записи. Если объект DataSet, переданный в качестве параметра при вызове метода Update объекта записи, те игнорируются. Так зачем
же нужен метод GetCbanges?
Мастер Data Form Wizard генерирует двухуровневые приложения. Клиентское приложение взаимодействует непосредственно с БД. При создании многоуровневого приложения, xtncr.^-fvi^to Web-сервисы или компоненты СОМ+ и выполняющегося на сервере промежуточного уровня, следует ограничить объем данных, передаваемых между данных передается, тем быстрее выполняется приложение.
Если в таком многоуровневом приложении у клиента есть объект DataSel с неизмененными записями для передачи в ?1Д. клиент передает данные на промежуточный уровень. Передавать на этот же уровень неизмененные записи не требуется. Таким образом, умелое использование метода позволяет значительно повысить производительность многоуровневых
Мастер Data Form Wizard создает двухуровневые приложения, однако генерируемый им код годится и для многоуровневых.
Реинтеграция изменений
Просмотрев измененную запись и успешно передач ожидающее изменение в БД. объект DataSet помечает эту запись как не содержащую ожидающих изменений. Таким образом, исключается многократная одного и того же
при повторных вызовах метода Update.
36
Часть I Основы работы с Microsoft ADO NET
Ранее я рассказал о методе GelCbакласса DataSс'.. Код формы использует объект DataSet, возвращенный методом GetCbanges, при вызове метода Update объекта DataAdapter.
После внесения обновлений объект DataSet помечает соответствующие записи объекта objDataSetChanges как успешно обновившие БД. Тем не менее объект objDataSetChanges стоит отдельно от основного объекта DataSet формы. Нам нужно как-то объединить изменения, сделанные объектами DataAdaptem объекте objDataSetChanges, и внести их в основной объект DataSet.
Предыдущая << 1 .. 23 24 25 26 27 28 < 29 > 30 31 32 33 34 35 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100