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

 

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

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

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 243 244 245 246 247 248 < 249 > 250 251 252 253 254 255 .. 260 >> Следующая

da.SelectCommard,Parameters.Add("^Customer ID", SqlDbType.KCnsr, 5) Return da End Function
Visual C# NET
IDbDataAdapter daOrders = GerOrdersAdapter(); string strCustomerlD = "ALFKI"; IDbDataParameter param;
param = (IDbDataParameter) daOrders. SelectComm and. Parameters[0]:
param.Value = strCustomerlD;
DataSst ds = new DataSetf);
DataTable tblOrders = ds.Tables.Add("Orders");
daOrders.Fill(ds);
private IDbDataAdapter GetOrdersAdapter() I
string strSQL, strConn;
• istrSQL = "SELECT OrderlD, CustomerlD, EmployeelD, Order Date " +
"FROM Orders WHERE CustomerlD = ^CustomerlD"; ?trConn = "Data Source=(local)\\NetSDK;" +
"Initial Catalog=Narthwlnd;Trusted_Connectlon= Yes;"; SqlOataAdapter da = new SqlDataAdapter(str SQL, strConn); da.TableMappings.Add{"Table", "Orders");
da. SelectCommand. Parameters. AdriC'saCustomer ID", SqlDbType.NChar. 5). return da;
:
^^^^^^^^•|"ни1.л1 функцию (k'H)rih\'?Aift-;/jk'. можно изменить, как показано ниже чтобы она гснсрнроьа.аа и возвращала объект при помощи
интерфейса IDbDataAdapter. Корректировать при этом код, использующий интерфейс IDbDataAdapter, не требуется.
Visual Basic
Private Function GetOrcersAdapterО As IDbData Adapter Dim strSQL, strConn As String
strSQL = "SELECT OrderlD, CustomerlD, EmployeelD, Order Date " & _
"FROM Orders WHERE CustomerlD * :CustomerlD" strConn = "Data Source=HyOracleOatabaseAlias;" 4 _ "user ID=MyUserID;Password=MyPassword;" ¦Dim da As New GracleDataAdapter(strSQL, st rConn) da. TableMappings. Add( "Table", "Orders11)
da. SelectCommand.Parameters.Add(": Customer ID", OracleType.Char. 5) Return da End Function
584 Приложения
Visual C# .NET
private IDbDataAdapter GetOrdersAdapler() {
string strSQL, strConn;
strSQL = "SELECT OrderlD, CustomerlD, EmployealD, Order Date " +
"FROM Orders WHERE CustomerlD = :CustomerlD"; strConn = "Data Source=MyOnicieDatabaseAlias; - +
"User ID=MyUserID;Password=MyPassword;"; OracleDataAdapter da = new OracleDataAdapt er(strSQL, strConn); da.TableHappings.Add("Table", "Orders");
da.SelectCommand,Parameters. Add(": Customer ID", OraoleType.Char, 5); return da;
Выбор подходящего типа данных поставщика NET
Если вы знаете основы объектной модели поставщиков данных .М'.Т. то понимаете, что писать код для того или иного поставщика достаточно просто. Правда, переходя от одного поставщика данных к другому, я иногда забываю правильный формат строки подключения или правила создания ппрлмпризовипиых запросов, но это все мелочи.
Вот один из вопросов по поставщику ODBC .NET Data Provider, наиболее часто задаваемых в открытых группах новостей, посвященных ADO.NET: «Как мне выбрать для параметров подходящий тип данных поставщика?» Обычно разработчикам приходится его решать, когда они создают собственную логику обновления для объектов DaiaAdapter. Скажем, в объекте ирОгиеСоттапОзяшето объекта используется такой запрос:
UPDATE Orders SET CustomerlD = ?, CrJerDafe = ? WHERE OrderlD = ?
Какой тип данных поставщика лучше всего подходит для параметра К счастью, правильный тип данных можно выбрать на основании типа данных, определенного для столбца таблицы. Однако все не столь просто. Если вы обращаетесь к БД SQL Server Northwind при помощи поставщика ODBC .NET Data Provider, свойству OdbcType объекта ШШМШШШгследует задать значение Odbc-TypeI>ateTimeO:m:\Ko при использовании поставщика OLE DB .NETData Provider свойству OleDbType объекта ШёШЬРжШШг нужно задать значение OleDbTypeDB-TimeStamp. Как же бедному разработчику быть?
Самый лучший способ, который я могу предложить, воспользоваться методом GetScbetnaTableDataReader. Если параметр соответствует столбцу БД. создайте запрос, возвращающий данные этого столбца. Затем примените объект Command и выполните запрос с помощью метода L-m'tiitcRvadcг Вызовите метод Ch'tSiiH-wa-ТШеитогового объектаDataReader. Каждая запись объектаDataTable, возвращенного методом соответствует столбцу оригинального запроса. Найдите в этом объекте DataTable запись, соответствующую вашему параметру. Просмотрите содержимое поля РгоШегТурелмипт записи и преобразуйте целое число в значение из соответствующего перечисления.
Приложение А Прочие поставщики данных .NET
585
Следующий фрагмент кода определяет подходящее значение свойства OdbcType и я столбца OrderDatc БД Northwind
Visual Basic .NET
Dim st, Conn, sti'SQL As String
strConn = "Driver={SQL Server};Server=(local)\NetSDK;" &
"Database=Northwlnd;Trusted_Connection=Yes;" Dim As New OdbcConnection(strConn) cn.Open{)
strSQL = "SELECT OrderDate FROM Orders" Dim cffld As New OdbcCommand(strSQL, on)
Dim rdr As OdbcDataReader
rdr = cmd.ExecuteReader(CommandBehavior.Schema Only) Dim tbl As DataTable = rdr.GetSchemaTableO rdr. Close() cn.Close{)
Dim irtOrderDateType As Integer
intOrderDateType = CType(tbl.Rows(0)(MProvider Type"), Integer) Dim odbcOrderDateType As OdbcType
= Od
Console.WriteLine("OrderDate")
Console,WriteLine(vbTab & "ProviderType = " & intOrderDateType), Console.WriteLine(vbTab & "OdbcType = " & OdbcOrderDateType.ToStringQ)
Предыдущая << 1 .. 243 244 245 246 247 248 < 249 > 250 251 252 253 254 255 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100