Форум: "Базы";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
ВнизОшибка при добавлении записи Найти похожие ветки
← →
Ренат (2002-11-06 10:47) [0]Вываливается ошибка BDE "Record/Key deleted"
Однако новая запись в таблицу добавляется
Что это значит?
← →
Alexandr (2002-11-06 10:57) [1]это значит, что запись вставлена, но найти после вставки ее БДЕ не смогла.
Видимо, тут триггеры руку приложили и изменили запись слегка...
← →
Max Zyuzin (2002-11-06 10:59) [2]Каким образом вставляется запись? Есть ли триггеры?
← →
Ренат (2002-11-06 11:22) [3]да естьт такой триггер
CREATE TRIGGER TBL FOR TBL BEFORE INSERT POSITION 0 as
declare variable newDIF integer;
begin
if (new.DIF <= 0) then begin
select max(DIF)+1 from TRN where PID=new.PID
into :newDIF;
if (newDIF is NULL) then newDIF = 0;
new.DIF = :newDIF;
end
end
Вроде все правильно?
← →
Ренат (2002-11-06 11:23) [4]from tbl конечно но не в этом дело
← →
Johnmen (2002-11-06 11:26) [5]Все в корне неверно !
Ункальные ID получаются не так, а с использованием генератора !
← →
Ренат (2002-11-06 11:26) [6]короче эта ошибак вываливается когда new.DIF <= 0
а когда
new.DIF = NULL то Multiple records found, but only one was expected.
← →
Ренат (2002-11-06 11:29) [7]ID не для таблицы, а для каждого поля pid д.б. уник
генератор не катит
← →
Ренат (2002-11-06 11:39) [8]
> Alexandr © (06.11.02 10:57)
> это значит, что запись вставлена, но найти после вставки
> ее БДЕ не смогла.
можно поподробнее?
← →
Max Zyuzin (2002-11-06 11:41) [9]Так давайте по порядку у вас ключевой поле в таблице какое? Если DIF, то я согласен с Johnmen © (06.11.02 11:26)
И почему не кактит генератор?
← →
Johnmen (2002-11-06 11:41) [10]>Ренат © (06.11.02 11:29)
Не понял...???
← →
Ренат (2002-11-06 11:45) [11]PRIMARY KEY (PID, DIF)
← →
Ренат (2002-11-06 11:49) [12]не пойму почему вставляет запись и ругается?
← →
Alexandr (2002-11-06 11:50) [13]ну а я тебе про что говорил?
← →
Ренат (2002-11-06 11:51) [14]что делать-то?
← →
Alexandr (2002-11-06 11:53) [15]1) выкинуть BDE
2) Как вставка-то идет?
← →
Max Zyuzin (2002-11-06 11:54) [16]>Ренат © (06.11.02 11:51)
А каким образом у вас тогда значиени PID вычисляется? В смысле от куда берется?
← →
Ренат (2002-11-06 11:55) [17]да их я как бы руками ввожу
здесь ошибки нет
← →
Max Zyuzin (2002-11-06 11:58) [18]Тогда покажите код, как добавляете запись.
← →
Ренат (2002-11-06 12:01) [19]Table1.Append;
Table1.FieldValues["PID"]:=1;
Table1.Post;
← →
Max Zyuzin (2002-11-06 12:04) [20]http://www.programmist.info/bd/ib/ibfaq.html#1.43
Почитайте эту ссылку.
← →
Max Zyuzin (2002-11-06 12:07) [21]http://www.sql.ru/docs/interbase/generator.shtml
Вот еще.
А вообще лучше отказаться от BDE и работать с IB на прямую. Как и советовал Alexandr © (06.11.02 11:53)
← →
Ренат (2002-11-06 12:13) [22]
> Max Zyuzin © (06.11.02 12:07)
понял спасибо
← →
Alexandr (2002-11-06 12:41) [23]блин, ты бы сразу сказал, что используешь Table, мы бы тебя уже давно тухлыми помидорами закидали и ты бы уже давно пошел юзать TQuery, да и отмыться уже даже успел бы.
А так, развел тут флейм...
← →
Max Zyuzin (2002-11-06 12:45) [24]>Alexandr © (06.11.02 12:41)
Давно так не смеялся :)
>Ренат © (06.11.02 12:13)
Сообщи о результатах, как будут :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.008 c