Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемка с нулем 
:(
    Опции темы
cosamia
Дата 25.7.2006, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 11.5.2005

Репутация: нет
Всего: нет



Есть поле в таблице типа int.
Есть записть в таблице, в этом поле стоит null

читаю в класс значение из этого поля 
...
(int) reader["Telephone"]
...

Происходит ошибка.

Нужна проверка на null.
Что-то вроде If (reader.GetInt32["Telephone"]==SqlType.SqlInt.Null){
...
}

Хотелось бы уточнить по-поводу SqlType.SqlInt.Null, что то я неправильно написал тут
а синтаксис не помню... 
PM   Вверх
Дрон
Дата 25.7.2006, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 2
Всего: 93



Вроде как во втором фрэймворке есть какие-то новые фичи на этот счёт, но обычно делается так:
Код
If(reader["Telephone"] == DBNull.Value)

  

Это сообщение отредактировал(а) Дрон - 25.7.2006, 13:22


--------------------
Да. Именно так.
PM   Вверх
mr.DUDA
Дата 25.7.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 5
Всего: 232



Лучше так:

Код
if (!reader.IsDBNull("Telephone"))
{
    // ...
}
  


--------------------
user posted image
PM MAIL WWW   Вверх
Дрон
Дата 25.7.2006, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 2
Всего: 93



Да, вероятно здесь это лучше, но знать про DBNull всё-таки не помешает. Он же не только в DataReader может встретится smile  

Это сообщение отредактировал(а) Дрон - 25.7.2006, 14:43


--------------------
Да. Именно так.
PM   Вверх
Exception
Дата 25.7.2006, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 9
Всего: 186



Насколько я знаю, в .NET 2.0 SqlTypes реализуют INullable, так что мы можем написать
Код
if (!reader["Telephone"].IsNull) { /*...*/ }
 
PM   Вверх
Дрон
Дата 25.7.2006, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 2
Всего: 93



Цитата(Exception @  25.7.2006,  16:12 Найти цитируемый пост)
Насколько я знаю, в .NET 2.0 SqlTypes реализуют INullable, так что мы можем написать

SqlTypes с INullable есть и  .NET 1.1

Другое дело, что у автора изначально ошибка в том, что reader.GetInt32 это совсем не то же самое, что reader.GetSqlInt32 smile

 


--------------------
Да. Именно так.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.