Форум: "Базы";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];
ВнизВ чем разница между VarIsEmpty(NewVal) и VarIsNull(NewVal) ? Найти похожие ветки
← →
kyn66 © (2006-09-21 12:15) [0]Уважаемые мастера, помогите разобраться в данной ситуации. При добавлении или редактировании данных в таблице использую следующий код:
var
NewVal, TmpVal : Variant;
begin
NewVal := ClientTblDoccod.NewValue;
TmpVal := ClientTblDocser.NewValue;
if ((not VarIsEmpty(NewVal)) or (not VarIsNull(NewVal))) and
(NewVal = "01") and
((not VarIsEmpty(TmpVal)) or (not VarIsNull(TmpVal))) then
St.Append("Сообщение об ошибке");
end;
Может что не так с синтаксисом? Если в режиме редактирование ставлю пустым поле для TmpVal, или оно изначально пустое, то срабатывает добавление ошибочного сообщения. Т.е. оно не должно добавляться, когда NewVal = "01" и TmpVal - пустое, а оно всеравно добавляется.
← →
ЮЮ © (2006-09-21 12:27) [1]когда NewVal = "01" и TmpVal - пустое оно и не NULL тоже.
((not VarIsEmpty(TmpVal)) or (not VarIsNull(TmpVal))) всегда ИСТИНА
← →
ЮЮ © (2006-09-21 12:39) [2]NULL и Unasigned это ещё два возможных значения для Variant
VarIsEmpty(Unasigned) = true и false для других значений variant
VarIsNull(NULL) = true и false для других значений variant
Ни один variant не может быть сразу и NULL и Unasigned, поэтому
((not VarIsEmpty(TmpVal)) or (not VarIsNull(TmpVal))) ИСТИННО для люблго значения TmpVal
← →
umbra © (2006-09-21 15:23) [3]
VarIsClear(TmpVal) or VarIsClear(NewVal) or (NewVal = "01")
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.11.19;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.036 c