Чтение онлайн

ЖАНРЫ

Программирование мобильных устройств на платформе .NET Compact Framework

Салмре Иво

Шрифт:

 TextBox1.Text = TextBox1.Text + _

dividerLine + "FILE: '" + fileName + "'" + vbCrLf + _

dividerLine + fileText + vbCrLf

End Sub

'--------------------------------------------------------

'1. Создает набор данных,

' сохраняет набор данных в виде XML,

' отображает результаты в текстовом окне

'2. Добавляет таблицу данных в набор
данных,

' добавляет два типизированных столбца в таблицу данных,

' добавляет две строки в таблицу данных,

' сохраняет набор данных в виде XML,

' отображает результаты в текстовом окне

'--------------------------------------------------------

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

 ByVal e As System.EventArgs) Handles Button1.Click

 'Очистить текстовое окно от содержимого

 TextBox1.Text = ""

 '===========================================

 '1. Создать новый набор данных

 '===========================================

 m_myDataSet = New System.Data.DataSet("HelloWorld-DataSet")

 'Записать содержимое ADO.NET DataSet в виде XML и отобразить

 'файл в текстовом окне

 m_myDataSet.WriteXml(FILE_EMPTY_DATASET)

 addFileContentsToTextBox(FILE_EMPTY_DATASET)

 '==================================================

 '2. Добавить таблицу данных в набор данных ADO.NET,

 ' а также 2 строки данных в таблицу данных

 '==================================================

 Dim myTestTable As System.Data.DataTable

 myTestTable = m_myDataSet.Tables.Add("TestTable")

 '----------------------------

 'Добавить 2 столбца в таблицу

 '----------------------------

 'Добавить столбец данных в таблицу DataTable набора DataSet

 myTestTable.Columns.Add("TestColumn0", _

GetType(System.DateTime))

 'Добавить строковый столбец в таблицу DataTable набора DataSet

 myTestTable.Columns.Add("TestColumn1", GetType(String))

 '--------------------------------

 'Добавить строки данных в таблицу

 '--------------------------------

 'Добавить строку данных в таблицу данных

 Dim rowOfData As Object

 ReDim rowOfData(1)

 'Столбец 0 - это тип данных

 rowOfData(0) = System.DateTime.Today

 'Столбец 1 —
это строковый тип

 rowOfData(1) = "а string of data today"

 myTestTable.Rows.Add(rowOfData)

 'Добавить вторую строку данных в таблицу данных

 Dim rowOfData2 As Object

 ReDim rowOfData2(1) 'Столбец 0 — это тип данных

 rowOfData2(0) = System.DateTime.Today.AddDays(1)

 'Столбец 1 — это строковый тип

 rowOfData2(1) = "tomorrow's string"

 myTestTable.Rows.Add(rowOfData2)

 'Записать содержимое набора ADO.NET DataSet в виде XML и отобразить

 'файл в текстовом окне

 m_myDataSet.WriteXml(FILE_1TABLE_ DATASET)

 addFileContentsToTextBox(FILE_1TABLE_DATASET)

End Sub

Листинг 14.2. Использование параметра XMLWriteMode при сохранении объекта ADO.NET DataSet

'-----------------------------------------------------------------------

'Необходимость в этой функции возникает по той причине, что .NET Compact

'Framework не поддерживает перегрузку:

' "public voidWriteXml(string, XmlWriteMode);"

'

'в качестве функции-члена "public" (только "private")

'-----------------------------------------------------------------------

Sub writeDataSetToFile(ByVal ds As System.Data.DataSet, _

 ByVal filename As String, _

 ByVal xmlWriteMode As System.Data.XmlWriteMode)

 'Создать объект XmlWriter для записи наших XML-данных

 Dim xmlWriter As System.Xml.XmlWriter

 xmlWriter = New System.Xml.XmlTextWriter(filename, _

System.Text.Encoding.Default)

 'ПРИМЕЧАНИЕ: Эта перегруженная версия не является общедоступной (public)!

 'ds.WriteXml(filename, xmlWriteMode)

 'Вместо этого используем следующую функцию:

 ds.WriteXml(xmlWiiter, xmlWriteMode)

 xmlWriter.Close 'Важно закрыть файл!

End Sub

Листинг 14.3. Сравнение производительности различных вариантов доступа к данным с использованием объектов DataSet

Private m_myDataSet As System.Data.DataSet 'Набор данных для тестирования

'Индексы столбцов и таблицы, подлежащие кэшированию

Private m_indexesLookedUp As Boolean = False

Private Const INVALID_INDEX As Integer = -1

Поделиться с друзьями: