Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Значения по умолчанию / 2 сообщений из 2, страница 1 из 1
19.06.2004, 19:24:58
    #32568476
pavel73
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значения по умолчанию
Создаю и модифицирую таблицу
CREATE TABLE PERIOD ( NAM VARCHAR(20) CHARACTER SET WIN1251 NOT NULL, INDICATOR SMALLINT, PRIMARY KEY (NAM) );
ALTER TABLE PERIOD DROP INDICATOR, ADD INDICATOR SMALLINT DEFAULT 1 NOT NULL;

Использую компонент со страницы InterBase(BCB6) PeriodSet :TIBDataSet:
DataModule1->PeriodSet->Insert();
DataModule1->PeriodSet->FieldByName("Nam")->AsString=FormatDateTime("MMMM.yyyy",DTP1->Date);
DataModule1->PeriodSet->Post();
Привыполнение данного кода генерируется сообщения об ошибке во время выполнение программы, как я понял проблема в том что field ‘indicator’ default ‘1’ не присваивается и остается null - значения, я только начало работать с InterBase и решил создать аналог bool поле как в paradox.
...
Рейтинг: 0 / 0
19.06.2004, 20:20:32
    #32568493
Злобастый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Значения по умолчанию
Почитай доку к InterBase. Дефолт срабатывает только в том случае, если в запросе на Insrеt это поле не фигурирует вообще. Т.е. отсутствует.
Подозреваю, что у тебя в PeriodSet->InsertSQL поле INDICATOR таки имеется.
В этом случае дефолт до лампочки.
Посмотри также в сторону триггеров. В данном случае тебе поможет BEFORE INSERT триггер .
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Значения по умолчанию / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]