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

на главную - закладки

Жанры

Программирование мобильных устройств на платформе .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
рейтинг книги
Эпоха Опустошителя. Том VII

Неверный

Тоцка Тала
Любовные романы:
современные любовные романы
5.50
рейтинг книги
Неверный

Бастард Императора. Том 2

Орлов Андрей Юрьевич
2. Бастард Императора
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бастард Императора. Том 2

Железный Воин Империи II

Зот Бакалавр
2. Железный Воин Империи
Фантастика:
фэнтези
попаданцы
аниме
5.75
рейтинг книги
Железный Воин Империи II

Газлайтер. Том 12

Володин Григорий Григорьевич
12. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 12

Последний Паладин. Том 9

Саваровский Роман
9. Путь Паладина
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Последний Паладин. Том 9

Дочь моего друга

Тоцка Тала
2. Айдаровы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Дочь моего друга

Телохранитель Генсека. Том 3

Алмазный Петр
3. Медведев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Телохранитель Генсека. Том 3

Наномашины, Кошмар Академии! Том 10

Новиков Николай Васильевич
10. Первый среди карапузов
Фантастика:
аниме
попаданцы
5.00
рейтинг книги
Наномашины, Кошмар Академии! Том 10

Матабар

Клеванский Кирилл Сергеевич
1. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар

Этот мир не выдержит меня. Том 2

Майнер Максим
2. Первый простолюдин в Академии
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Этот мир не выдержит меня. Том 2

Ермак. Противостояние. Книга одиннадцатая

Валериев Игорь
11. Ермак
Фантастика:
попаданцы
альтернативная история
4.50
рейтинг книги
Ермак. Противостояние. Книга одиннадцатая

На границе империй. Том 10. Часть 13

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 13

1941, Великая Отечественная катастрофа: Итоги дискуссии

Коллектив авторов
Документальная литература:
военная документалистика
6.25
рейтинг книги
1941, Великая Отечественная катастрофа: Итоги дискуссии