Поиск связанных данных
Одно из основных применений объекта DataRelation — поиск связанных данных в различных объектах DataTable. Тем не менее непосредственно объект DataRelation не предоставляет такой функциональности — она реализуется методами GetCbiidRotvs, GetParentRoiv и GetParentRows объекта DataRow. Так каким же образом DataRelation участвует в таком поиске? Упомянутые методы принимают в качестве параметра объект DataRelation.
Давайте подробно разберем, что представляют собой эти методы и как их использовать, Метод GetChildRows объекта DataRow Поиск связанных с родительской записью дочерних записей в другом объекте DataTable — очень простая задача. Для этого достаточно вызвать метод GetCbudRows нужного объекта DataRow и передать ему имя объекта DataRelation, определяющего отношение между объектами DataTable. Вместо имени можно также передать сам объект DataRelation. Метод GetChildRows возвращает связанные данные в виде массива объектов DataRoiv. Следующий фрагмент кода вызывает метод GetChildRows и просматривает воз вращаемые им данные; Visual Basic. NET 'Просматриваем записи о клиентах Din rowCustomer, rowOrder As DataRow For Each rowCustomer In ds. Tables("Customers").
Rows Console, WriteLine(rowCustomer("CustomerID") & " - " & rowCustomer("CompanyName")) 'Просматриваем заказы, размешенные этими клиентами For Each rowQrder In rowCustomer. GetChildRowsC'fielationName") Console. WriteLine(vbTab & rowOrder("Order!
D") & " - " * rowOrder("OrderDateNext rowOrder Next rowCustomer Visual C#.NET //Просматриваем записи о клиентах foreach (DataRow rowCustomer in ds, Tables["Customers"].Rows) { Console. WriteLine(rowCustomer["CustomerID"] + " - " + rowCustomer [ "CompanyName" ]); //Просматриваем заказы, размещенные этими клиентами foreach (DataRow rowOrder in rowCustomer. GetChildRowsC'RelationName")) Console. WriteLine("\t" + rowOrder["OrderID"] + " - " + rowO rde r ["OrderDate"] ) ; }
Основы работы с Microsoft ADO.NET
Использование поставщика данных .NET
Метео


