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

ЖАНРЫ

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

Салмре Иво

Шрифт:

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

 buildTestString = New System.Text.StringBuilder

 Dim addItemsCount As Integer

 For addItemsCount = 1 To DUMMY_ROWS_OF_DATA

'Выбрать
день отъезда пассажира

objArray(0) = System.DateTime.Today.AddDays(addItemsCount)

'Выбрать имя пассажира

buildTestString.Length = 0

buildTestString.Append("TestPersonName")

buildTestString.Append(addItemsCount)

objArray(1) = buildTestString.ToString

'Связать с пассажиром текстовый номер кредитной карточки

buildTestString.Length = 0

buildTestString.Append("IvoCard-000-000-0000-")

buildTestString.Append(addItemsCount)

objArray(2) = buildTestString.ToString

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

myTestTable.Rows.Add(objArray)

 Next

 'Добавить элемент, поиск которого мы хотим проводить при выполнении теста

 objArray(0) = System.DateTime.Today

 objArray(1) = "Ms. TestPerson"

 objArray(2) = ТЕST_CREDIT_CARD

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

 myTestTable.Rows.Add(objArray)

End Sub

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

'Найти и кэшировать все индексы набора данных, которые нам нужны

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

Private Sub cacheDataSetInfo

 'Выйти из функции, если индексы уже загружены

 If (m_indexesLookedUp = True) Then Return

 'Кэшировать индекс таблицы

 m_IndexOfTestTable = _

m_myDataSet.Tables.IndexOf(TABLE_NAME_PASSENGERINFO)

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

 'Итерировать по всем столбцам нашей таблицы

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

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

 mTableCustomerInfo = m_myDataSet.Tables(m_IndexOfTestTable)

 Dim dataColumnCount As Integer

 dataColumnCount = m_TableCustomerInfo.Columns.Count

 Dim myColumn As System.Data.DataColumn

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