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

 

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

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

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 139 140 141 142 143 144 < 145 > 146 147 148 149 150 151 .. 260 >> Следующая

Метод WriteXmlScbema перегружен и принимает объект Stream, TextWriterXmlWri-to-или имя файла в виде строки. Следующий фрагмент кода создает объект DataSet на.оснрве столбцов таблиц Customers и Orders БД Nortliwind. Кроме toi i .. прежде чем записать схему для объекта DataSet в файл, код создает объект DataRelation. связывающий два объекта DataTable.
Visual Basic .NET
Dim atrCorin, strSQL As String
strConn = "Provider=SQLOLEDB;Data Source=(local)\NetSDK;" 4_ "Initial Catalog=Northwind;Trusted_Connection=Yes; " Dim en As New OleDbConnection(strConn)
strSQL = "SELECT CustomerlD, CompanyName. ContactNaum, Phone " & _
"FROM Customers" Dim daCustomers As New OleDbDataAdapterfstrSQL, on) StrSQL = "SELECT OrderlD, CustomerlD, EmployeelD, OrderDate " & _
ГЛАВА 9 Работа с объектами DataSet со строгим контролем типов 325
"FROM Orders" Dim daOrders As New 01eDbDataAdapter(strSQL, on) Dim ds As New DataSet<) ds.DataSetName = "Chapt«r9" cn.OpenC)
daCustomers.FillSchema(ds, SchemaType.Source, "Customers") daOrders.FillSchema(ds, SchemaType.Sou roe, "Orders") cn.CloseO
ds.Relations.Add("CustomersOrders",
ds.Tables("Customers").Columns("CustomerlD"), ds.TablesC"Orders").Columns("Custome rID"))
ds.WriteXmlSchemaC"C:\Chapter9.XSD")
Visual C# .NET string strConn. strSQL;
StrConn = "Provider=SQLOLEDB; Data Source= (local) WNetSDK; " + "Initial Catalog=Northwlnd;Trusted_Connection=Yes;";
¦.istrSQL = "SELECT CustomerlD, CompanyName, ContactName, Phone " + "FROM Customers";
OleDbDataAdapter daCustomers = new 01eDbDataAdapter(strSQL, strConn) }
StrSQL = "SELECT OrderlD, CustomerlD, EmployeelD, OrderDate 11 + _
"FROM Orders";
OleDbDataAdapter daOrders = new 01eDbDataAdaptar(strSQL, strConn); DataSet ds = new DataSetO; ds.nalaSatName = "Chapters": cn.OpenO;
daCustomers.FillSchama(ds. SchemaType.Source, "Customers"); daOrders.FillSchema(ds, SchemaType,Source, "Orders"); cn. Closed;
ds.Relations.Add("CustomersOrde rs",
ds.Tables["Customers"].Columns["CustomerlD"], ds.Tables["Orde rs"].Columns["CustomerlD"]);
ds.WriteXmlSchema("C:\\Chapter9.XSD");
Примечание В приведенном выше фрагменте кода задействован метод
Schema объекта DataAdatuc-i: Я рекомендую вам как можно реже использовать его в своих приложениях. Этот фрагмент кода генерирует ¦ t|v,ni.' . - • с информацией схемы DataSet, и я считаю его «кодом периода разработ-кн->. а метод FiUS-.. k-'nic как раз и предназначен для таких периодов.
Использование утилиты XML Schema Definition Tool
Утилита XML Schema Definition Tool - это обычный исполнимый файл с именем XSD.exe, хранящийся в папке bin и позволяющий генерировать файлы классов на основе файлов XML-схем (.xsd- или .xdr-файлов). Кроме того, утилита способна генерировать файлы схем на основе библиотек ЩЩ и исполнимых файлов (.ехе).
В показанном выше фрагменте кода мы сохраняли схему объекта IkdaSei в файл. Теперь с помощью утилиты XML Schema Definition Tool мы сгенерируем на
326
Часть III Автономная работа с данными: объект DataSet модели ADO.NET
основе этого файла схемы файл класса. Откройте окно сеанса MS-DOS и наберите в окне командной строки следующее:
Visual Basic NET
C\>XSrj Chapters. X3D /d /1:VB
Visual C# .NET
C:\>XSD Chapters.XSD /0
Примечание Чтобы открыть окно командной строки, раскройте меню Sim Programs\Accessories и выберите Command Prompt. Есть и другой способ — раскрыть меню Start, выбрать Run и затем ввести cmd.exe.
Примечание Можно указать полный путь к файлу XSD.exe или добавить путь к папке bin комплекта средств разработчика .NET Framework в состав переменной среды Path. Кроме того, необходимо указать путь к файлу Х.МТ- схемы.
Первый параметр — это путь к файлу XML-схемы. Второй параметр указывает, что класс, который требуется создать, происходит от класса DataSet. В примере для Visual Basic .NET используется третий параметр, определяющий язык файла иы«ода. По умолчанию утилита гегсртруст файлы классов Visual С* Л*Fl'.
У утилиты XML Schema Definition tool есть также и другие параметры. Они описаны в документации IME'I Framework SDK; кроме того, их можно ]\\у. рс-.ютр'. i i.. набрав в командной строке XSD /?.
Теперь добавим новый файл класса в проект и создадим экземпляр вашего нового класса DataSet со строгим контролем типов:
Visual Basic NET
Dim As New Chapter9()
Visual C# NET
Chapters ils = new Chapter9();
Примечание Имя вашего класса зависит от свойства Оа1а$е11\гате объекта ВаіаЗеї. использованного при создании жё-файла. Во фрагменте кода, сгенерировавшем наш . ф.пы. значение свойства ВаїсіБеїНате — Оюр-оно и станет именем нашего нового класса DataSet со строгим контролем типов,
Простой способ
По сравнению с ііре.'шдущнм способом создать класс DataSet со строгим контролем типов в Visual Studio гораздо проще. Вам не придется писать какой-либо код и, что самое главное, вводить команды в окне сеанса MS-DOS.
ГЛАВА 9 Работа с объектами DataSet со строгим контролем типов
327
Чтобы убедиться в этом, создадим класс, аналогичный созданному ранее. Новый класс DataSet, как и предыдущий, включает в себя два объекта DataTablen объект Data-Relation,
Предыдущая << 1 .. 139 140 141 142 143 144 < 145 > 146 147 148 149 150 151 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100