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

 

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

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

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 234 235 236 237 238 239 < 240 > 241 242 243 244 245 246 .. 260 >> Следующая

записи. К счастью, есть более простой способ.
Создайте объект DataView и инициализируйте его, заполнив содержимым родительского объекта DataTable. Затем найдите в объекте DataView нужную родительскую запись и с помощью метода создайте объект содержащий только дочерние записи.
558
Часть IV Создание эффективных приложений с использованием aoo.net
Visual Basic .NET
Dim dsCustomersOrders As New DataSeii)
Dim vueCustomers, vueOrders As DataView
vueCustomers = New Dataview{dsCustomersOrders.Table5("Customers")) vueCustomers.Sort = "CustomerlD"
Dim intCustomerlndex As Integer = vueCustomers.FindC'ALFKI")
If intCustomerlndex >= 0 Then
'Located the desired parent row
Dim drvCustomer As DataRowView = vueCustomers(intCustomerlndex) vueOrders = drvCustomer.CreateChildView("CustomersOrders")
gridOrders.DataSource = vueOrders gridOrders.DataBind()
Else
' Невозможнг найти нужную водительскую запись End If
Visual C# NET
DataSet dsCustomersOrders = new Ual:aSei:(); DataView vueCustomers, vueOrders;
vueCustomers = new OataView(dsCustoinersOrders.Tables["Customer3"]);
vueCustomers. Sort = "CustomerlD";
int intCustomerlndex = vueCustomers. FindC'ALFKI");
if (intCustomerlndex >= 0)
{
//Located the desired parent row
DataRowView drvCustomer = vueCustoi»ers[intCustomerIndexJ; vueOrders = drvCustomer.CreateChildViewC'CustomersOrders"); gridOrders.DataSource = vueOrders; gridOrders. DataBirtdO:
)
else
{
//Невозможно найти нужную родительскую запись
3
ПРИЛОЖЕНИЯ
1, А ! 1 ,' v J ;
.. 1 .1 I !. I ¦ >—4—I 1 A
ПРИЛОЖЕНИ Е
А
Прочие поставщики данных .NET
3,чсС1. подробно обсуждается работа с поставщиками данных отличающи-
мися от поставщика OLE DB .NET Data Provider. В большинстве показанных ранее фрагментов кода, а также в книге в целом я взаимодействовал с БД при помощи поставщика OLE DB .NET Data Provider. Конечно, существуют и другие поставщики данных .NET Первая версия Microsoft. NET Framework включала поставщик SQL Client .NET Data Provider. Вскоре после этого Microsoft выпустила поставщик ODBC .NET Data Provider. Когда я работал над этой книгой, специалисты Microsoft разрабатывали поставщик данных Oracle Client .NET Data Provider.
Сейчас мы поговорим о том, как использовать эти поставщики данных .М:Т и чем они отличаются от поставщика OLE DB Data Provider.
Поставщик данных SQL Client Data Provider
Назначение поставщика SQL Client ,NET Data Provider — обеспечить максимально быстрый доступ к БД Microsoft SQL Server и Microsoft Desktop Engine (MSDE).
Именованные параметры и маркеры параметров
В отличие драйверов OLE DB и ODBC, использующих маркер параметров ?, поставщик SQL Client Data Provider поддерживает именованные параметры. Чтобы создать для поставщика SQL Client .NET Data Provider параметризованный запрос, возвращающий заказы конкретного нужно использовать такой синтаксис:
SELECT QrderlD. CustoiisrlD, EiiiployeelD. OrderD ate FROM Orders WHERE CustomeriD = ©CustomerlD
Приложение А Прочие поставщики данных 561
Поставщик OLE DB .NET Data Provider использует позиционные маркеры параметров и для него приведенный выше запрос будет выглядеть так:
SELECT OrderlD, Gusto Tie ПО, Enipio/eell), (JrderD ate FROM Orders WHERE CustomerlD = ?
Чем вызвана разница в синтаксисе? В целях помощи разработчикам, имеющим опыт работы предыдущими технологиями доступа к данным (OLE DB и ODBC), в поставщике OLE DB .МП Data Provider предусмотрена поддержка универсальных маркеров параметров, использовавшиеся в этих технологиях для создания запросов. OLE DB и ODBC разрабатывались как универсальные технологии доступа к данным. Их целью было создать независимый от СУБД код и заставить базовые компоненты преобразовывать стандартный синтаксис в код, специфичный для БД.
Так почему же поставщик SQL Client .МП' Data Provider применяет именованные параметры? Потому что того требует SQL Server. Выполнить в SQL Server параметризованный запрос, включающий маркеры параметров I нельзя.
Когда вы обращаетесь к БД SQL Server через поставщик OLE DB .NET Data Provider с использованием параметризованного поставщик SQL Server OLE DB
Provider анализирует запрос и заменяет маркеры параметров именованными параметрами. Поставщик SQL Server OLE DB Provider поддерживает универсальный стандарт и преобразует запрос в формат, приемлемый для SQL Server. Назначение поставщика SQL Client МП Data Provider — максимально точно сопоставить
свои функции аналогичным функциям SQL Server и обеспечить наибольшую производительность при работе с БД SQL Server. Таким образом, SQL Client .NETData Provider не анализирует ваши запросы для преобразования маркеров параметров в именованные параметры.
Специфичные для СУБД поставщики данных .NET рассчитаны на обеспечение максимальной производительности при работе с соответствующими БД. Как следствие, для достижения высокой производительности приходится частично жертвовать независимостью от платформы.
Подключение к БД SQL Server с помощью объекта SqIConnection
Для подключения к БД поставщик SQL Client .NET Data Provider использует объект SqIConnection. Этот объект позволяет подключаться к БД SQL Server и MSDE. Задать свойство ConnectionString объекта SqIConnection можно явно или при помощи конструктора. Затем следует вызвать метод S<jH'.<>,imxti4>tX>pi-!t:
Предыдущая << 1 .. 234 235 236 237 238 239 < 240 > 241 242 243 244 245 246 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100