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 - читать книгу онлайн бесплатно, автор Джеффри Мак-Манус

Объект DataSet имеет методGetXml, который возвращает XML-строку с данными из объекта DataSet. Точно такой же результат можно получить, используя метод со вторым параметром XmlWriteMode, который имеет значение IgnoreSchema. Извлечение данных в виде одной строки иногда позволяет более гибко программировать доступ к данным, но требует больших усилий, особенно если вам нужно всего лишь записать данные в файл. 

Для записи схемы данных из объекта DataSet в отдельном XSD-файле (вместо встраивания ее в данные) предусмотрен метод WriteXmlSchema, который используется так, как показано ниже.

dsSales.WriteXmlSchema

В листинге 10.5 приведено содержимое файла StoreSales.xsd, полученного в результате выполнения этого метода.

Листинг 10.5. Содержимое файла StoreSales.xsd, который является схемой из объекта dsSales

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

<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">

 <xs:element name="NewDataSet" msdata:lsDataSet="true">

  <xs:complexType>

   <xs:choice maxOccurs="unbounded">

    <xs:element name="Sales">

     <xs:complexType>

      <xs:sequence>

       <xs:element name="stor_id" type="xs:string" minOccurs="0" />

       <xs:element name="ord_num" type="xs:string" minOccurs="0" />

       <xs:element name="ord_date" type="xs:dateTime" minOccurs="0" />

       <xs:element name="qty" type="xs:short" minOccurs="0" />

       <xs:element name="payterms" type="xs:string" minOccurs="0" />

       <xs:element name="title_id" type="xs:string" minOccurs="0" />

      </xs:sequence>

     </xs:complexType>

    </xs:element>

    <xs:element name="Stores">

     <xs:complexType>

      <xs:sequence>

       <xs:element name="stor_id" type="xs:string" minOccurs="0" />

       <xs:element name="stor_name" type="xs:string" minOccurs="0" />

       <xs:element name="stor_address" type="xs:string" minOccurs="0" />

       <xs:element name="city" type="xs:string" minOccurs="0" />

       <xs:element name="state" type="xs:string" minOccurs="0" />

       <xs:element name="zip" type="xs:string" minOccurs="0" />

      </xs:sequence>

     </xs:complexType>

    </xs:element>

   </xs:choice>

  </xs:complexType>

 </xs:element>

</xs:schema>

Формат 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"

 dsSales.Tables("Stores").Rows.Add(rr) ' Вставка

 ' Сохранение только измененных записей в формате DiffGram.

 Dim ChangedDataSet = dsSales.GetChanges()

 ChangedDataSet.WriteXml("…Changes.xml", XmlWriteMode.DiffGram)

 ' Сохранение всех записей в формате DiffGram.

 dsSales.WriteXml("…DiffGram.xml", XmlWriteMode.DiffGram)

End Sub

В листинге 10.6 приведено содержимое файла DiffGram.xml, полученного в результате щелчка на кнопке Write XML формы проекта ADO-XML. Внесенные в таблицу Stores изменения выделены полужирным начертанием. Удаленная запись отсутствует в разделе текущих данных, но присутствует в разделе исходного состояния вместе с исходным значением измененной записи. Кроме того, раздел с текущими данными содержит новую запись с отметкой "inserted" (вставлена).

Листинг 10.6. XML-файл DiffGram.xml в формате DiffGram с одной вставленной записью, одной удаленной записью и одной измененной записью

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

<diffgr:diffgram xmlns:msdata="urn:schemes-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">

 <NewDataSet>

  <Sales diffgr:id="Sales1" msdata:rowOrder="0">

   <stor_id>6380</stor_id>

   <ord_num>6871</ord_num>

   <ord_date>1994-09-14T00:00:00.0000000+02:00</ord_date>

   <qty>5</qty>

   <payterms>Net 60</payterms>

   <title_id>BU1032</title_id>

  </Sales>

  <Sales diffgr:id="Sales2" msdata:rowOrder="1">

   <stor_id>6380</stor_id>

   <ord_num>722a</ord_num>

   <ord_date>1994-09-13T00:00:00.0000000+02:00</ord_date>

   <qty>3</qty>

   <payterms>Net 60</payterms>

   <title_id>PS2091</title_id>

  </Sales>

  <Sales diffgr:id="Sales3" msdata:rowOrder="2">

   <stor_id>7066</stor_id>

   <ord_num>A2976</ord_num>

   <ord_date>1993-05-24T00:00:00.0000000+02:00</ord_date>

   <qty>50</qty>

   <payterms>Net 30</payterms>

   <title_id>PC8888</title_id>

  </Sales>

  <Sales diffgr:id="Sales4" msdata:rowOrder="3">

   <stor_id>7066</stor_id>

   <ord_num>QA7442.3</ord_num>

   <ord_date>1994-09-13T00:00:00.0000000+02:00</ord_date>

   <qty>75</qty>

   <payterms>ON invoice</payterms>

   <title_id>PS2091</title_id>

  </Sales>

  <Sales diffgr:id="Sales5" msdata:rowOrder="4">

   <stor_id>7067</stor_id>

   <ord_num>D4482</ord_num>

   <ord_date>1994-09-14T00:00:00.0000000+02:00</ord_date>

   <qty>10</qty>

   <payterms>Net 60</payterms>

   <title_id>PS2091</title_id>

  </Sales>

  <Sales diffgr:id="Sales6" msdata:rowOrder="5">

   <stor_id>7067</stor_id>

   <ord_num>P2121</ord_num>

   <ord_date>1992-06-15T00:00:00.0000000+02:00</ord_date>

   <qty>40</qty>

   <payterms>Net 30</payterms>

   <title_id>TC3218</title_id>

  </Sales>

  <Sales diffgr:id="Sales7" msdata:rowOrder="6">

   <stor_id>7067</stor_id>

   <ord_num>P2121</ord_num>

   <ord_date>1992-06-15T00:00:00.0000000+02:00</ord_date>

   <qty>20</qty>

   <payterms>Net 30</payterms>

   <title_id>TC4203</title_id>

  </Sales>

  <Sales diffgr:id="Sales8" msdata:rowOrder="7">

   <stor_id>7067</stor_id>

   <ord_num>P2121</ord_num>

   <ord_date>1992-06-15T00:00:00.0000000+02:00</ord_date>

   <qty>20</qty>

   <payterms>Net 30</payterms>

   <title_id>TC7777</title_id>

  </Sales>

  <Sales diffgr:id="Sales9" msdata:rowOrder="8">

   <stor_id>713K/stor_id>

   <ord_num>N914008</ord_num>

   <ord_date>1994-09-14T00:00:00.0000000+02:00</ord_date>

   <qty>20</qty>

   <payterms>Net 30</payterms>

   <title_id>PS2091</title_id>

  </Sales>

  <Sales diffgr:id="Sales10" msdata:rowOrder="9">

   <stor_id>7131</stor_id>

   <ord_num>N914014</ord_num>

   <ord_date>1994-09-14T00:00:00.0000000+02:00</ord_date>

   <qty>25</qty>

   <payterms>Net 30</payterms>

   <title_id>MC3021</title_id>

  </Sales>

  <Sales diffgr:id="Sales11" msdata:rowOrder="10">

   <stor_id>7131</stor_id>


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

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


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

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

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