powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Значения по умолчанию
2 сообщений из 2, страница 1 из 1
Значения по умолчанию
    #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
Значения по умолчанию
    #32568493
Злобастый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почитай доку к InterBase. Дефолт срабатывает только в том случае, если в запросе на Insrеt это поле не фигурирует вообще. Т.е. отсутствует.
Подозреваю, что у тебя в PeriodSet->InsertSQL поле INDICATOR таки имеется.
В этом случае дефолт до лампочки.
Посмотри также в сторону триггеров. В данном случае тебе поможет BEFORE INSERT триггер .
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Значения по умолчанию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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