NULL в БД

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

NULL в БД

Сообщение kroskros » 11.08.2005 (Чт) 6:17

Заполняю текстбоксы значениями из БД (SQL 2000).
Если поле БД не заполнено (null), то приложнеие ругается,
мол "не могу преобразовать NULL в строковое значение".
Я поместил код считывания в
If данные_из_базы Is DBNull Then...
дабы отлавливать нули... Т.е. проблему решил.

Теперь вопрос.
А ВООБЩЕ, такой подход верен?
я имею ввиду, это нормально, городить такую конструкцию
каждый раз, когда надо считать строку из БД?

Вариант с DataGrid я знаю, но в данном случае не подходит

С ааааафигенной жаждой знаний,
я
Max

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 11.08.2005 (Чт) 9:28

Проверять или досконально быть уверенным в их отсутствии...
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.08.2005 (Чт) 9:39

Сделать так, чтобы хранимая процедура базы при возвращении рекорд/датасета заменяла Null на ''.
Или сделать так, чтобы хранимая процедура внесения данных ещё на стадии внесения заменяла Null на ''.
Например.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

vrodo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 09.10.2003 (Чт) 18:45
Откуда: Дубна МО, Москва

Сообщение vrodo » 11.08.2005 (Чт) 10:29

Используй "сущности"
Чтобы понять свои ошибки их достаточно написать (c)
Интернет большой, ему видней
С наилучшими Пожеланиями и Всех Благ :D

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 11.08.2005 (Чт) 10:51

To: GSerg
Спасибо. Попробую.

To: vrodo
vrodo писал(а):Используй "сущности"

:shock: К стыду моему...
Это больше напоминает мне напутствие джедаю, нежели
руководство к действию.
это КАК? это ГДЕ?
Max

vrodo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 09.10.2003 (Чт) 18:45
Откуда: Дубна МО, Москва

Сообщение vrodo » 11.08.2005 (Чт) 12:15

Чтобы понять свои ошибки их достаточно написать (c)
Интернет большой, ему видней
С наилучшими Пожеланиями и Всех Благ :D

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.08.2005 (Чт) 12:18

А как "сущности" связаны с Null? :?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

vrodo
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 09.10.2003 (Чт) 18:45
Откуда: Дубна МО, Москва

Сообщение vrodo » 11.08.2005 (Чт) 12:44

напрямую :)
теорию я дал читайте + можно еще поискать по сети дополнительную информацию
смысл в том что есть слой для считывания информации, а есть бизнес-логика и их нельзя смешивать
а еще желательно добавить слой защиты
все Null надо обрабатывать на слое считывания информации (DTO - Data Trensfer Objects)
Чтобы понять свои ошибки их достаточно написать (c)
Интернет большой, ему видней
С наилучшими Пожеланиями и Всех Благ :D

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 11.08.2005 (Чт) 13:06

Ужас...

Есть база.
Есть абстрагированный доступ к базе, обеспечиваемый, во-первых, дата провайдером, и во-вторых, хранимыми процедурами базы.
Больше для работы вообще ничё не надо...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

kroskros
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 176
Зарегистрирован: 01.08.2005 (Пн) 6:59

Сообщение kroskros » 11.08.2005 (Чт) 13:23

ясна...
"ДА ПРЕБУДЕТ С ТОБОЙ СИЛА!" :D
пойду, прилягу куда-нибудь...

Вопрос разработки базы оставлю в стороне, мне надо ковырять
уже существующую, более того, существующую именно с НУЛЯми.
Буду копатьв направлении хранимых процедур... и "до обеда", видать

ВСЕМ спасибо!
Max


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList