|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.07.2012, 12:08 | #1 |
Пользователь
Регистрация: 26.12.2010
Сообщений: 85
|
выбрасывается исключение по DBNull
В обработчике события регулярно возникает исключение "Object cannot be cast from DBNull to other types.", хотя должен происходить выход из обработчика по return. Если есть идеи, подскажите, в чем причина подобного поведения и можно ли его избежать, не оборачивая эту конструкцию в try-catch.
Код обработчика события: Код:
|
20.07.2012, 12:32 | #2 |
Пользователь
Регистрация: 03.07.2012
Сообщений: 18
|
такое ощущение что там сидит переменная типа DBNull а не его значение DBNull.Value;
проверь тип переменной в dr["field5"] |
20.07.2012, 12:56 | #3 |
Пользователь
Регистрация: 26.12.2010
Сообщений: 85
|
Вообще сама dr["field5"] является double, для этого и сделана конвертация в int.
И код этот работает, но иногда раз в час, а иногда раз в день выбрасывает это исключение. Не могу понять причину. Скорость обработки важна, поэтому не хочу использовать try-catch. |
20.07.2012, 13:23 | #4 |
Пользователь
Регистрация: 03.07.2012
Сообщений: 18
|
dr["field5"] тип object, и туда может попасть и переменная типа double и DBNull
Код:
|
20.07.2012, 13:39 | #5 |
Пользователь
Регистрация: 26.12.2010
Сообщений: 85
|
спасибо, попробую так
|
20.07.2012, 13:47 | #6 |
Форумчанин
Регистрация: 17.12.2008
Сообщений: 250
|
a так?
Код:
или так? Код:
или так? Код:
Последний раз редактировалось Reskov; 20.07.2012 в 13:52. |
20.07.2012, 14:30 | #7 |
Пользователь
Регистрация: 26.12.2010
Сообщений: 85
|
благодарю, погоняю разные варианты
|
20.07.2012, 18:19 | #8 |
Пользователь
Регистрация: 26.12.2010
Сообщений: 85
|
if (dr["field5"].GetType() != typeof(double))
return; так опять выбрасывает то же самое исключение, хотя в дебаггере это поле явно определяется как object {double}. тип поля вполне определенный, поэтому причина выброса исключения непонятна. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
WebClient исключение | MyXa | Общие вопросы .NET | 4 | 02.02.2011 13:47 |
Исключение равенства. | %$PROregRAMi$t% | Microsoft Office Excel | 2 | 06.06.2010 18:29 |
исключение из массива. | Arcueid1691 | Общие вопросы C/C++ | 2 | 24.11.2009 00:54 |
исключение эл-ов из массива | Arcueid1691 | Общие вопросы C/C++ | 9 | 08.10.2009 20:11 |
Исключение (Delphi) | VadEr | Помощь студентам | 2 | 05.06.2009 15:29 |