Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.31;
Скачать: CL | DM;

Вниз

Значения по умолчнию   Найти похожие ветки 

 
Cranium ©   (2003-07-08 20:15) [0]

Не подставляются значения по умолчанию в поля где они опредлены вот к примеру таблица....

CREATE TABLE GROUP_AND_USER (
ID_OBJECT INTEGER NOT NULL,
ID_PARENT INTEGER,
COUNT_CHILDREN INTEGER DEFAULT 0
);
Что характерно из моего приложения не подставляются, а из IBexpert"а пожалуйста.... Использую IDX IBDataSet.... В приложении при вставке COUNT_CHILDREN ни чего не присваивается...


 
Zacho ©   (2003-07-09 08:05) [1]

Дело в том, что default значение подставляется только тогда, когда запрос имеет вид INSERT INTO TABLE GROUP_AND_USER (ID_OBJECT,ID_PARENT) VALUES (:ID_OBJECT, :ID_PARENT) В твоем же случае происходит выполнение запроса INSERT INTO TABLE GROUP_AND_USER (ID_OBJECT,ID_PARENT, COUNT_CHILDREN) VALUES (:ID_OBJECT, :ID_PARENT, :COUNT_CHILDREN) , где :COUNT_CHILDREN=NULL. Поэтому после выполнения этого запроса в поле COUNT_CHILDREN оказывается NULL.
Решить эту проблему можно несколькими способами:
1. Написать триггер BEFORE INSERT следующего вида:
CREATE TRIGGER GROUP_AND_USER_BI0 FOR GROUP_AND_USER
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.COUNT_CHILDREN IS NULL) THEN NEW.COUNT_CHILDREN=0;
END

2. В обработчике события OnNewRecord датасета присваивать 0 этому полю.
Ну и еще можно варианты придумать, эти просто первые, пришедшие мне в голову.


 
Zacho ©   (2003-07-09 08:15) [2]


> Zacho © (09.07.03 08:05)

Естественно, слово TABLE в запросах лишнее :) Название таблицы я просто скопировал, и не обратил внимание, что туда вкралось TABLE :-))


 
KDS ©   (2003-07-10 16:44) [3]

>COUNT_CHILDREN INTEGER DEFAULT 0

ЧТОБЫ ПОДСТАВЛЯЛОСЬ НАДО ДОПИСАТЬ not null в конце строки
всего лишь, а не городить триггеры и прочее



Страницы: 1 вся ветка

Текущий архив: 2003.07.31;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
1-100774
artemkin
2003-07-15 21:29
2003.07.31
Мышь


1-100798
Sectey
2003-07-14 10:18
2003.07.31
Классы и интерфейсы


4-101022
pirat
2003-05-27 21:14
2003.07.31
Как получить число секунд с 1 января 1970 года ?


1-100801
Chinas
2003-07-17 11:30
2003.07.31
Как открыть форму из bpl-файла?


4-101015
VP
2003-05-26 11:29
2003.07.31
ShellExecute ???????????