Savl |
Отправлено: 19.06.2004, 18:34 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 3
|
Создаю и модифицирую таблицу
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 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.
|
|
AVC |
Отправлено: 21.06.2004, 09:04 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Возможно ошибку вам выдает не сервер а компонент, который ни чего о default не знает. Если это так отключите у него встроенные проверки.
А зачем так сложно создавать таблицу, что конструкция
CREATE TABLE PERIOD
(NAM VARCHAR(20) CHARACTER SET WIN1251 NOT NULL Primary Key
,INDICATOR SMALLINT default 1 not Null
)
в InterBase не работает ?
|
|
olegenty |
Отправлено: 21.06.2004, 11:24 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
да нет, тут скорее проблема в том, что у Primary Key, который ДОЛЖЕН быть уникальным, ты додумался установить значение по умолчанию. предположим на секунду, что у тебя УЖЕ ЕСТЬ в таблице поле со значением ключа = 1. ты создаёшь новую запись. заполняешь одно поле даты, постишь. сервер вмето null в ключ подставляет 1, но у него уже есть поле с ключом = 1. и он тебя посылает туда, куда посылает. заметь — обоснованно посылает.
|
|
AVC |
Отправлено: 21.06.2004, 11:38 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Внимание
QUOTE (Savl @ писал) |
PRIMARY KEY (NAM)
|
|
|
olegenty |
Отправлено: 22.06.2004, 06:48 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
я лоханулся. предположение AVC верно на 100% (про проверки).
|
|
Nick |
Отправлено: 22.06.2004, 09:24 |
|
Машинист паровоза
Группа: Участник
Сообщений: 247
|
просто тяжело въехать сразу, что в таблице
с одним текстовым полем и одним числовым примари кеу поставили на текстовое |
|