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

 

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

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

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

Реализация каскадных изменений с помощью объекта ОагаПеШоп
Щелкните кнопку со стрелкой вправо, чтобы перейти к следующему клиенту. В текстовых полях связанной с данными формы отобразится информация о нем. Из-за созданного вами объекта ЖШШШШп (отношение между таблицами) в сет-видны только заказы, размещенные данным конкретным клиентом. Кроме того, это отношение позволяет реализовать на форме и некоторые другие функции.
С помощью кнопок перемещения перейдите к первому клиенту, разместившему заказы. Если вы не изменяли содержимое таблиц БД ^йггитхМ, то для клиента с идентификатором указано несколько заказов. В текстовом
поле СшЮтвгШ наберите ОкцЯ. Ш волнуйтесь: это не повлияет на содержимое БД. Затем перейдите к следующей записи и снова вернитесь к измененной вами записи. Просмотрите содержимое сетки: значение поля СшиотвгЮ для всех заказов - СЬар2. Созданный вами объект ОМаЛеШюп указал объекту Яягя&г каскадИ!) изменять значения поля Сь^отвгШ записи о клиенте на связанные записи о
ГЛАВА 2 Создание АОО.ЫЕТ-гсриложений с помощью мастера DataForm Wizard
33
заказах. Если удалить текущую запись о клиенте объект 1)штакже удалит все
ськ:ш-шь;г: с ней записи о заказах.
Передача изменений в базу данных
Как уже упоминалось, изменения данных объекта DataSet не влияют на содержимое БД. Чтобы убедиться в этом, закройте форму и повторно запустите проект. Загрузите данные и с помощью кнопок перемещения перейдите к ранее н'шснн!'.-шейся вами записи о клиенте. Вы увидите, что значение поля Cusi<.\nierIC — ть:-np'ZMmm AfJFKi Как упоминалось в главе данные объекта DataSet отсоединены от БД. В ADO.NET имеются функции для передачи изменений в БД, но как ими воспользсна гься? Для передачи изменений в БД применяют дополнительную функцию класса Щ$№&фф&ЖЮ2ШТ. Подробнее об этом — далее.
Теперь снова измените запись о клиенте. Перейдите к первому клиенту, щелк-,ч\ и кинику с двойной стрелкой влево. /(облике* в конец названия компании .>>• н\ X. Щелкните кнопку со стрелкой вправо, чтобы перейти к следующей записи, а затем — кнопку со стрелкой влево, чтобы вернуться к измененной записи. Вы увидите, что изменение по-прежнему хранится в объекте DataSet. Если закрыть форму и перезапустить проект, изменение будет утеряно.
Чтобы передать изменение в БД, щелкните кнопку Update. Курсор мыши изменится со стрелки на часы, показывая, что форма выполняет код, передающий сделанное вами изменение в БД. Когда курсор примет вид стрелки, закройте формуй перезапустите проект. Щелкнув кнопку Load, вы увидите новое название компании.
г'tapir г? ttlf-HBuM ViHMlB.t-.:k .Hfl Jdeilj'iiJ Uatn\......../I.
У
ї» 6«
»• ІЗ % ...
-,' f*3T
.1
inject йде * o 0 «
в 'S* 'г» її
Ні
Pufcliu ЗиЛ Update. Вв.3чс О
^tfltt^-e ft t** 4ол*|*л «4 bctd ctvaikS« -.t.« L«v* btftjli t>; -.и* мі
otDuacHS-tCbancr« Ал ChapLeei-CuaiCttpecsAnJOcdere - Ken сhaoсвсї.сиве
~!|иЭр Snv iTlLlftlt edits.
Hr. В J ridizflTrjQtejtt I ^JnjCup-oi»r*Ar,dC-cdec5, "Cii^bpepi") ,|ndC'i?ciict Wit n fee.ВіиАІвдСаас шх: і ob J Соя tonet ¦ AurtOtdtca j "upd-ee p**] . f iu"uii»ti^!ri і", і; 'Mt t*« chttbj« JHVft jn*Jtr to :!n лип itt'-«et.
Bn^Dat.iSffTCtiftrifl^a ¦ i:tvpc 1ойзС^соиссэАпвОсг1-ее.&!';Сп,»|тдео, ;h»ptrc2.ґ'JflсОЯЄrsf СИРО* CJB ^rs if rtp.y .'Kau")« Sm( nvle.
If [Nti: (usJLi»teseeCruin<ie3j l> Яе'.Ыг.ш Thin
1 Trier? «i'r "hrthgfa tnftr c.i be rfaus* ял жг.г'еяр* Ся иряпег c?i"> лимііі
* f. ift 1 Ті ПО Llia ipCfiue ІііГГЬіГЛ ajud Л Я 61 HQ С iL* сМСЬЭЕЬ Clurt 3"/ рІіЛ»ій'.Р,:±.
K> г ;і- її' •."'¦¦'.= ¦ l ¦* t .¦ j О»- ¦• - і* ¦
; ¦ ' - 7 uis. г.і.л j : і ¦ = ; ? .Уїі л- . ¦.¦ J . і; -ґ . . ¦ г ¦
ob3Cuatca«E5AncJCardece. iccept'-'nahfles г і !влеп cUprJote Ав Зуг:лп.Еуг»р' и-:,
irjrf SJJ.TIT ЕГГїС V,Hnl * І I!2 С'.-гтп
T„: ftlpdKCe
End її?
1 1,"іиг ebbata tt e?,fi?l». tr* t*T-;tr*>3 Пдь^Гїт1. fer пер «EWtjl С-ВлС *wv rftve / »puHhfrd і=,ь? tUie 'LiW jfcjef.'e SUt№ End If Snil Sub
її в
Рис. Процедура iJpduwDeiiiSe, сгенерированная
мастером Data Form Wizard
Какой же код выполняет кнопка Update для передачи изменения в БД? Чтобы просмотреть его, закройте формуй вернитесь в среду Visual Studio .NET. Дважды
Часть І Основы работы с
щелкните кнопку Update и просмотрите код события Click. Сгенерированный мастером код создает две процедуры для обновления БД — t {xiatt'lku.iSi и К'рФМ?-DataSource, Событие Click кнопки Update вызывает процедуру UpdateDataSel'которая в свою очередь вызывает 1фонсдуру ьу*/«/«'/)«г«Л'о/.,ге< Определения этих процедур показаны на рис. 2-17 и 2-18.
Код процедур только на первый взгляд кажется сложным, однако на самом деле он прост. Сейчас мы вернемся к основному .прочесеУ и рассмотрим код лишь поверхностно. Подробнее о передаче обновлений в БД — в главах 10 и 11 этой книги. Помните: мастер сгенерировал этот код для обработки любых изменений данных формы. Код обрабатывает изменение, добавление и удаление записей в обеих таблицах. Для управления обновлением данных используются методы Get-Cbanges. Update и Merge,
Предыдущая << 1 .. 22 23 24 25 26 27 < 28 > 29 30 31 32 33 34 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100