Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > FIBPlus и добавление данных


Автор: TaNK 26.12.2007, 14:10
Вот сижу и туплю.....не могу понять...как добавлять данные в таблицу, когда в таблице есть генератор, который генерерует значение для не пустого поля COD из таблицы People.
Код

Dataset1.Insert;
 // DAtaset1.FieldByName('COD').AsString := Trim(COD.Text); // если это закентено то прога выдают ошибку 
  DAtaset1.FieldByName('Name1').AsString := Trim(Edit2.Text);
  Dataset1.FieldByName('Name2').AsString := Trim(Edit3.Text);
  DAtaset1.FieldByName('Name3').AsString := Trim(Edit4.Text);
  Dataset1.FieldByName('Birthday').AsDateTime := StrToDateTime(Trim(Edit6.Text));
  DAtaset1.FieldByName('Sex').AsString := Trim(Edit5.Text);
  Dataset1.Post;

?*????

Автор: Anark1 26.12.2007, 14:18
Что за поле COD ? 
NOT NULL ? UNIQUE ? AUTO INCREMENT (TRIGGER ON INSERT + GENERATOR)

Автор: TaNK 26.12.2007, 14:22
Код

CREATE TABLE PEOPLE
( COD       D_INTEGER NOT NULL,  /* Код человека */
  NAME1     D_CHAR15,            /* Имя */
  NAME2     D_CHAR15,            /* Отчество */
  NAME3     D_CHAR20,            /* Фамилия */
  BIRTHDAY  D_DATE,              /* Дата рождения */
  SEX       D_CHAR1 DEFAULT '0', /* Пол: */
                                 /* 0 - мужской, */
                                 /* 1 - женский. */
  FULLNAME  COMPUTED BY          /* Вычисляемый столбец */
    (NAME3 || ' ' || NAME1 || ' ' || NAME2),
  CODMOTHER    D_INTEGER,        /* Ссылка на мать */
  CODFATHER    D_INTEGER,        /* Ссылка на отца */
  CODOTHERHALF D_INTEGER,        /* Ссылка на супруга */
  CONSTRAINT PK_PEOPLE PRIMARY KEY (COD),
  CONSTRAINT CH_PEOPLE CHECK (SEX IN ('0', '1')),
  CONSTRAINT FK1_PEOPLE
    FOREIGN KEY (CODMOTHER) REFERENCES PEOPLE (COD)
      ON DELETE SET NULL,
  CONSTRAINT FK2_PEOPLE
    FOREIGN KEY (CODFATHER) REFERENCES PEOPLE (COD)
      ON DELETE SET NULL,
  CONSTRAINT FK3_PEOPLE
    FOREIGN KEY (CODOTHERHALF) REFERENCES PEOPLE (COD)
      ON DELETE SET NULL

Автор: Deniz 26.12.2007, 15:03
посмотри в pFIBDataSet.AutoUpdateOptions там  есть возможность настройки генератора

Автор: TaNK 26.12.2007, 15:38
Спасибо всем и в том числе Денизу +1
Вот решение...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)