Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
14-100895
Tornado
2003-07-14 13:27
2003.07.31
DBGrid


3-100585
??
2003-07-08 18:46
2003.07.31
про ADO.


3-100593
paxer
2003-07-07 11:47
2003.07.31
Какие компоненты доступа к БД FireBird использовать?


1-100686
dataMaster
2003-07-18 09:22
2003.07.31
Нет коннекта к Excel


1-100757
Keith Flint
2003-07-16 16:10
2003.07.31
Ошибка при проверке сосотояния чекбокса в побочной форме




   Наверх