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

 

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

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

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

Visual Basic
Dim ds As New Chapter9()
Dim tblDetails As Chapter9.0rder_DetailsDataTable т ds.Order_Details
Dim rowDetail As Chapters,Order_DetailsRow
irowDetail = tblDetails. FindByOrderIDProductID(10245, 7)
If rowCustomer Is Nothing Then
Console.WriteLinef'Row not found!")
Else
Console.WriteLineC'Found " & rowDetail.OrderlD rowDetail.ProductID)
End If
Visual C# .NET
Chapter9 ds = new Chapter9();
Chapter9.0rder_DetailsDataTable tblDetails = ds.Order_Details; Chapter9.Order JletailsRow rowDetail;
rowDetail - tblDetails.FindByOrderIDProductID(10245, 7);
tf (rowDetail == null)
Console.WriteLine("Row not found!");
else
Console. Writei.ine( "Found " + rowDetail. OrderlD, ToSt ring() + + rowDetail . ProdbCtlD.ToSt:rino());
Редактирование записи
Редактирование записи объекта DataSet со строгим контролем типов аналогично редактированию записи обычного объекта DataSet. Вы точно так же можете применить методы Зщ">ЕаР. Er'dtilu и Кроме того, вы сможете обращаться к значениям полей объекта DataRow, используя свойства объекта DataRow со строгим контролем типов:
ГЛАВА 9 Работа с объектам* DataSet со строгим контролем типов
333
Visual Basic .NET
Dim ds As New Chapter9() OleDbDataAdapten. Fill(ds)
Dim rowCustomer As Chapter9.CustomersRo* = 'is.Custoitsrs(O) rowCustomer.CompanyName = "Modified"
'Вместо
rowCustomsr("Compar,yName") = "Modified"
Visual C# .NET
Chapter9 ds = new Chapter9(); OleDbDataAdapten. Flll(ds);
Chapters.CustomsrsRow rowCustomer = ds Customers[0]: rowCustomer.CompanyName = "Modified";
//Вместо
rowCustomer["CompanyNanie"] = "Nodi fisd"; Работа со значениями NULL
На этапе тестирования бета-версии Visual Studio M"i в нескольких группах новостей интенсивно обсуждались значения NULL. Многие разработчики не понимали, как изменить значение поля на NULL или как определить, содержит поле такое значение. Как вы помните из главы 6, функция /л\гг///объекта DataRow позволяет проверить наличие значения NULL, а метод — задать полю такое значение.
Объекты DfU'Mii со строгим контролем типов также упрощают работу со значениями NULL. Каждый объект DataRow со строгим контролем типов предоставляет два метода: один из них проверяет, содержит ли поле значение NULL, другой позволяет задать полю такое значение. В следующем фрагменте кода используется поле и поэтому соответствующие методы названы и
Visual Basic .NET
Dim ds As New Chapt.er9{) OleDbDataAdapten. Fill(ds)
Dim rowCustomer As Chapters.CustomersRow = ds.Customers(O) "Проверяем, содержит ли поле ContactName значение Null If rowCustomer.IsContactNameNullO Then
Console.WritelineC"Contact name is Null")
Else
Consols.Wrltel.ine{' Corvtect name: & rowCustomer.ContactName) End If
•Задзе» полю ContactName значение Null rowCustomer. SetContactNameNullQ
of
334 Часть III Автономная работа с данными: объект DataSet модели ADO.NET
//Задаем полю ContactName значение Null ¦rowCustomer. SetContactNameNullO;
//Вместо
if (rowCustomer. IsNull{•'ContactName")) //и
rowCustonier["ContactNam8"] = Convert. DBNul I;
Работа сиерархичными данными
Объект DataRow предоставляет метода для перемещения по иерархичным данным - GetChildRowsm GetParentRow. Они принимают либо имя объекта Data-Relation.. на который вы хотите сослаться, либо сам объект. Если ваш объект DataSet со строгим контролем типов содержит объекты DciiriRelaHojis. утилита XML Schema Definition Tool добавит метода, позволяющие перемещаться по иерархичным данным без указания объекта DataRelation или его имени. В наш объект DataSet мы добавили объект DataRelation, связывающий объекты DataTable Customers и Orders. После того как мы сохранили изменения .xsd-файла объекта DataSet, утилита XML Schema Definition Tool добавила в класс DataRow объекта DataTable Customers метод GetOrdersRows, а в класс DataRow объекта DataTable Orders - метод GetCusto-mersRows
Следующий фрагмент кода с помощью метода GetOrdersRows выводит список всех клиентов и размещенных ими заказов.
Visual Basic .NET
Dim ds As New Chapter9{) OleDbDataAdaptert.Fill(ds) 01eDbDataAdapter2.Fill(ds) Dim rowCustomer As Chapters. CustoiwtrsRdw Dim rowOrder As Chapter9.OrdersRow Dor Each rowCustomer In ds.Customers
Console.WriteLlnet"Orders for " & rowCustomer.CompanyName)
If rowCusl omer. IsNuJlCConiactName") Then 'And
rowCustomerC'ContactNama") = Convert.DSNull
Visual C# NET
Chapter9 ds = new Chapter9(); OleDbDataAdapterl.Fill(ds);
Chapter9.CustomersRow rowCustomer = ds.Customers[0]; //Проверяем, содержит ли поле ConlactNaae значение Null if (rowCustomer.isContactNameNullO) then
Console.WriteLine("Contact name is Null");
else
Console.WriteLine{"Contact name: + rowCustomer.ContactName);
ГЛАВА 9 Работа с объектами DataSet со строгим контролем типов
335
For Each rowOrder In x, ¦...:<:<¦¦-.' >) Console.WriteLine(vbTab & rowOrder.OrderlD & _ " - " & rowOrder.OrderDate)
Next rowOrder Next rowCustomer
'Вместо
Dim rowCustomer, rowOrder As OataRow
For Each rowCustomer In ds.Tables(,,Customers,,).fiows
Предыдущая << 1 .. 142 143 144 145 146 147 < 148 > 149 150 151 152 153 154 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100