Главная страница
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.017 c
14-100955
stone
2003-07-15 15:13
2003.07.31
Как это может быть правдой?


1-100816
@Ujin
2003-07-17 15:12
2003.07.31
В чем разница? : M2 := TMemo(M1) и M2 := (M1 as TMemo)?


7-100993
NorthMan
2003-05-20 20:25
2003.07.31
Можно ли сгенерить GUID программно?


3-100552
Ich Hasse
2003-07-08 00:38
2003.07.31
Поиск по первым буквам (SQL)


1-100668
race1
2003-07-18 07:37
2003.07.31
var array