Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Could not convert variant of type (Null) into type (String) [D7, dBase, FoxPro]


Scorpio ©   (2004-12-28 10:28:00) 

Объясните, работаю с 2 базами отдельно ошибок нет, когда соединяю их то выдает "Could not convert variant of type (Null) into type (String)". Как мне это обойти ??


Scorpio   (2004-12-28 12:18:00) [1]

всем спасибо программа заработала, правда значений небыло в другом поле (ab_)


Anatoly Podgoretsky   (2004-12-28 11:48:00) [2]

Да но только он утверждает, что там значения есть, врет конечно.


DSKalugin   (2004-12-28 11:08:00) [3]

>"Could not convert variant of type (Null) into type (String)".
>Как мне это обойти ??

да хто блин к значениям так обращается внатуре?
ADODataSet2['wn_']:-((((((((((((
в результате возвращается значение типа Variant
а тебе нужна строка! И если там Null, то она не может адекватно сравниваться со строчным значением.

почему бы явно не написать
ADODataSet2.FieldByName('wn_').AsString
тем самым ты обойдешь эту яму


sniknik   (2004-12-28 11:02:00) [4]

> потом останавливается на строчке
обычно останавливается на следующей после глючной строке.
если у тебя это учтено и действительно глюк в этой, то проверь так
if not ADODataSet2['wn_'].IsNull then
 if (pos ('20', str) > 0) and ((ADODataSet2['wn_'] = '27') or (ADODataSet2['wn_'] = '29')) then
   if pos (' 1', ab) > 0 then n3 := n3 + 1;


Плохиш   (2004-12-28 10:53:00) [5]

1. xxx.AsString
2. try except end


Scorpio   (2004-12-28 10:51:00) [6]

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


Johnmen   (2004-12-28 10:43:00) [7]

В поле wn_ нет значения.


Scorpio   (2004-12-28 10:38:00) [8]

работаю с ADODataSet
select * from za22, lnk, rp where za22.ni=lnk.rec1 and lnk.idl=2 and lnk.rec2=rp.ni

потом останавливается на строчке
if (pos ('20', str) > 0) and ((ADODataSet2['wn_'] = '27') or (ADODataSet2['wn_'] = '29')) then
                       if pos (' 1', ab) > 0 then
                         n3 := n3 + 1;
и выдает ошибку.


Плохиш   (2004-12-28 10:36:00) [9]

Ошибка в 17й строке


Johnmen   (2004-12-28 10:33:00) [10]

Кто выдает ? Что такое "соединяю" ?
Фраза адекватно переводится на русский...


Наверх

Титульная страница Поиск, карта сайта Написать письмо