Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.045 c
2-1236089287
Sergio
2009-03-03 17:08
2009.04.19
BDE+paradox


2-1235823045
huge
2009-02-28 15:10
2009.04.19
Сохранение в файл объекта


3-1219219719
Max Zyuzin
2008-08-20 12:08
2009.04.19
ADO. переподключение после обрыва соединения


15-1224504901
Правильный$Вася
2008-10-20 16:15
2009.04.19
глобальный кризис и программисты


2-1236238302
Drowsy
2009-03-05 10:31
2009.04.19
А удалить запись не получается.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский