Интерфейс IDataRecord
(который является одним из интерфейсов, реализуемых базовым классом DbDataReader
) предоставляет только метод Function GetDateTime(i As Integer) As Date
. Его единственным параметром является целое число, которое определяет индекс поля. В IDataRecord
нет перегрузки GetDateTime
, которая принимает строковый аргумент для имени поля.
Вы можете использовать метод IDataRecord
Function GetOrdinal(name As String) As Integer
, чтобы получить индекс поля и передать его в метод GetDateTime
. Примерно так:
sDate = reader.GetDateTime(reader.GetOrdinal("PT_TimeIn")).ToShortDateString
sTime = reader.GetDateTime(reader.GetOrdinal("PT_TimeIn")).ToShortTimeString
Надеюсь, это поможет.