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

Салмре Иво

Шрифт:

switch (kindOfTest) {

case testType.textColumnLookup:

//НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Просмотреть все имена, используя СТРОКИ

numberRecordsChanged =

changeDayOfTravel_textColumnLookup(ТЕST_CREDIT_CARD, newDate);

break;

case testType.cachedIndexLookup:

//ЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Использовать кэшированные индексы

numberRecordsChanged =

changeDayOfTravel_cachedColumnIndex(ТЕST_CREDIT_CARD, newDate);

break;

case testType.cachedColumnObject:

//НАИЛУЧШАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Использовать кэшированные объекты

//столбцов

numberRecordsChanged =

changeDayOfTravel_CachedColumns(TEST_CREDIT_CARD, newDate);

break;

}

//Убедиться в том, что тест выполняется, как и ожидалось...

if (numberRecordsChanged != 1) {

System.Windows.Forms.MessageBox.Show("No matching records found. Test aborted!");

return;

}

 }

 //Получить время, которое потребовалось для выполнения теста

 PerformanceSampling.StopSample(testNumber);

 //Обычный курсор

 System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default;

 //Отобразить результаты выполнения теста

 string runInfo = NUMBER_TEST_ITERATIONS.ToString + "x" +

DUMMY_ROWS_OF_DATA.ToString + ": ";

 System.Windows.Forms.MessageBox.Show(runInfo +

PerformanceSampling.GetSampleDurationText(testNumber));

}

//ФУНКЦИЯ ПОИСКА, ОБЛАДАЮЩАЯ НИЗКОЙ ПРОИЗВОДИТЕЛЬНОСТЬЮ

private int changeDayOfTravel_ textColumnLookup(string creditCardNumber, System.DateTime newTravelDate) {

 int numberRecordsChanged = 0;

 //Найти имя таблицы

 System.Data.DataTable dataTable_Customers;

 //НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Осуществить поиск в таблице, используя

 //сравнение строк!

 dataTable_Customers = m_myDataSet.Tables[TABLE_NAME_PASSENGERINFO];

 foreach (System.Data.DataRow currentCustomerRow in dataTable_Customers.Rows) {

string currentCreditCard;

//НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Осуществить поиск в таблице, используя

//сравнение строк!

currentCreditCard = (string)currentCustomerRow[COLUMN_NAME_PASSENGER_CREDIT_CARD];

//Проверить, является ли данная кредитная карточка искомой

if (creditCardNumber == currentCreditCard) {

//Изменить дату отъезда

//НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Осуществить поиск столбца, используя

//сравнение строк!

System.DateTime currentTravelDate =

(System.DateTime)currentCustomerRow[COLUMN_NAME_DATE_OF_TRAVEL];

if (currentTravelDate != newTravelDate) {

//НИЗКАЯ ПРОИЗВОДИТЕЛЬНОСТЬ: Осуществить поиск столбца, используя

//сравнение строк!

currentCustomerRow[COLUMN_NAME_DATE_OF_TRAVEL] = newTravelDate;

numberRecordsChanged++;

}

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

 } //end foreach

 return numberRecordsChanged; //Количество обновленных записей

}

//ФУНКЦИЯ, ХАРАКТЕРИЗУЮЩАЯСЯ НЕСКОЛЬКО ЛУЧШЕЙ ПРОИЗВОДИТЕЛЬНОСТЬЮ

private int changeDayOfTravel_cachedColumnIndex(string creditCardNumber, System.DateTime newTravelDate) {

 int numberRecordsChanged = 0;

  • Читать дальше
  • 1
  • ...
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: