![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]Кто выдает ? Что такое "соединяю" ?
Фраза адекватно переводится на русский...