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

ЖАНРЫ

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

Салмре Иво

Шрифт:

//Создает набор данных

//--------------------

private void createDataSet {

 //1. Создать новый объект DataSet

 m_myDataSet = new System.Data.DataSet("TravelService Dataset");

 //2. Добавить объект DataTable в объект ADO.NET DataSet

 System.Data.DataTable myTestTable;

 myTestTable = m_myDataSet.Tables.Add(TABLE_NAME _PASSENGERINFO);

 //Добавить 2
столбца в таблицу

 //Добавить столбец данных в таблицу DataTable набора данных DataSet

 myTestTable.Columns.Add(COLUMN_NAME_DATE_OF_TRAVEL,typeof(System.DateTime));

 //Добавить столбец строк в таблицу DataTable набора данных

 DataSet myTestTable.Columns.Add(COLUMN_NAME_PASSENGER NAME,typeof(string));

 //Добавить столбец строк в таблицу DataTable набора данных DataSet

 myTestTable.Columns.Add(COLUMN_NAME_PASSENGER_CREDIT_CARD,typeof(string));

 //Данные для размещения в строках данных

 object[] objArray;

 objArray = new object[3];

 //--------------------------------

 //Добавить строки данных в таблицу

 //--------------------------------

 System.Text.StringBuilder buildTestString;

 buildTestString = new System.Text.StringBuilder;

 for (int addItemsCount = 0; addItemsCount < DUMMY_ROWS_OF_DATA; addItemsCount++) {

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

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);

 }

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

 objArray[0] = System.DateTime.Today;

 objArray[1] = "Ms. TestPerson";

 objArray[2] = TEST_CREDIT_CARD;

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

 myTestTable.Rows.Add(objArray);

} //Конец функции

//---------------------------------------------------------------

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

//---------------------------------------------------------------

private void cacheDataSetInfo {

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

 if (m_indexesLookedUp == true) {

return;

 }

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

 m_IndexOfTestTable = m_myDataSet.Tables.IndexOf(TABLE_NAME_PASSENGERINFO);

 //------------------------------------------

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

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

 //------------------------------------------

 m_TableCustomerInfo = m_myDataSet.Tables[m_IndexOfTestTable];

 int dataColumnCount = m_TableCustomerInfo.Columns.Count;

 System.Data.DataColumn myColumn;

 for (int colIdx = 0; colIdx < dataColumnCount;) {

myColumn = m_TableCustomerInfo.Columns[colIdx];

//Предпринимать поиск, только если это еще не сделано

if (m_IndexOfTestColumn_CreditCard == INVALID_INDEX) {

//Проверить, совпадает ли имя

if (myColumn.ColumnName == COLUMN_NAME_PASSENGER_CREDIT_CARD) {

//Кэшировать индекс

m_IndexOfTestColumn_CreditCard = colIdx;

//Кэшировать столбец

m_TestColumn_CreditCard = myColumn;

goto next_loop_iteration; //Опустить другие операции сравнения...

} //Endif: сравнение строк

} //Endif

if (m_IndexOfTestColumn_TravelDate == INVALID_INDEX) {

//Проверить, совпадает ли имя

if (myColumn.ColumnName == COLUMN_NAME_DATE_OF_TRAVEL) {

//Кэшировать индекс

m_IndexOfTestColumn_TravelDate = colIdx;

//Кэшировать столбец

m_TestColumn_TravelDate = myColumn;

goto next_loop_iteration; //Опустить другие операции сравнения.

} //Endif: сравнение строк

} //Endif

next_loop_iteration:

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