Добрый день!
Суть проблемы:
Имеем таблицу MyTable, содержащую поле MyData типа DateTime
В словаре поле описано типовым образом - строка, на которую через OVER наложена группа из полей типа DATE и TIME
В программе :
CLEAR(MyTable)
Mytable.Field1 = ..
...
Mytable.Fieldn = ..
(Полю MyData не присваиваем значение. В таблице на сервере для поля разрешен NULL)
Пытаемся добавить запись:
IF MAVINSERT(MyTable)
MAVSHOWERROR()
END
Получаем сообщение об ошибке - нельзя добавить значение 0 в поле типа DateTime.
Вопрос:
Имеется ли какая-либо возможность не делать перед insert / update проверку на ноль и принудительное присвоение SETNULL таким полям?
(вроде User Option в словаре или вроде того...)
SETNULL
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Admin
- Администратор
- Сообщения: 3962
- Зарегистрирован: 05 Июль 2005, 15:59
- Откуда: Хабаровск
- Благодарил (а): 27 раз
- Поблагодарили: 22 раза
- Контактная информация:
Re: SETNULL
Если я правильно понимаю все должно работать.
Пробуй MAVCLEAR(MyTable)
Пробуй MAVCLEAR(MyTable)
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Re: SETNULL
забудте про SENULL, это функция нужна только при работе FILE,DRIVER, в моей библиотеке при первом доступе к структурам их DCT делается проверка соответствия типов данных в DCT и в БД, а также - разрешён NULL или нет для поляsamo_let писал(а):Имеется ли какая-либо возможность не делать перед insert / update проверку на ноль и принудительное присвоение SETNULL таким полям?
(вроде User Option в словаре или вроде того...)
так вот, если для поля разрешён в БД NULL и в INSERT, UPDATE есть такие поля нулевые, то в БД идёт NULL
другое дело, если Вы хотите вместо NULL записать НОЛЬ, а в БД для поля NULL разрешён, для этого в DCT для поля в Field User Option прописываем
NOTNULL=TRUE