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

> ByVal creditCardNumber As String, _

> ByVal newTravelDate As System.DateTime) As Integer

> Dim numberRecordsChanged As Integer


> 'Найти имя таблицы

> Dim dataTable_Customers As System.Data.DataTable

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

> 'сравнение строк!

> dataTable_Customers = _

>  m_myDataSet.Tables(TABLE_NAME_PASSENGERINFO)


> Dim currentCustomerRow As System.Data.DataRow

> For Each currentCustomerRow In dataTable_Customers.Rows

>  Dim currentCreditCard As String


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

>  'сравнение строк!

>  currentCreditCard = CType( _

>   currentCustomerRow(COLUMN_NAME_PASSENGER_CREDIT_CARD), String)


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

>  If (creditCardNumber = currentCreditCard) Then

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

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

>   'сравнение строк!

>   Dim currentTravelDate As System.DateTime = CType( _

>    currentCustomerRow(COLUMN_NAME_DATE_OF_TRAVEL), _

>    System.DateTime)

>   If (currentTravelDate <> newTravelDate) Then

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

>    'сравнение строк!

>    currentCustomerRow(COLUMN_NAME_DATE_OF_TRAVEL) = _

>     newTravelDate

>    numberRecordsChanged = numberRecordsChanged + 1

>   End If

>  End If 'endif: сравнение строк

> Next 'end for each


> Return numberRecordsChanged 'Количество обновленных записей

>End Function


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

>Private Function changeDayOfTravel_cachedColumnIndex( _

> ByVal creditCardNumber As String, ByVal newTravelDate _

> As DateTime) As Integer

> Dim numberRecordsChanged As Integer


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

> Dim dataTable_Customers As System.Data.DataTable


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

> dataTable_Customers = _

>  m_myDataSet.Tables(m_IndexOfTestTable)

> Dim currentCustomerRow As System.Data.DataRow

> For Each currentCustomerRow In dataTable_Customers.Rows

>  Dim currentCreditCard As String


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

>  currentCreditCard = CType(currentCustomerRow( _

>   m_IndexOfTestColumn_CreditCard), String)

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

>  If (creditCardNumber = currentCreditCard) Then

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

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

>   Dim currentTravelDate As System.DateTime = CType( _

>    currentCustomerRow (m_IndexOfTestColumn_TravelDate), System.DateTime)


>   If (currentTravelDate <> newTravelDate) Then

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