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

ЖАНРЫ

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

'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

Private m_IndexOfTestColumn_CreditCard _

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