Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.06.2018, 11:58
zqqwerty zqqwerty вне форума
Прохожий
 
Регистрация: 20.06.2018
Сообщения: 1
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Mismatch in datapacket (компоненты IBTable)

База на Firebird 2.5
Вставка записей в таблицы ITEM_PARAMS, EVR_ITEMS происходит через компоненты IBTable (atItemParams, atEvrItems).
В таблице EVR_ITEMS поле ITEM_ID с ключем primary key
В таблице ITEM_PARAMS два поля: ITEM_ID, PARAM.
PK_ITEM_PARAMS (primary key) действует на эти два поля.

Периодически возникает ошибка
ОШИБКА:'violation of PRIMARY or UNIQUE KEY constraint "PK_ITEM_PARAMS" on table "ITEM_PARAMS"'
за ней
ОШИБКА:'Mismatch in datapacket.'

Поле ITEM_ID в таблице ITEM_PARAMS заполняется из таблицы EVR_ITEMS, где этому полю присваиваются значения через генератор (генератор выполняется в триггере, выдает значение перед вставкой в таблицу EVR_ITEMS):
AS
begin
NEW.ID = GEN_ID(GEN_EVR_ITEMS_ID,1);
if (new.item_no = -1) then
new.item_no = null;
end

Изменения в базу записываются путем выполнения последовательно
atEvrItems.Open;
atItemParams.Open;

Пробовал убрать триггер и генерировать новые ITEM_ID в коде,
пробовал переписать триггер как в официальном мануале http://www.ibase.ru/generator/
Не помогло, ошибка возникает регулярно, но большую часть времени код работает правильно, программа не многопользовательская
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2018

ВКонтакте   Facebook   Twitter