Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.19;
Скачать: CL | DM;

Вниз

А удалить запись не получается.   Найти похожие ветки 

 
Drowsy   (2009-03-05 10:31) [0]

Не форме грид и TIBDataSet со стандартными Sql - операторами на просмотр и редактирование.
Старт транзакции -> вызов формы редактирования -> коммитретэйн.
Получается, что инсерты и  редактирование фиксируются в базе,
а делиты никак.
Не понимаю почему.
Растолкуйте, пожалста.


 
Сергей М. ©   (2009-03-05 10:35) [1]

Значит WHERE-условие в DELETE-предложении не выполняется - запись для удаления попросту не локализована сервером при выполнении запроса на удаление.


 
anonims   (2009-03-05 10:38) [2]

до процедуры удаления дело не доходит
в SQL запросе на удаление есть ошибка
Сервер отказал по соображениям целостность БД

выбирай что больще подходит


 
Drowsy   (2009-03-05 10:48) [3]

как не может дойти до удаления?
запрос простой :
delete from MAIN
where
 PRID = :OLD_PRID and
 LAY4_CODE_ID = :OLD_LAY4_CODE_ID and
 PR_NAME = :OLD_PR_NAME and
 PR_CR_DATA = :OLD_PR_CR_DATA and
 PR_TYPE = :OLD_PR_TYPE
В базе одна таблица пока и целостность её несомненна. :)


 
Сергей М. ©   (2009-03-05 10:50) [4]


> anonims   (05.03.09 10:38) [2]


Первое еще как-то вероятно.
А второе и третье обязано вызвать исключение - автор бы это сразу прочувствовал, если он, конечно же, не давит исключения на корню не разбираясь


 
Drowsy   (2009-03-05 10:54) [5]

Исключени при кривых sql -кодах вываливаются исправно. в ом числе и при делейт - скюэле.
У меня DBGridEh.
Может он как-то хитро работает при удалении.


 
Сергей М. ©   (2009-03-05 10:55) [6]


> Drowsy   (05.03.09 10:48) [3]


А что, для удаления требуется именно такое сложное WHERE-условие ?
Указания PRID удаляемой записи разве не достаточно ?


 
Drowsy   (2009-03-05 10:57) [7]

..... а всё равно не удаляет.


 
Сергей М. ©   (2009-03-05 11:00) [8]

Транзакция тобой при этом точно подверждается ?


 
Drowsy   (2009-03-05 11:02) [9]

да. и всё другое, кроме делита работает.
Я пробовал даже дополнительной транзакцией обернуть удаление (есть ли кстати, в этом смысл),
before delete ->starttransaction/
after delete -> commit.


 
Сергей М. ©   (2009-03-05 11:16) [10]


> есть ли кстати, в этом смысл


Вряд ли.
В большинстве случаев достаточно 2-х ТА - одна на чтение, другая на любую модификацию.

Вставь в триггер на удаление любое отладочное действие и убедись в том что запрос доходит до сервера в ожидаемом тобой виде


 
Сергей М. ©   (2009-03-05 11:22) [11]

И, меж прочим, на той же вкладке палитры есть компонент TIBSQLMonitor - воспользуйся им для проверки уходит ли запрос на сервер и в каком конкретно виде


 
Drowsy   (2009-03-05 11:44) [12]


> Вставь в триггер на удаление любое отладочное действие и
> убедись в том что запрос доходит до сервера в ожидаемом
> тобой виде

это как?
я попробовал в DeleteSql записал модифицирующий:

update MAIN
set
....
where
....
Всё работает


 
Sergey13 ©   (2009-03-05 11:54) [13]

> [7] Drowsy   (05.03.09 10:57)
> ..... а всё равно не удаляет.

Опубликуй последнюю редакцию delete sql


 
Drowsy   (2009-03-05 11:58) [14]

delete from MAIN
where
 PRID = :OLD_PRID

"PRID" - автоинкрементное, ключевое поле.


 
Drowsy   (2009-03-05 12:00) [15]

... ни с каким foreig -ном не связаное.


 
Anatoly Podgoretsky ©   (2009-03-05 12:05) [16]

Это слова, а мы словам не верим.


 
Сергей М. ©   (2009-03-05 12:10) [17]


> это как?


Что "как" ?
Ну возьми да возбуди, к примеру, исключение а-ля

EXCEPTION "Сервер получил запрос на удаление записи c ID = " || cast(OLD.PRID AS VARCHAR(16))



Страницы: 1 вся ветка

Текущий архив: 2009.04.19;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.02 c
11-1172928776
Dmitry___
2007-03-03 16:32
2009.04.19
Сохранение контролов в файл


2-1235862485
Andrey K
2009-03-01 02:08
2009.04.19
Как добраться к свойствам компонентов.


1-1210074441
9899100
2008-05-06 15:47
2009.04.19
richedit


2-1236089287
Sergio
2009-03-03 17:08
2009.04.19
BDE+paradox


2-1235817524
Андрей (начинающий)
2009-02-28 13:38
2009.04.19
Как узнать имя TTF шрифта, если оно не совпадает с названием