Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 255

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 249 250 251 252 253 254 < 255 > 256 257 258 259 260 261 .. 404 >> Следующая


Чтобы воспользоваться методом writexmio, следует просто сконструировать объект DataSee на основе имеющихся данных с помощью такого же кода, который использовался нами В Предыдущих примерах,— использовав объект DataAdapter и метод Fill о для загрузки данных, описав отношения с помощью объектов Data-Reiation и т. д. После этого можно просто вызвать метод writexmio на созданный объект DataSet:

thisDataSet .WriteXmlfnwinddata.xail*);

Метод writexmio допускает осуществление записи d разные места, использованная в данном случае версия метода записывает XML просто в файл. Некоторая внешняя программа, для которой данный XML используется в качестве входных данных, получает возможность считать и обработать этот XML.

Существует также возможность использования метода ReadxMLO, который позволяет считывать содержимое в виде XML и записывать его в объект DataSet.

Практикум: пример использования XML

Ниже приводится программа, в которой происходит создание объекта DataSet с последующим выводом его содержимого; эта программа очень похожа на программы, нспользованные_в предшествующем примере, однако вместо сложных вложенных циклов foreach в ней используется единственное обращение к методу writexmio. Вы должны убедиться в наличии директории c:\tmp, до того как запускать эту программу.

using System;

using System.Data;

using System.Data.SqlClient;

class DataXmlExample

<

public static void Hain()

{ ' SqlConnection thisConnection * new SqlConnection(

i’Data Source=(local>.-Integrated Security^SSPlf * + ¦

'Initial Catalog»northwind');

thisConnection.Open Оt
548

Глава 19

DataSet thisDataSet = new DataSet();

SqlDataAdapter custAdapter “ new SqlDataAdapter[

'SELECT * FROM Customers*, thisConnection)j custAdapter.Fill(thisDataSet, 'Customers');

SqlDataAdapter orderAdapter = new SqlDataAdapter(

•SELECT * FROM [Orders]', thisConnection)j OrderAdapter.Fill(thisDataSet, 'Orders')»

SqlDataAdapter detailAdapter = new SqlDataAdapter(

•SELECT * FROM Order Details', thisConnection); detailAdapter.Fill(thisDataSet, ‘Order Details'}}

‘ I

DataRelation custOrderRel = thisDataSet.Relatione.Add('CustOrders', thisDataSet.Tables[‘Customers'].Columns['CustomeriD'1, thisDataSet.Tables['Orders'].Columns['CustomeriD']); custOrderRel.Heated » true;

DataRelation orderDetailRel =¦ thisDataSet.Relatione.Addt'OrderDetail*, thisDataSet.Tables['Orders'].ColumnsI'OrderlD'], thisDataSet.Tables['Order Details'].Columns['OrderlD']); orderDetailRel.Nested * true; -

thisDataSet.Writalml(8"c:\tmp\nwinddata.xml");

Console.WriteLine(

0*Succeas?ully wrote XML output to file c:\ttnp\nwinddate.jcnl');

. thisConnection.CloseO;

)

)

Как это работает

Информацию о том, что содержимое заказов и сами заказы должны заносится в XML с отступами, свойство Nested объектов DataRelation передает методу WriteXmlO. В файле nwinddata.xral теперь хранятся все данные, находящиеся в таблицах (включая содержимое всех столбцов — поскольку при наполнении объекта DataSet мы воспользовались командой select * from). Это вполне удобочитаемый н легко поддающийся анализу формат. Его можно просмотреть непосредственно в окне Microsoft Internet Explorer, показанном на рисунке слева.

Поддержка SQL в AD0.NET

В этой главе мы изучали основные операции ADO.NET, не имея никакого представления о языке SQL запросов к базам данных. Все команды ADO.NET, которые осуществляют чтение или запись информации в источники данных, транслируются в SQL-команды, непосредственно выполняющие операции с БД.

1ВШ.1—Ji'-'fc ........ ш I - ¦ ,;?=!

*¦“. ~ a la. «г ¦ fszsf., jgk-z_______________________________________, '

• »‘м

* d > > кчТкм>

. III

ИПМ<ДО* ur«4n

i oe *

¦ *¦ 1 v"'',''***

«' Hjb' rtl.ti, tf> *щфАМ

tVfU4tnfirtqt, >rr

if—il Men

«о-*--;;. i444'/i*rs»

Ci-W-XJ ЯЯ, TfrtfTOfet 1 ¦ У>

* .НМРЧ* Ц-ЛУ>Т*Ь p.

vr - , t
Доступ к данным посредством ADO.NET______________________________________________________549

Практическое использование ADO.NET в реальных ситуациях потребует определенных знаний по SQL; для более полного знакомства с SQL следует обратиться к книгам Beginning SQL Programming или Beginning SQL Server 2000 Programming, которые выпущены издательством Wrox Press.

С некоторыми основными понятиями мы познакомимся прямо сейчас.

Использование SQL-команд в объектах DataAdapter

В приведенных ранее примерах мы использовали SQL-команду SELECT, которая возвращала все строки таблицы, например:

SqlDataAdapter thisAdapter = new SqlDataAdapter(

'SBLBCT * FROM Cuatomera', thisConnection) ;

Команда select возвращает все строки и столбцы, имеющиеся в наличии в таблице клиентов, в момент вызова метода Fin о и загружает эту информацию в память программы. Это оказывается вполне подходящим для небольших таблиц, вроде таблицы Customers базы данных Northwind, которая состоит всего лишь из

11 столбцов н менее, чем из 100 строк данных, однако такой подход вряд ли будет нормально работать для больших таблиц, которые используются во многих бизнес-прнложениях и состоят из сотен тысяч нли даже миллионов строк.
Предыдущая << 1 .. 249 250 251 252 253 254 < 255 > 256 257 258 259 260 261 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.