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

 

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

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

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 166 167 168 169 170 171 < 172 > 173 174 175 176 177 178 .. 260 >> Следующая

Особенности объекта OleDbCommandBuilder
Здесь обсуждается объект СотншшЮиШк; ADO.NET, и я полагаю, что небесполезно рассмотреть свойства и методы объекта OleDbCommandBuilder.
На одной из особенностей объекта CommandBuilder стоит остановиться отдельно. Объекты OleDbCommandBuilder и SqlCommandBuilder не происходят от одного базового класса. Фактически в первом выпуске объектной модели ADO.NET базовый класс отсутствует,
Написание кода, получающего от СУБД необходимые метаданные и преобразующего их н логику обновления, — непростая задача. В противном случае объект CommandBuildei-был бы не нужен, Поскольку код, создающий класс CommandBuilder для поставщика данных весьма тривиален и использование объектов
в период выполнения приводит к падению производительности, появление сторонних данных без класса CommandBuilder меня не удивит,
Свойства объекта OleDbCommandBuilder
В табл. 10-1 перечислены свойства объекта Таблица 10 i. Свойства объекта CommandBuilder
Свойство Тип данных Описание
DataAdapter DataAdapter Возвращает объект DataAdapter. для которого
CommandBuilder генерирует логику обновления
QuoiePrefix String Содержит префикс, используемый объектом
CommandBuilder для имен таблиц и столбцов
QuoteSuffix String Содержит суффикс, используемый объектом
CommandBuilder'для имен таблиц и столбцом
Свойство DаtаAdаpter
Свойство DataAdapter объекта СоттапаЪиМег позволяет просмотреть или изменить объект DataAdapter. сопоставленный с объектом CommandBuilder. Значение этого свойства можно также задать в конструкторе объекта CommandBuilder,
Свойства QuotePrefix и QuoteSuffix
Свойства Оио1еРге/1х и Оио1е.\и/Ц.х содержат символы-разделители, используемые объектом СоттаМВшШег для имен таблиц и столбцов в генерируемых им запросах. Значение этих свойств по умолчанию — пустая строка.
396 Часть III Автономная работа с данными: объект DataSet модели aljo.net
Методы объекта OleDbCommandBuilder
В табл. 10-2 перечислены методы
Таблица 10-2. Методы объекта CommandBuilder
Метод_Описание_
Возвращает сведения о параметрах объекта Cowwid. выливающего хранимую процедуру
GetDeleteCommcmd Возвращает объект Command с логикой для свойства DeleteCommand объекта DataAdapter
GetJmedCommand Возвращает объект Command с логикой для свойства InsertCommand объекта DatMdapter
GetUpdateCommand Возвращает объект Command с логикой для свойства UpdateCommando&beKTa DataAdapter
RefreshSchema Указывает объекту CommandBuilder создать логику обновления
заново
Метод DehveParameiers
Объект CommandBuilder с 11 ос обе 11 не только генерировать логику обновления для объектов DataAdapter но и получать сведения о параметрах хранимых процедур. Следующий фрагмент кода с помощью метода CommandBuMerDeriveParameters получает и выводит сведения о параметрах вызова хранимой процедуры:
Visual Basic .NET
Dim strConn As String
StrConn = "Provider»SQLOLEDB; Data Souroo=(local)\MetSDK; " &
"Initial Catalog=Northwind;Trusted_Connection=Yes;" Dim on As New OleDbConnection(strCorin) Dim cud As New OleDbComxandC"CustOrdersOrders", en) ¦cmd. CommandType = CommandType.StoredProcedure Dim cb As New 01eDbCommandBuilder() cn.0pen()
cb.OeriveParameters(cmd) cn.Close()
Dim param As OleDbParameter
For Each param In end.Parameters
Console.W ri t e L1ne(pa ram.Pa ramete rName)
Consoie.WriteLineCvbTab & param.l)irecticn.ToStripg)
Console.WriteLine(vbTab & param.OleDbType.ToStling)
Console.WriteLineC) Next param
Visual C# .NET
string strConn;
strConn = ¦¦provider=SQtOLEDB;Data Source=(local)\\NetSDK;" +
"Initial Catalog=Northwind;Trusted_Connection=Yes;"; ¦OleDbConnection cn = new OleDbConnection(strConn); OleDbCommand cmd = new 01eDbCommand< "CustOrdersOrders", cn);
ГЛАВА 10 Передача обновлений в базу данных 397
omri . ConmandType = Coiw&ndType. Stor edPi ocedure; OleDbCornmandBuilder cb = new OleDbCoimandBuilderO:
cn.0pen();
cb. DeriveParameters(cind); cn.Close();
foreach {OleDbParaneter parai in сзй Parameters) {
Console. Writ eLine( pa ram. ParameterName); Console.,- Л ' + param. Direction.ToSi-ringf))
+
Console. WritetinaQ;
}
Если вы пытаетесь создать набор Parameters для объекта (bnmuvul, выяыь тощего хранимую процедуру, но не знаете, какие значения задать свойствам Size, Precision и Size, наберите и используйте приведенный выше код в период разработки.
Примечание Для использования метода Derh^Fara:~xe~'e-'-; должен быть доступен объект Connection, определенный для указанного объекта Command.
Методы GetDeleteCommand, GettnsertCommana и GetUpdateCommand
Методы GetDeleteCommand, GetlnsertCommand и GetUpdateCommand позволяют просматривать логику, сгенерированную объектом CommandBuilder.
Кроме того, они полезны в период разработки. Можно в коде небольшого приложения создать объект CommandBuilder и затем с помощью данных методов выводить значение свойства и параметры, сгенерированные объектом
< ччпншшШшМег Затем эту же логику обновления следует использовать в коде, набрав вручную тот же запрос и те же параметры.
Предыдущая << 1 .. 166 167 168 169 170 171 < 172 > 173 174 175 176 177 178 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100