powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
10 сообщений из 10, страница 1 из 1
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
    #36332332
Striderr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.
Ситуация следующая.

Реализую удаление данных из таблицы БД.
Связка IBDataBase+IBTransaction+IBDataSet+DataSource+DBGrid.

В IBTransaction установлено Read-Committed

В "Edit SQL" датасета - простое select * from TOVAR

Свойство DeleteSQL содержит строки:

delete from TOVAR
where
ID_TOV = :ID_TOV

В обработчике события нажатия кнопки "Удалить":

IBDataSet1->Delete();

Запускаю программу, выбираю запись, жму "Удалить". Запись исчезает. Однако если перезапустить программу, запись появится снова. Естественно в самой БД тоже никаких изменений.
Пробовал Refresh(); - не помогает. Закрывать-открывать датасет - тоже нет.

Что я упустил или сделал неправильно?
Заранее спасибо.
...
Рейтинг: 0 / 0
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
    #36332414
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StriderrЧто я упустил или сделал неправильно?

Транзакцию коммитить Пушкин будет?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
    #36332560
Striderr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBDataSet1->Delete();
IBTransaction1->Commit();
IBDataSet1->Open();
?
Если так, то запись также остается.
...
Рейтинг: 0 / 0
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
    #36332573
Микросекунда
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Провались" отладчиком в метод Delete и посмотри, какой запрос выполняется, что в параметрах. А вобще вопрос по дельфи (один хрен в данном случае), однозначно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
    #36332597
Striderr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Микросекунда,

Сильно не бейте, но - как это сделать?)
...
Рейтинг: 0 / 0
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
    #36332603
Микросекунда
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Striderr пишет:

S> Сильно не бейте, но - как это сделать?)

Ставишь точку останова на строчке с вызовом Delete (ctrl+F8), когда остановится - жмешь F7 и смотришь
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
    #36332662
Фотография TPAKTOPA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос для форума Дельфи, так как ето проблем с пользванием VCL.

Два варианта такого поведения:
1. Запись реально не стерт. Когда делаеш DataSet->Delete() нормально что он изчезает даже если SQL не трет. DataSet то думает что он стерт.
2. Транзакция не Commit-натая. У тебя один компонент Transaction ? Все связи - ок ?
...
Рейтинг: 0 / 0
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
    #36332666
Фотография TPAKTOPA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3. CachedUpdates активно, никото не делает DataSet->ApplyUpdates(); перед Commit-ом
...
Рейтинг: 0 / 0
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
    #36334509
Striderr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем большое спасибо за помощь.
Причина была в свойстве CashUpdates, установленном в True.
...
Рейтинг: 0 / 0
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
    #36334518
Striderr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Причем стало хватать и одной строчки IBDataSet1->Delete();
Все корректно отображается и из базы записи удаляются. Еще раз спасибо.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]