Шрифт:
' а также 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 _