Главная страница
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.014 c
14-100936
nick-from
2003-07-15 02:08
2003.07.31
проблема жилья в столицы


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


3-100620
LinOS
2003-07-09 08:24
2003.07.31
Как получить пользователя из SQLConnection??


11-100648
mike.dld
2002-11-11 15:54
2003.07.31
Опять StringGrid


1-100670
Salvator
2003-07-17 22:38
2003.07.31
Работа с Dll