Джеффри Мак-Манус - Обработка баз данных на 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 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
6380
6871
l994-09-14T00:00:00.0000000+02:00
5
Net 60
BU1032
6380
722a
l994-09-13T00:00:00.0000000+02:00
3
Net 60
PS2091
7066
A2976
1993-05-24T00:00:00.0000000+02:00
50
Net 30
PC8888
7066
QA7442.3
1994-09-13T00:00:00.0000000+02:00
75
ON invoice
PS209K/title_id>
7067
D4482
1994-09-14T00:00:00.0000000+02:00
10
Net 60
PS2091
7067
P2121
1992-06-15T00:00:00.0000000+02:00
40
Net 30
TC3218
7067
<���оrd_num>P2121
1992-06-15T00:00:00.0000000+02:00
20
Net 30
TC4203
7067
P2121
1992-06-15T00:00:00.0000000+02:00
20
Net 30
TC7777
7131
N914008
1994-09-14T00:00:00.0000000+02:00
20
Net 30
PS2091
7131
<���оrd_num>N914014</оrd_num>
1994-09-14T00:00:00.0000000+02:00
25
Net 30
MC3021
7131
P3087a
1993-05-29T00:00:00.0000000+02:00
20
Net 60
PS1372
7131
P3087a
1993-05-29T00:00:00.0000000+02:00
25
Net 60
PS2106
7131
P3087a
1993-05-29T00:00:00.0000000+02:00
15
Net 60
PS3333
7131
P3087a
1993-05-29T00:00:00.0000000+02:00
25
Net 60
PS7777
7896
QQ2299
1993-10-28T00:00:00.0000000+02:00
15
Net 60
BU7832
7896
TQ456
1993-12-12T00:00:00.0000000+02:00
10
Net 60
MC2222
7896
X999
1993-02-21T00:00:00.0000000+02:00
35
ON invoice
BU2075
8042
423LL922
1994-09-14T00:00:00.0000000+02:00
15
ON invoice
MC3021
8042
423LL930
1994-09-14T00:00:00.0000000+02:00
10
ON invoice
BU1032
8042
P723
1993-03-11T00:00:00.0000000+02:00
25
Net 30
BU1111
8042
QA879.1
1993-05-22T00:00:00.0000000+02:00
30
Net 30
PC1035
6380
Eric the Read Books
788 Catamaugus Ave.
Seattle
WA
98056
7066
Barnum's
567 Pasadena Ave.
CA
92789
7067
News & Brews
577 First St.
Los Gatos
CA
96745
7131
Doc-U-Mat: Quality Laundry and Books
24-A Avogadro Way
Remulade
WA
98014
7896
Fricative Bookshop
89 Madison St.
Fremont
CA
90019
8042
Bookbeat
679 Carson St.
Portland
OR
89076
В приведенном примере демонстрируется простейший способ записи данных из объекта DataSet в XML-файл. Помимо этого способа существуют другие варианты записи данных и схемы с помощью перегруженных версий метода WriteXML. Соответствующие им перегруженные версии метода ReadXML содержат второй параметр со значением XmlWriteMode. В табл. 10.2 приведено краткое описание членов перечисления XmlWriteMode.
Таблица 10.2. Перечисление XmlWriteMode
Имя члена перечисления | Описание |
---|---|
DiffGram | Записывает данные из объекта DataSet в виде объекта DiffGram с текущими исходными значениями всех записей |
WriteSchema | Записывает данные из объекта DataSet в XML-формате вместе с их схемой. Если объект DataSet содержит только схему, то записывается только схема. Если в объекте DataSet не определена схема, то ничего не записывается |
IgnoreSchema | Этот режим используется по умолчанию для записи содержимого объекта DataSet в XML-формате без схемы |
Объект DataSet имеет методGetXml, который возвращает XML-строку с данными из объекта DataSet. Точно такой же результат можно получить, используя метод со вторым параметром XmlWriteMode, который имеет значение IgnoreSchema. Извлечение данных в виде одной строки иногда позволяет более гибко программировать доступ к данным, но требует больших усилий, особенно если вам нужно всего лишь записать данные в файл.
Для записи схемы данных из объекта DataSet в отдельном XSD-файле (вместо встраивания ее в данные) предусмотрен метод WriteXmlSchema, который используется так, как показано ниже.
dsSales.WriteXmlSchema
В листинге 10.5 приведено содержимое файла StoreSales.xsd, полученного в результате выполнения этого метода.
Формат DiffCram
Рассмотрим теперь формат DiffGram, который используется членами перечислений XmlReadMode и XmlWriteMode. Это XML-формат, содержащий не только текущие значения элементов-данных, но и их исходные значения, которые были изменены или удалены (вслед за последним вызовом метода AcceptChanges). Итак, DiffGram представляет собой формат сериализации, который используется для передачи данных другому процессу или компьютеру. Поскольку эти данные фактически имеют XML-формат, они могут легко передаваться другим платформам, например UNIX или Linux.
Каждый файл формата DiffGram имеет три раздела. Первый раздел содержит текущие значения всех записей объекта DataSet, независимо от того, изменялись они или нет. Любой измененный элемент (запись) обозначается как diffgr:hasChanges="modified", а любой добавленный элемент (запись) — как diffgr:hasChanges="inserted". Второй раздел содержит исходные значения всех измененных и удаленных записей. Его элементы связаны с соответствующими элементами первого раздела, которые обозначаются как diffgr:id="xxx", где ххх — идентификатор записи. Третий раздел содержит информацию об ошибках работы с записями. Его элементы связаны аналогичным образом с соответствующими элементами первого раздела, которые обозначаются как diffgr:id="xxx".
Для генерации XML-файла в формате DiffGram нужно внести приведенные ниже изменения (они обозначены полужирным начертанием) в подпрограмму btnWriteXML_Click.H3 листинга 10.3.
Private Sub btnWriteXML_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnWriteXML.Click
Dim dsSales As New DataSet()
Dim en As New SqlConnection _
("data source=localhost;initial catalog=pubs;user id=sa")
Dim daAuthors As New SqlDataAdapter("select * from sales ", en)
Dim daPublishers As New SqlDataAdapter("select * from stores ", en)
' Загрузка реляционных данных из базы данных.
daAuthors.Fill(dsSales, "Sales")
daPublishers.Fill(dsSales, "Stores")
' Запись XML-данных в файл.
dsSales.WriteXml("..\StoreSales.xml")
' Запись схемы в XSD-файл.
dsSales.WriteXmlSchema("..\StoreSales.xsd")
' Пример изменения, удаления и вставки новой записи.
dsSales.Tables("Stores").Rows(0)("stor_id") = 999 ' Изменение
dsSales.Tables("Stores").Rows(1).Delete() ' Удаление
Dim rr As DataRow = dsSales.Tables("Stores").NewRow()
rr("stor_name") = "New Store"
Интервал:
Закладка: