Показать сообщение отдельно
  #4  
Старый 03.07.2013, 09:31
sAVe sAVe вне форума
Прохожий
 
Регистрация: 20.06.2013
Сообщения: 40
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Спасибо!
Вот у меня что получилось:

Код:
procedure TNew_office_contact.Button1Click(Sender: TObject);
begin

with DataModule1.IBQuery6 do
   begin
    SQL.Text:= 'insert into office_contacts (oc_o_id, oc_cntt_id, oc_contact) values ( :oc_o_id, :oc_cntt_id, :oc_contact)';
    ParamByName('oc_o_id').AsString:=DataModule1.IBQuery1DB1.FieldByName('O_ID').AsString;
    ParamByName('oc_cntt_id').AsString:= vartostr(DBLookupComboBox1.KeyValue);
    ParamByName('oc_contact').AsString:=Edit1.Text;
    Transaction.StartTransaction;
    ExecSQL;
    Transaction.Commit;
    Transaction.Active:=false
   end;
   DataModule1.IBQuery6.Close;
   DataModule1.IBQuery6.Open;

end;
Но вот беда, почему-то добавляется 2 одинаковые записи, прога ругается:

Project Project1.exe raised exemption class EIBInterBaseError with message 'violation of PRIMARY or UNIQUE KEY constraint "PK_OFFICE_CONTACTS' on table "OFFICE_CONTACTS". Process stopped и бла бла бла...
Ответить с цитированием