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

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

 int numberRecordsChanged = 0;

 //Поиск имени таблицы

 System.Data.DataTable dataTable_Customers;

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

 dataTable_Customers = m_myDataSet.Tables[m_IndexOfTestTable];

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

  string currentCreditCard;

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

  currentCreditCard =

   (string)currentCustomerRow[m_IndexOfTestColumn_CreditCard];

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

  if (creditCardNumber == currentCreditCard) {

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

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

   System.DateTime currentTravelDate =

    (System.DateTime)currentCustomerRow[m_IndexOfTestColumn_TravelDate];

   if (currentTravelDate != newTravelDate) {

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

    //столбца!

    currentCustomerRow[m_IndexOfTestColumn_TravelDate] = newTravelDate;

    numberRecordsChanged++;

   }

  }

 }

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

}

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

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

 int numberRecordsChanged = 0;

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

 System.Data.DataTable dataTable_Customers = m_TableCustomerInfo;

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

  string currentCreditCard;

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

  currentCreditCard =

   (string)currentCustomerRow[m_TestColumn CreditCard];

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

  if (creditCardNumber == currentCreditCard) {

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

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

   System.DateTime currentTravelDate =

    (System.DateTime)currentCustomerRow[m_TestColumn_TravelDate];

   if (currentTravelDate != newTravelDate) {

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

    //столбца!

    currentCustomerRow[m_TestColumn TravelDate] = newTravelDate;

    numberRecordsChanged++;

   }

  }

 }

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

}

//Событие щелчка на кнопке

private void buttonRunTest_Click(object sender, System.EventArgs e) {

 createDataSet;

 cacheDataSetInfo;

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

 changeDayOfTravel_test(testType.textColumnLookup);

Перейти на страницу:

Похожие книги