![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Транзакции [D5, Paradox]
ka © (2004-05-19 17:10:00)Приветствую.
Нужно удалить строку из одной таблицы и добавить строку в другую таблицу в рамках одной транзакции. Я делаю это так:
DataBase1.StartTransaktion
try
…
…
…
DataBase1.Commit;
except
DataBase1.RollBack;
end;
Все бы хорошо, но после того как я проверил как же работают транзакции, я увидел, что в моем варианте они вообще не работают.
Я благополучно удалил строку из одной таблицы (проверил физически из файла таблицы строка удалилась, я думал что этого быть не должно) вызвал ошибку произошел откат - DataBase1.Rollback, а в таблице удаленная строка не появилась. В чем дело? Я подумал может дело в кэшировании страниц, добавил DataBase1.ApplyUpdates(…),DataBase1.CanselUpdates(…) убрал DataBase1.StartTransaktion, DataBase1.Commit, DataBase1.RollBack. Да еще включил Query.CashedUpdates.
Вот.
В чем я протуканил?
Reindeer Moss Eater (2004-05-19 17:28:00) [21]Прочитай раздел "Transactions on Paradox, dBASE, FoxPro, and Access" из Borland Database Engine Online Reference
Mike Kouzmine (2004-05-19 17:28:00) [22]Наппиши как ты это сделал подробно.