My-library.info
Все категории

Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET

На электронном книжном портале my-library.info можно читать бесплатно книги онлайн без регистрации, в том числе Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET. Жанр: Программирование издательство -, год 2004. В онлайн доступе вы получите полную версию книги с кратким содержанием для ознакомления, сможете читать аннотацию к книге (предисловие), увидеть рецензии тех, кто произведение уже прочитал и их экспертное мнение о прочитанном.
Кроме того, в библиотеке онлайн my-library.info вы найдете много новинок, которые заслуживают вашего внимания.

Название:
Обработка баз данных на Visual Basic®.NET
Издательство:
-
ISBN:
-
Год:
-
Дата добавления:
17 сентябрь 2019
Количество просмотров:
831
Читать онлайн
Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET

Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET краткое содержание

Джеффри Мак-Манус - Обработка баз данных на Visual Basic®.NET - описание и краткое содержание, автор Джеффри Мак-Манус, читайте бесплатно онлайн на сайте электронной библиотеки My-Library.Info
Это практическое руководство разработчика программного обеспечения на Visual Basic .NET и ADO.NET, предназначенное для создания приложений баз данных на основе WinForms, Web-форм и Web-служб. В книге описываются практические способы решения задач доступа к данным, с которыми сталкиваются разработчики на Visual Basic .NET в своей повседневной деятельности. Книга начинается с основных сведений о создании баз данных, использовании языка структурированных запросов SQL и системы управления базами данных Microsoft SQL Server 2000. Затем рассматриваются способы использования основных объектов модели ADO.NET для доступа к данным в реляционных базах данных. Благодаря подробным примерам, читатели могут изучить способы использования основных свойств и методов, а также узнать о более сложных компонентах и технологиях. Многочисленные листинги с кодом на языке Visual Basic .NET иллюстрируют используемые концепции, а бизнес-ситуации показывают практическую область их применения.

Обработка баз данных на Visual Basic®.NET читать онлайн бесплатно

Обработка баз данных на Visual Basic®.NET - читать книгу онлайн бесплатно, автор Джеффри Мак-Манус

2. Назовите проект ADO-XML.

3. Укажите путь к файлам проекта.

4. Увеличьте размер формы Form1.

5. В окне свойств Properties укажите значение frmXML для свойства (Name) и значение ADO.NET and XML для свойства Text формы Form1.

6. В верхнем левом углу формы создайте кнопку, перетаскивая ее из панели элементов управления.

7. В окне свойств Properties укажите значение btnReadXML для свойства (Name) и значение Read XML для свойства Text этой кнопки.

8. В правой части формы создайте сетку DataGrid, перетаскивая ее из панели элементов управления.

9. В окне свойств Properties укажите значение grdData для свойства (Name) сетки.

10. Увеличьте размер сетки grdData, чтобы она занимала до 80% всей площади формы.

В верхней части файла введите следующий код:

Imports System

Imports System.Data

Imports System.Data.SqlClient

Затем в определении класса формы frmXML введите код из листинга 10.1.

Листинг 10.1. Код чтения содержимого XML-файла в объект DataSet

Private Sub btnReadXML_Click(ByVal sender As System.Object, _

 ByVal e As System.EventArgs) Handles btnReadXML.Click

 Dim dsPubs As New DataSet()

 ' Чтение XML-данных из файла.

 dsPubs.ReadXml("..Pubs.xml")

 ' Связывание объекта DataSet с сеткой данных DataGrid.

 grdData.DataMember = "publishers"

 grdData.DataSource = dsPubs

End Sub

Эта подпрограмма считывает XML-данные из файла pubs.xml в объект DataSet. Теперь объект DataSet и его данные могут использоваться любым из способов, описанных в предыдущих главах. Кроме того, эта подпрограмма связывает объект DataSet с сеткой данных DataGrid. В листинге 10.2 показано содержимое файла pubs.xml, а на рис. 10.1 — данные в сетке DataGrid.

РИС. 10.1. Содержимое файла pubs.xml в сетке DataGrid


Листинг 10.2. Содержимое файла pubs.

<?xml version="1.0" standalone="yes"?>

<NewDataSet>

 <publishers>

  <pub_id>0736</pub_id>

  <pub_name>New Moon Books</pub_name>

  <city>Boston</city>

  <state>MA</state>

  <country>USA</country>

 </publishers>

 <publishers>

  <pub_id>0877</pub_id>

  <pub_name>Binnet & Hardley</pub_name>

  <city>Washington</city>

  <state>DC</state>

  <country>USA</country>

 </publishers>

 <publishers>

  <pub_id>1389</pub_id>

  <pub_name>Algodata Infosystems</pub_name>

  <city>Berkeley</city>

  <state>CA</state>

  <country>USA</country>

 </publishers>

 <publishers>

  <pub_id>1622</pub_id>

  <pub_name>Five Lakes Publishing</pub_name>

  <city>Chicago</city>

  <state>IL</state>

  <country>USA</country>

 </publishers>

 <publishers>

  <pub_id>1756</pub_id>

  <pub_name>Ramona Publishers</pub_name>

  <city>Dallas</city>

  <state>TX</state>

  <country>USA</country>

 </publishers>

 <publishers>

  <pub_id>9952</pub_id>

  <pub_name>Scootney Books</pub_name>

  <city>New York</city>

  <state>NY</state>

  <country>USA</country>

 </publishers>

 <publishers>

  <pub_id>9999</pub_id>

  <pub_name>Lucerne Publishing</pub_name>

  <countгу>France</country>

 </publishers>

</NewDataSet>

НА ЗАМЕТКУ

После вызова метода ReadXML для загрузки данных в объект DataSet для свойства RowState всех новых строк задается значение Added. Этот подход отличается от принятого по умолчанию поведения, когда для загрузки данных в объект DataSet из базы данных используется объект DataAdapter и для свойства RowState всех новых строк задается значение Unchanged. Такой подход позволяет загружать данные из XML-источника и вставлять их в таблицу базы данных. Если вы не хотите этого делать, то можно с помощью метода AcceptChanges переустановить значение Unchanged для свойства RowState всех новых строк. Для изменения принятого по умолчанию поведения при загрузке данных в объект DataSet из базы данных можно указать значение False для свойства АсcеptChangesOnFill что приведет к автоматической установке значения Added для свойства RowState всех новых строк.

В данном примере демонстрируется простейший способ чтения XML-данных в объект DataSet, т.е. чтение из файла. Помимо этого способа, существует много других вариантов чтения XML-данных с помощью перегруженных версий метода ReadXML, например с помощью объектов Stream, TextReader или XmlReader. Соответствующие им перегруженные версии метода ReadXML содержат второй параметр со значением XmlReadMode. Этот параметр используется для указания способа интерпретации содержимого XML-источника и обработки схемы данных. В табл. 10.1 приведено краткое описание членов перечисления XmlReadMode.

Таблица 10.1. Перечисление XmlReadMode 

Имя члена перечисления Описание ReadSchema Считывает любую встроенную схему и загружает ее вместе с данными в объект DataSet. Таблицы, определенные в схеме, вставляются в объект Data-Set, но если схема определяет таблицу, которая уже есть в этом наборе данных, то генерируется исключительная ситуация IgnoreSchema Игнорирует любую встроенную схему и загружает данные в объект DataSet с помощью существующего определения схемы. Любые данные, которые не соответствуют схеме объекта DataSet, игнорируются и не загружаются. Аналогично, если схема не определена, то данные не загружаются InferSchema Игнорирует любую встроенную схему и выводит схему на основе структуры данных, а затем загружает данные в объект DataSet. Дополнительные таблицы и поля, определенные в результате такого анализа структуры данных, добавляются в уже существующую схему в объекте DataSet. В случае конфликта определений генерируется исключительная ситуация Fragment Считывает все существующие XML-фрагменты и загружает данные в объект DataSet. Любые данные, которые не соответствуют схеме в объекте DataSet, игнорируются и не загружаются DiffGram Считывает данные в формате DiffGram и загружает данные в объект DataSet. Новые записи сливаются с уже существующими записями с такими же значениями уникального идентификатора, в противном случае в объекте DataSet создаются новые записи. В случае несоответствия схем генерируется исключительная ситуация. (Формат DiffGram более подробно описывается далее в главе. — Прим. ред.) Auto Этот режим используется по умолчанию. При этом выполняется одна из следующих операций: если XML-данные имеют формат DiffGram, то выбирается член DiffGram перечисления XmlReadMode; если схема определена в объекте DataSet или встроена в XML-документ, то выбирается член ReadSchema перечисления XmlReadMode; в остальных случаях выбирается член InferSchema перечисления XmlReadMode  

Для чтения только схемы данных (и игнорирования данных) предусмотрена перегруженная версия метода ReadXmlSchema, которая может применяться для считывания схемы объектов DataTable объекта DataSet так, как показано ниже. MyDataSet.ReadXmlSchema("MySchemaFile.xml")

Те же четыре источника данных (файл, объекты Stream, TextReader и XmlReader) могут использоваться вместе с методом ReadXmlSchema. Объект DataSet имеет аналогичный набор методов для записи XML-данных.

Запись XML-данных

После загрузки в объект DataSet (независимо от способа и места загрузки) данные и/или схемы данных можно записать в XML-формате (с XML-схемой или без нее). Для демонстрации способов записи данных в XML-формате выполните перечисленные ниже действия.

1. Создайте в форме новую кнопку сразу под кнопкой Read XML, перетаскивая ее из панели инструментов. 

2. В окне свойств Properties укажите значение btnWriteXML для свойства (Name) и значение Write XML для свойства Text этой кнопки.

3. Затем в определении класса формы frmXML введите код из листинга 10.3.

Листинг 10.3. Код сохранения содержимого объекта DataSet в виде XML-файла

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")

End Sub

В этой подпрограмме создаются два объекта — адаптера данных (daAuthors и daPublishers), которые затем используются для вставки данных в объект dsPubs из двух таблиц базы данных pubs СУБД SQL Server. В листинге 10.4 приведено содержимое файла StoreSales.xml, который создается в результате выполнения этой подпрограммы. Обратите внимание на то, что данный XML-документ содержит записи о продажах, а затем записи о магазинах. Этот подход имеет смысл, так как между ними не задано никакого отношения. Если бы таблицы Sales и Stores были связаны, то эти записи можно было вложить друг в друга. Пример такого вложения приводится далее, в бизнес-ситуации 10.1.


Джеффри Мак-Манус читать все книги автора по порядку

Джеффри Мак-Манус - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки My-Library.Info.


Обработка баз данных на Visual Basic®.NET отзывы

Отзывы читателей о книге Обработка баз данных на Visual Basic®.NET, автор: Джеффри Мак-Манус. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.