Хранимая процедура возвращает данные о записи пользователя, включая столбец даты и времени, допускающий значение NULL, для даты последнего входа в систему. Какой из них является лучшим выбором при работе с возможностью значений NULL при попытке назначить переменную даты .Net?
Try
_LastLogin = CDate(DT.Rows(0)("LastLogin"))
Catch ex As InvalidCastException
_LastLogin = Nothing
End Try
or
If DT.Rows(0)("LastLogin") Is DBNull.Value Then
_LastLogin = Nothing
Else
_LastLogin = CDate(DT.Rows(0)("LastLogin"))
End If
Изменить: я также забыл о возможности использования TryParse
If Not Date.TryParse(DT.Rows(0)("LastLogin").ToString, _LastLogin) Then
_LastLogin = Nothing
End If
Какой метод обработки возможных значений NULL
из базы данных является предпочтительным? Есть ли лучший способ, чем три перечисленных?
Правка №2. Я заметил, что метод TryParse
плохо работает при попытке присвоить тип Nullable
.