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

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 269

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 263 264 265 266 267 268 < 269 > 270 271 272 273 274 275 .. 320 >> Следующая

¦.
Считывание текстовых данных из текстового файла в формате XML в объект DataSet производится при помощи метода ReadXmK). Чтобы убедиться в том, что это действительно так, проведем эксперимент. Давайте создадим в прилиже: шп специальную кнопку, при нажатии на которую DataSet вначале будет полностью очищаться, а затем восстанавливаться на основе информации из только что созданного файла в формате Код для этой кнопки может выглядеть так:
protected void LuriReadXMLjZlick (object sender. System.EventArgs e) {
II Очищаем, и удаляем Имеющийся объект DataSet
carsDataSet.ClearO: са rsPa ta Set.Di spose():
MessageBox.ShowC'Just cleared data set,.."); carsDataSet = new DataSetCXarDataSet");
carsDataSet.ReadXml("Cars.xml");
MessageBox.Show("Reconstructed data set from XML file..."); DtnReadXML.Enabled = false:
II Настраиваем привязки к элементам управления DataGrid CarDataGrid.SetDataBiridingtcarsDataSet. "Inventory"); CustomerDataGri d,SetOataBi nding(саrsDataSet, "Customers");
}
Если поглубже исследовать то, что делаютИгИеХт! () и ReadXml С J, то выяснится, что они работают с типами, определенными в сборке System.XmL.dlL (конкретно с классами XmI Wri ter и XmI Reader). Поэтому нам потребуются, во-первых, ссылка на эту сборку, а во-вторых, указание на использование соответствующего пространства имен:
// Указание на использование пространства имен необходимо для вызова методов ReadXmlO // и WriteXmlO using System.Xml;
Окончательный вид нашего приложения представлен на рис. 13.23.
Код приложения CarDataSet можно найти в подкаталоге Chapter 13.
666 Глава 13 • Доступ к данным при помощи .
Write DaSaSsS toXMl
Rebuild DataSet from XML
GsI Chid Relations lor Orders Table
Get Info for ,. CuttlD:
Рис. 13.23. Приложение CarDetaSet: окончательный вид
Лі SQL Survtrtnterprise Manager - [Console Root\Mkrosoft SQL
Console Щпоон Цвір
I
j a**" a»* ioot» |j ф -> I SfE 1 I K Sf 1?! Ф
1 ?p Ivsі в» о аса
Tree
iL
El ijjj BIGMANU (Windows f_^J B-Q Databases B-(p Cars
- nig Diagrams
LSI Tables
-AT Views I Stored Users Roes ¦-ЕЭ Rules f^l DeFaub User DeflZj
U
Tables 21 Items
Inventory Щ Orders Hsysalocatlons HHsyscokimns [fajsyseomrfients lulsysdepends Osysfilegroups [Ulsysfile! [^Jsysfilesl I I
T
I Ownc-
dbo dbo
dbo dbo ЙЙ dbo
dbo
dbo
dbo
Рис. 13.24. База данные на SQL Server
Управляемые провайдері,! 667
После этого запустим скрипт на выполнение. Чтобы убедиться, что база данных Cars со всем содержимым действительно создана, откроем SQL Server Enterprise Manager (рис. 13.24), подключимся к своему серверу, найдем в списке баз данных Cars и откроем контейнер Tab! es. Мы увидим среди служебных таблиц базы данныхтри пользовательские таблицы (Customers, Inventory и Orders) - см. рис. 13.24. Эти таблицы связаны между собой отношениями и в них загружены данные, которые потребуются нам в примерах.
Второй вариант базы данных Cars даже не нужно создавать. Он представлен в виде базыданных Microsoft Access (cars.mdb) и также находится среди файлов примеров этой главы. Структура и пользовательские данные в этой базе данных — точно такие же, как и в базе данных SQL Server, которую мы создали при помощи скрипта. В этой главе мы в основном будем работать с базой данных на SQL Server, однако методы подключения к базе данных Access также будут нами рассмотрены.
Управляемые провайдеры ADO.NET
Можно сказать, что управляемый провайдер (managed provider) в ADO.NET — это аналог провайдера OLE DB в классическом ADO. Другими словами, управляемый провайдер — это шлюз к хранилищу данных (например, на сервере баз данных) , при помощи которого можно произвести загрузку данных из этого внеши его хранилища в объект DataSet.
Как уже говорилось в начале этой главы, вместе с ADO.NET поставляются два
управляемых провайдера.
Первый из них - это провайдер OLE DB, который реализуется при помощи типов, определенных в пространстве имен System.Data.OleDb. Провайдер OleDb позволяет нам обращаться кданным, расположенным в любом хранилище, к которому можно подключиться по протоколу OLE рв. Таким образом, аналогично классическому ADO, вы можете использовать в ADO.NET управляемый провайдер OLE DB для доступа, например, к базам данных SQL Server, MS Access и Oracle. Однако поскольку при этом типы из пространства имен System. Data. Ol eDb должны взаимодействовать с обычным (не .NET) кодом драйверов OLE DB, то при таком обращении будет производиться множество преобразований вызовов .NET в вызовы СОМ, что в некоторых ситуациях может привести к падению производительности.
Другой управляемый провайдер — провайдер SQL — предлагает уже прямой доступ к хранилищам данных, при котором производительность будет максимальной. Однако с его помощью можно обращаться только к базам данных на MS S QL Server 7.0 и последующих версий, и только к ним. Типы, используемые провайдером SQL, содержатся в пространстве имен System.Data,SqlClient. Функциональные возможности обоих управляемых провайдеров практически одинаковы (даже названия типов в System.Data.Ol eDb и System.Data.SqICl ient во многом совпадают). Главное различие между провайдерами заключается в том, что провайдер SQL не использует классические протоколы OLE DB или ADO и за счет этого обеспечивает значительный выигрыш в производительности.
Предыдущая << 1 .. 263 264 265 266 267 268 < 269 > 270 271 272 273 274 275 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100