Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.035 c
14-1101642690
ИМХО
2004-11-28 14:51
2004.12.26
Знатокам компьютерных игр


1-1102498183
Dolphin001
2004-12-08 12:29
2004.12.26
WebBrowser charset


4-1100073222
Lika
2004-11-10 10:53
2004.12.26
Com-порт


9-1093594586
RagE
2004-08-27 12:16
2004.12.26
Курсор и OpenGL


4-1100075950
vvs
2004-11-10 11:39
2004.12.26
эмуляция нажатия чужой кнопки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский