Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET
- Название:Обработка баз данных на Visual Basic®.NET
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс
- Год:2003
- Город:Москва
- ISBN:5-8459-0512-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET краткое содержание
Это практическое руководство разработчика программного обеспечения на Visual Basic .NET и ADO.NET, предназначенное для создания приложений баз данных на основе WinForms, Web-форм и Web-служб. В книге описываются практические способы решения задач доступа к данным, с которыми сталкиваются разработчики на Visual Basic .NET в своей повседневной деятельности. Книга начинается с основных сведений о создании баз данных, использовании языка структурированных запросов SQL и системы управления базами данных Microsoft SQL Server 2000. Затем рассматриваются способы использования основных объектов модели ADO.NET для доступа к данным в реляционных базах данных. Благодаря подробным примерам, читатели могут изучить способы использования основных свойств и методов, а также узнать о более сложных компонентах и технологиях. Многочисленные листинги с кодом на языке Visual Basic .NET иллюстрируют используемые концепции, а бизнес-ситуации показывают практическую область их применения.
Обработка баз данных на Visual Basic®.NET - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
2
222
2033
Cathy
Johnson
2
13000
2036
Richard
Halpin
2
10000
2040
Randy
Hobaica
2
18000
2043
Brad
Townsend
2
12000
2044
Jennifer
Eves
2
26000
204V
Angela
Stefanac
2
16000
2048
Marjorie
Bassett
2
34000
2052
Mike
Doberstein
2
42000
2056
Mikki
Lemay
2
50000
2060
Richard
Rosenthal
2
58000
3
Sales
2037
Kathleen
Johnson
3
18000
2041
Matthew
Haglund
3
30000
2045
Steve
Marshall
3
42000
2049
Joe
Chideya
3
54000
2053
Terri
Woodruff
3
66000
2057
Randy
Nelson
3
78000
2061
Mike
Woodruff
3
90000
4
Marketing
2034
Eric
Haglund
4
12000
2038
Sorel
Polito
4
28000
2042
Cathy
Vermeren
4
0
2046
Laura
Davidson
4
60000
2050
Katie
Chideya
4
76000
2054
Cathy
Rosenthal
4
5555
2058
Kathleen
Husbands
4
108000
Создание объекта XmlReader с помощью объекта Command
В главе 4, "Модель ADO.NET: провайдеры данных", описываются способы работы с объектом Command, который является ключевым объектом — провайдером данных на платформе .NET. В ней рассматриваются способы выполнения команд на основе объектов ExecuteReader, ExecuteScalar и ExecuteNonQuery. Хотя все провайдеры данных на платформе .NET реализуют эти методы, объект SqlCommand имеет дополнительный метод ExecuteXmlReader, который используется для извлечения и доступа к XML-данным из СУБД SQL Server.
Метод ExecuteXmlReader возвращает объект XmlReader точно так же, как он возвращает объект DataReader.
Для демонстрации применения метода ExecuteXmlReader вернитесь к проекту ADO-XML и выполните следующее.
1. Включите в форму frmXML под кнопкой Write XML еще одну кнопку, перетаскивая ее из панели элементов управления.
2. В окне свойств Properties укажите значение btnExecuteXML для свойства (Name) и значение ExecuteXMLReader для свойства Text этой кнопки.
3. Затем в определении класса формы frmXML введите код из листинга 10.12.
Private Sub btnExecuteXML_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnExecuteXML.Click
Dim cn As New SqlConnection _
("data source=localhost;initial catalog=pubs;user id=sa")
Dim cmd As New SqlCommand _
("select * from stores for xml auto, elements", en)
Dim reader As Xml.XmlReader
Dim str As New System.Text.StringBuilder()
cn.Open()
' Выполнение SQL-команды Select с предложением FOR XML.
reader = cmd.ExecuteXmlReader()
' Поиск и извлечение данных из узлов-элементов.
While reader.Read()
Select Case reader.NodeType
Case Xml.XmlNodeType.Element
str.Append("<" & reader.Name & ">")
Case Xml.XmlNodeType.EndElement
str.Append("</" & reader.Name & ">" & ControlChars.CrLf)
Case Xml.XmlNodeType.Text
str.Append(reader.Value)
Case Else
' В данном примере игнорируется.
End Select
End While
MsgBox(str.ToString)
сn.Close()
End Sub
Код в листинге 10.12 содержит пример упрощенного использования метода ЕхеcuteXmlReader в котором просто отображаются данные (вместе с дескрипторами) из таблицы базы данных pubs. СУБД SQL Server передается показанная ниже SQL-команда Select, в которой явно указаны возвращаемые поля в виде XML-элементов.
"select * from stores for xml auto, elements"
В таком случае обработка разных типов XML-узлов упрощается, потому что достаточно найти только начальный и конечный узлы, а текстовые узлы между ними будут содержать фактические данные. Более надежная обработка XML-документа основана на конструкции Select Case, в которой учтены узлы всех типов. После щелчка на кнопке ExecuteXMLReader будет выполнен код из листинга 10.12 и на экране появится диалоговое окно, которое показано на рис. 10.2.

РИС. 10.2. Диалоговое окно с XML-данными, извлеченными из СУБД SQL Server
Объект XmlDataDocument
В главе 9, "XML и .NET", рассматривается объект XmlDataDocument и способы его использования для доступа к иерархическим данным в виде узлов загруженного в оперативную память XML-документа. В этой книге также рассматриваются способы извлечения реляционных данных (и доступа к ним) из традиционной SQL-совеместимой базы данных. При этом необходимо выяснить следующее:
• как быть, если данные поступили из XML-источника, а нам известны только реляционные способы навигации и манипуляции записями;
• и наоборот: как быть, если данные поступили из SQL-совместимой базы данных, а нам известны только XML-совместимые способы навигации и манипуляции записями.
Ответы на эти простые вопросы основаны на применении объекта XmlDataDocument. Он является производным от класса XmlDocument, но обладает расширенными возможностями. Помимо внутренней копии данных, он содержит XML-совместимые средства доступа к ним как к классу XmlDocument с помощью XML-узлов, а также реляционные средства доступа на основе объекта DataSet. Объект XmlDataDocument автоматически синхронизирует оба эти представления (или, иначе говоря, способа доступа) таким образом, чтобы любые изменения, выраженные в одной технологии, сразу же отображались средствами другой технологии. Такой подход позволяет легко смешивать и находить соответствие между разными источниками данных на основе разных технологий.
Для демонстрации этих средств вернитесь к проекту ADO-XML и выполните перечисленные ниже действия.
1. Вставьте еще две кнопки в форму frmXML сразу под кнопкой ExecuteXMLReader, перетаскивая их из панели элементов управления.
2. В окне свойств Properties укажите значение btnNavigateSQL для свойства (Name) и значение Navigate SQL для свойства Text первой кнопки.
3. В окне свойств Properties укажите значение btnAddRows для свойства (Name) и значение Add Rows to XML для свойства Text второй кнопки.
4. Для импорта пространства имен XPath включите строку кода Imports System.Xml.XPath в конце списка команд импорта в верхней части файла с кодом.
5. В код класса frmXML включите две подпрограммы.
Private Sub btnNavigateSQL_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnNavigateSQL.Click
Интервал:
Закладка: