Invalid use of Null

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Beerkoff
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 09.07.2003 (Ср) 18:40
Откуда: Sochi

Invalid use of Null

Сообщение Beerkoff » 07.08.2003 (Чт) 15:38

Люди добрые, помогите ламерю!
При попытке вывести из таблицы поле с не введенным значением в
текстовое поле таким способом ->

txtName.Text = RecordSet!название_поля

выдает ошибку Invalid use of Null! Подскажите плиз, как с этим
бороться!
Заранее благодарен!

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 07.08.2003 (Чт) 15:40

Если поле текстовое, то просто
Код: Выделить всё
txtName.Text = RecordSet!название_поля & ""


если числовое, то
Код: Выделить всё
If (IsNull(RecordSet!название_поля)) Then txtName.Text = 0 Else txtName.Text = RecordSet!название_поля

Beerkoff
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 09.07.2003 (Ср) 18:40
Откуда: Sochi

Сообщение Beerkoff » 08.08.2003 (Пт) 12:03

2 skiperski

Грейт Сенькс анд РЕспект! :)
Чесно говоря были мысли о чем-то подобном,
но аналогичных случаев не нашел, а собственного
опыта почти нет! :)

Beerkoff
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 09.07.2003 (Ср) 18:40
Откуда: Sochi

Дата

Сообщение Beerkoff » 07.09.2003 (Вс) 6:22

У меня опять проблема!
Подсказите плиз, как сделать, чтобы в таблице оставалось пустым
поле с датой, если оно не введено в текстовое поле, когда апдейтишь данные?

Естественно обычным способом

rs.AddNew
RS!дата_рождения = txtBirth.Text
rs.Update

ничего не получается, выдает ошибку преобразования типа данных...

Заранее благодарен!

boevik
Обычный пользователь
Обычный пользователь
 
Сообщения: 72
Зарегистрирован: 23.07.2002 (Вт) 11:44
Откуда: Israel

Сообщение boevik » 07.09.2003 (Вс) 8:51

в строке RS!дата_рождения = txtBirth.Text происходит изменение типа String в тип Date.
Пустая строка не может быть изменена на тип Date.
Решение возможно следуещее
Код: Выделить всё
if len(txtBirth.Text)>0 then
   rs.AddNew
   RS!дата_рождения = txtBirth.Text
   rs.Update
end if

или
Код: Выделить всё
rs.AddNew
RS!дата_рождения = iif(len(txtBirth.Text)>0, txtBirth.Text , NULL)
rs.Update

Beerkoff
Начинающий
Начинающий
 
Сообщения: 10
Зарегистрирован: 09.07.2003 (Ср) 18:40
Откуда: Sochi

Сообщение Beerkoff » 09.09.2003 (Вт) 6:31

2 boevik

Респект, все работает! :)


Вернуться в Базы данных

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

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

    TopList