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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как быть с null в база данных? 
:(
    Опции темы
Vit
Дата 21.4.2007, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


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

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



Код простейший:

Код
  SqlCommand q = new SqlCommand("Select a from MyTabele", Connection);
  SqlDataReader reader = q.ExecuteReader();
  if (!reader.Read()) return false;
  a= (int)reader["Result"]


В последней строке, если null в базе данных то генерится ошибка. Я знаю массу способов исправить это - от написания в запросе IsNull до написания If в коде или своей функции конвертации, а может есть что-то встроенное?




--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
6atoh
Дата 21.4.2007, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Попробуй
Код

a = Int32.Parse(reader["Result"].ToString());

PM MAIL ICQ   Вверх
HalkaR
Дата 21.4.2007, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


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

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



Способов много, можно использовать Nullable int.
Код

int? a= (int?)reader["Result"]


Добавлено через 4 минуты и 17 секунд
Или использовать SQLInt32.

Это сообщение отредактировал(а) HalkaR - 21.4.2007, 23:33
PM MAIL   Вверх
6atoh
Дата 21.4.2007, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Прикольно, не знал про Nullable int. Это структурный тип? Какое у него будет значение в данном случае?
PM MAIL ICQ   Вверх
HalkaR
Дата 22.4.2007, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


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

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



Типа Nullable int нет, есть тип Nullable<int>, он ссылочный. int? - это синтаксический сахар.
PM MAIL   Вверх
mr.DUDA
Дата 22.4.2007, 00:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Метод SqlDataReader.IsDBNull (номер_колонки) вернёт true если в поле нулевое значение.


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

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

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

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


 




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


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

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