Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.26;
Скачать: CL | DM;

Вниз

Ошибка при добавлении записи   Найти похожие ветки 

 
kolos_rus   (2004-11-24 15:32) [0]

Имеется тригер и генератор для заполнения ключевого поля в таблице. При добавлении записи выдается ошибка : Поле ID должно иметь значение. Тригер что ли не срабатывает? И как это обойти.


 
Johnmen ©   (2004-11-24 15:52) [1]

Просто не указывать это поле в insert.
Или Required = False


 
kolos_rus   (2004-11-24 15:57) [2]

Поле в insert не указано. А что это такое Required и где его искать?


 
Johnmen ©   (2004-11-24 16:02) [3]

Свойство TField.
А как вставляешь ?


 
Rule ©   (2004-11-24 16:03) [4]

kolos_rus   (24.11.04 15:57) [2]
в твоем наследнике TCustom Field  или в самой базе (смотря де поставил, скорее всего второе)


 
kolos_rus   (2004-11-24 16:44) [5]

Использую IBDataSet. Описаны поля.
Ibdataset1.append;
ibdataset1first_time.asdatatime:=date;
ibdataset1.post;


 
Rule ©   (2004-11-24 17:39) [6]

код инсетрСКУЭль и скрипт таблицы в базе в студию


 
kolos_rus   (2004-11-25 09:01) [7]

Скрипт

CREATE GENERATOR GEN1;

CREATE TABLE JURNAL (
   ID          INTEGER NOT NULL,
   TIME_FIRST  TIMESTAMP,
   TIME_LAST   TIMESTAMP,
   TIME_RAB    INTEGER,
   TIME_INT    INTEGER,
   SUMMA       DECIMAL(15,2)
);

/******************************************************************************/
/***                              Primary Keys                              ***/
/******************************************************************************/

ALTER TABLE JURNAL ADD CONSTRAINT PK_JURNAL PRIMARY KEY (ID);

/******************************************************************************/
/***                                Triggers                                ***/
/******************************************************************************/

SET TERM ^ ;

/* Trigger: JURNAL_BI0 */
CREATE TRIGGER JURNAL_BI0 FOR JURNAL
ACTIVE BEFORE INSERT POSITION 0
AS
begin
 /* Trigger text */
 if (new.id is null) then
 new.id = gen_id(gen1,1);
end
^

SET TERM ; ^

Добавление записи из DELPHI в [5]


 
kolos_rus   (2004-11-25 09:02) [8]

insert into JURNAL
 (TIME_FIRST, TIME_LAST, TIME_RAB, TIME_INT, SUMMA)
values
 (:TIME_FIRST, :TIME_LAST, :TIME_RAB, :TIME_INT, :SUMMA)


 
Johnmen ©   (2004-11-25 09:42) [9]

>kolos_rus

А в SELECT"е небось поле ID получаешь ?
Тогда добавь его в инсерт, но не заполняй.


 
Rule ©   (2004-11-25 09:50) [10]

В свойствах Датасета есть такое GeneratorField, вот заполни там все, почитай должно быть все понятно


 
kolos_rus   (2004-11-25 10:23) [11]

Спасибо! GeneratorField помог, хотя я всегда считал, что достаточно тригера в базе. Ерунда какая-то.


 
Lenulja   (2004-11-26 17:37) [12]

Priwetik! Ljudi pomogite ja pischu w ankete komentarii naschimaju dobawit", a menja vykidiwaet na glawnuju i pischetsja " oschibka dobawlenija Nr.1"



Страницы: 1 вся ветка

Текущий архив: 2004.12.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.081 c
6-1097541468
Tatyana
2004-10-12 04:37
2004.12.26
webbrouser


14-1102051996
MBo
2004-12-03 08:33
2004.12.26
Пятница. Задачки. Вася Пупкин снова в бою ;)


14-1101808213
Sur
2004-11-30 12:50
2004.12.26
PL/1 - Programming Language One


3-1101388631
Bless
2004-11-25 16:17
2004.12.26
q.FilterGroup:=fgPredicate Как этим пользоваться?


14-1102353211
Кудесник
2004-12-06 20:13
2004.12.26
Домашняя сеть...