|
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
|
|||
---|---|---|---|
#18+
Всем доброго времени суток. Ситуация следующая. Реализую удаление данных из таблицы БД. Связка 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(); - не помогает. Закрывать-открывать датасет - тоже нет. Что я упустил или сделал неправильно? Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2009, 23:53 |
|
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
|
|||
---|---|---|---|
#18+
StriderrЧто я упустил или сделал неправильно? Транзакцию коммитить Пушкин будет? Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 01:29 |
|
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
|
|||
---|---|---|---|
#18+
IBDataSet1->Delete(); IBTransaction1->Commit(); IBDataSet1->Open(); ? Если так, то запись также остается. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 08:03 |
|
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
|
|||
---|---|---|---|
#18+
"Провались" отладчиком в метод Delete и посмотри, какой запрос выполняется, что в параметрах. А вобще вопрос по дельфи (один хрен в данном случае), однозначно. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 08:12 |
|
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
|
|||
---|---|---|---|
#18+
Микросекунда, Сильно не бейте, но - как это сделать?) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 08:36 |
|
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
|
|||
---|---|---|---|
#18+
Striderr пишет: S> Сильно не бейте, но - как это сделать?) Ставишь точку останова на строчке с вызовом Delete (ctrl+F8), когда остановится - жмешь F7 и смотришь Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 08:41 |
|
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
|
|||
---|---|---|---|
#18+
Вопрос для форума Дельфи, так как ето проблем с пользванием VCL. Два варианта такого поведения: 1. Запись реально не стерт. Когда делаеш DataSet->Delete() нормально что он изчезает даже если SQL не трет. DataSet то думает что он стерт. 2. Транзакция не Commit-натая. У тебя один компонент Transaction ? Все связи - ок ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 09:30 |
|
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
|
|||
---|---|---|---|
#18+
3. CachedUpdates активно, никото не делает DataSet->ApplyUpdates(); перед Commit-ом ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 09:32 |
|
Удаление записей с помощью IBDataSet. (C++ Builder, FireBird, IBExpert)
|
|||
---|---|---|---|
#18+
Всем большое спасибо за помощь. Причина была в свойстве CashUpdates, установленном в True. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2009, 20:40 |
|
|
start [/forum/topic.php?fid=42&msg=36332666&tid=1599905]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
167ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 304ms |
total: | 578ms |
0 / 0 |