Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
'файл в текстовом окне
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 _
As Integer = INVALID_INDEX
Private m_IndexOfTestColumn_TravelDate _
As Integer = INVALID_INDEX
Private m_IndexOfTestTable As Integer = INVALID_INDEX
'Столбцы данных и таблица, подлежащих кэшированию
Private m_TestColumn_CreditCard As System.Data.DataColumn
Private m_TestColumn_TravelDate As System.Data.DataColumn
Private m_TableCustomerInfo As System.Data.DataTable
Public Enum testType '3 вида тестов, которые мы можем выполнять
textColumnLookup
cachedIndexLookup
cachedColumnObject
End Enum
'Эти
константы определяют размерные характеристики тестов
Const DUMMY_ROWS_OF_DATA As Integer = 100
Const NUMBER_TEST_ITERATIONS As Integer = 500
'Табличная информация
Const TABLE_NAME_PASSENGERINFO As String = "CustomerTravelInfo"
Const COLUMN_NAME_DATE_OF_TRAVEL As String = "DateOfTravel"
Const COLUMN_NAME_PASSENGER_NAME As String = "PassengerName"
Const COLUMN_NAME_PASSENGER_CREDIT_CARD As String = _
"PassengerCreditCard"
Const TEST_CREDIT_CARD As String = "IvoCard-987-654-321-000"
'--------------------
'Создает набор данных
'--------------------
Private Sub createDataSet
'1. Создать новый объект DataSet
m_myDataSet = New System.Data.DataSet("TravelService Dataset")
'2. Добавить объект DataTable в объект ADO.NET DataSet
Dim myTestTable As System.Data.DataTable
myTestTable = m_myDataSet.Tables.Add(TABLE_NAME_PASSENGERINFO)
'Добавить 2 столбца в таблицу
'Добавить столбец данных в таблицу DataTable набора данных DataSet
myTestTable.Columns.Add(COLUMN_NAME_DATE_OF_TRAVEL, _
GetType(System.DateTime))
'Добавить столбец строк в таблицу DataTable набора данных DataSet
myTestTable.Columns.Add(COLUMN_NAME_PASSENGER_NAME, _
GetType(String))
'Добавить столбец строк в таблицу DataTable набора данных DataSet
myTestTable.Columns.Add(COLUMN_NAME_PASSENGER_CREDIT_CARD, _
GetType(String))
'Данные для размещения в строках данных
Dim objArray As Object ReDim objArray(2)
'--------------------------------
'Добавить строки данных в таблицу
'--------------------------------
Dim buildTestString As System.Text.StringBuilder
Поделиться:
Популярные книги
Эпоха Опустошителя. Том VII
7. Вечное Ристалище
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Неверный
Любовные романы:
современные любовные романы
5.50
рейтинг книги
Бастард Императора. Том 2
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Железный Воин Империи II
2. Железный Воин Империи
Фантастика:
фэнтези
попаданцы
аниме
5.75
рейтинг книги
Газлайтер. Том 12
12. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 9
9. Путь Паладина
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Дочь моего друга
2. Айдаровы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Телохранитель Генсека. Том 3
3. Медведев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Наномашины, Кошмар Академии! Том 10
10. Первый среди карапузов
Фантастика:
аниме
попаданцы
5.00
рейтинг книги
Матабар
1. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Этот мир не выдержит меня. Том 2
2. Первый простолюдин в Академии
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Ермак. Противостояние. Книга одиннадцатая
11. Ермак
Фантастика:
попаданцы
альтернативная история
4.50
рейтинг книги
На границе империй. Том 10. Часть 13
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
1941, Великая Отечественная катастрофа: Итоги дискуссии
Документальная литература:
военная документалистика
6.25