Форум: "Базы";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];
ВнизНе удаляется запись Найти похожие ветки
← →
Kirill © (2004-05-02 01:59) [0]Совсем запутался...
В TpFIBDataSet в DeleteSQL прописалDELETE FROM tblbooks B WHERE B.IDB = :OLD_IDB
, где IDB - PK.
Добавил 2 транзакции trRead и trWriteread
nowait
rec_version
read_committedwrite
nowait
rec_version
read_committed
AutoCommit выставил в True.
На нажатие кнопки делаюtblBooks.Delete
Из таблицы запись пропадает, но после отсоединения от БД и восстановления соединения запись как будто не трогали. Она на своем старом месте.
БД Firebird 1.5
← →
Kirill © (2004-05-02 02:14) [1]К этому хочу еще добавить, что изменения тоже не хотят сохранятся, но в данном случае изменения вообще не появляются.
UPDATE BOOKS B
SET
B.BNAME = :BNAME,
B.AUTHOR = :MAS_IDA,
B.POSIT = :POSIT
WHERE B.IDB = :OLD_IDB
, где IDA PK таблицы AUTHORtblBooks.Edit;
tblBooks.FieldByName("BNAME").AsString:=fbookname;
tblBooks.FieldByName("POSIT").AsInteger:=fposit; //целое
tblBooks.Post;
← →
P.N.P. © (2004-05-02 02:28) [2]Может следует сделать принудительный commit транзакциям?
← →
Kirill © (2004-05-02 02:46) [3]
> Может следует сделать принудительный commit транзакциям?
Делал, тоже не помогает. Самое интересное, что вставка работает. Также работает справочник авторов, а вот таблица, использующая внешний индекс не хочет нормально изменять и удалять.
← →
Kirill © (2004-05-03 00:28) [4]Спасибо большое. Сам разобрался. Вся трабла заключалась в том, что я юзаю для просмотра в select"е представление, а удалять пытаюсь из таблицы. У них одинаковые значения PK, но разные названия. Изменил на это
DELETE FROM tblbooks B WHERE B.IDB = :OLD_ID
и все заработало. Аналогично и в изменении.
У меня возник другой вопрос, но это уже в новом топике...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.031 c