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

 

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

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

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 143 144 145 146 147 148 < 149 > 150 151 152 153 154 155 .. 260 >> Следующая

Console.WriteLine("Orders for " & rowCustomer("CornpanyName")) For Each rowOrder In rowCustomer.GetChildRowsCCustomersOrders")
Visual C# .NET
Chapters ds = new Chapter9(); OleDbDataAdapteM. Fill(ds); OleDbDataAdaptera.Fiil(ds); CustomersDataTable tblCustomers = ds. Customers; CustomersRow rowCustomer = tblCustoraers[0]; foreach (ChaptersCustomersRow rowOrder In ds.Tables["Customers"].Rows)
{
Console.WriteLine("Orders for " + rowCustomer,CorapanyMame); foreach (ChaptersOrdersRow rowOrder
in rowCustomer. GetOrdersRowsO) Console. WriteLine("\t" + rowOrder. OrderlD. ToStrtngO + _ - + rowOrder. Order Date. ToStnng());
}
//Вместо
foreach (DataRow rowCustomer in rls.Tablas[ "Customers"]. Rows) !
Console.'rtritel.insC'Orders for + rowCostonier["Co»panyName"]); foreach (DataRow rowOrder in
rowCustomer.GetChildHows("CustomsrsOrders"))
I
Прочие возможности объектов DataSet, DataTable и DataRow
Классы со строгим контролем типов, генерируемые утилитой XML Schema Definition Tool, происходят от классов DataSet. DataTable и DataRow. Следовательно, с ними можно p.io, .! 11 как с обычными классами без контроля типов.
Так, у классов DataSet со строгим контролем типов нет собственных методов для чтения/записи XML-данных п информации схемы. Но поскольку эти классы происходят от класса DataSet, они все равно предоставляют методы AVr.v/Vj. > и \Vrite\w Однако во всех других случаях, например при получении данных или передаче изменений с помощью объекта DataAdapter. объект DataSet со строгим контролем типов аналогичен обычному одноименному объекту.
336 Часть III Автономная работа с данными: объект DataSet модели ADO.NET
Когда стоит использовать объекты DataSet со строгим контролем типов
Все разработчики, с которыми я общался в Microsoft и других компаниях, отмечают, насколько сильно объекты DataSet со строгим контролем типов упростили процесс разработки. Тем не менее многие из них весьма ограниченно используют такие объекты DataSet в приложениях.
Они не видели код, генерируемый утилитой XML Schema Definition Tool, и не сравнивали производительность объектов DataSet со строгим контролем типов и без него. И знаете что? Я сам был настроен скептически, пока не начал работать над этой главой (о том, что я открыл для себя - чуть позже).
Программные компоненты и швейцарские армейские ножи
Лет десять или двадцать назад я был бойскаутом. По неписаному правилу, каждый бойскаут брал с собой в походы швейцарский армейский нож. Такие ножи очень удобны — и консервы открыть на привале, и палочки обстругать вечером, у костра.
Разные модели ножей различаются по в одних лезвий
больше, в других меньше. К счастью, по крайней мере у одного мальчишки из нашего отряда с собой всегда был нож с пинцетом — ведь если совместить мальчишек и дерево, занозы неизбежны. В какой-то момент и мне подарили нож более чем с двумя десятками лезвий. В нем было все, кроме валика для мойки ветрового стекла машины. Постоянно я пользовался двумя или тремя лезвиями, остальными же — очень редко, так как они были мне не нужны или плохо работали.
Еще одно неписанное правило гласит: дети теряют маленькие предметы, и вероятность потери пропорциональна стоимости предмета. Это правило в полной мере распространялось и на нас. К концу похода по крайней мере один отважный бойскаут обнаруживал, что лишился ножа. Потеряв в очередном походе
свой супернавороченный нож, я купил удобный, но более простой. Он хранится у меня и сейчас. Не могу сказать, что часто им пользуюсь, однако открывалка и штопор сейчас мне требуются чаще, чем в 12 лет,
Почему же я не приобрел на еще один нож с кучей лезвий? Все очень просто.
Он стоил дороже и больше весил. Однако я не купил и самую простую модель. так как иногда мне нужны дополнительные инструменты. А вот средний по цене и функциональности нож, в котором были только необходимые мне лезвия, мне пришелся по душе.
Все сказанное верно и для программных компонентов. Простые компоненты
обычно работают быстрее, чем предоставляющие множество функций.
Определенно, функциональность объектов DataSet со строгим контролем типов шире функциональности обычных объектов DataSet. Однако, как и в случае со швейцарскими армейскими ножами, дополнительные функции нужны далеко
не всегда. Если вы не пользуетесь всеми дополнительными лезвиями, возьмите простую модель.
Преимущества периода разработки
Как уже говорилось, самое очевидное преимущество периода разработки объектов DataSet со строгим контролем типов — то, что благодаря технологии и автодополнению операторов в Visual Studio .NM Г писать код для доступа к со-
ГЛАВА 9 Работа с объектами DataSet со строгим контролем типов 337
дфжимо/иу объекта DataSet со строгим контролем типов гораздо проще, чем аналогичный код для обычного объекта DataSet.
Кроме того, приходится писать меньше кода, поскольку код инициализации класса DataSet со строгим контролем типов включает код для создания схемы и необходимых объектов DataTable, DataColumn, DataRelation и Constraint. В объект DataSet без контроля типов добавить информацию схемы можно тремя способами: написать нужный код самостоятельно, загрузить схему из .xsd-файла с помощью метода объекта DataSet или воспользоваться методом FfflSc.be-та объекта DataAdapter. Наименее трудоемкий из этих трех способов - тот, что подразумевает применение метода t'illSehenu, (поскольку для использования метода KcudXntiSi Ьепи требуется создать ,у.нуСл(1яу Однако в гпие 5 я уже рассказывал, почему данный метод не годится для кода.
Предыдущая << 1 .. 143 144 145 146 147 148 < 149 > 150 151 152 153 154 155 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100