![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Корретная работа с транзакциями, ХЕЛП!!! [D6, IB6.x]
Sevish © (2003-08-14 13:13:00)
Значит так, я видимо запутался в понятии транзакции или как-то ещё...
Пример.
есть: Транзакция1, Транзакция2, Транзакция3
есть: Запрос1, Запрос2, Запрос3 (IBQuery)
есть: Таблица1 (TDBGrid)
Связи: Запрос1->Транзакция1, Таблица1->Запрос1
Связи: Запрос2->Транзакция2
Связи: Запрос3->Транзакция3
Запрос2, Запрос3 - рабочий запрос.
Все действия выполняются над одной базы данных.
1.
С помощью Запрос2 делаем выборку из таблицыБД1, в цикле заносим ее в таблицуБД2 с помощью Запрос3.
перд циклом делаю Транзакция3.Старт, после цикла Транзакция3.Комит.
2.
С помощью Запрос2 делаем выборку из таблицыБД1, в цикле заносим ее в таблицуБД3 с помощью Запрос3.
перд циклом делаю Транзакция3.Старт, после цикла Транзакция3.Комит.
3.
С помощью Запрос2 делаю объединяющую выборку из таблицБД2-3, в цикле заносим ее в таблицуБД4 с помощью Запрос3.
4.
Дактивирую Запрос1. Активирую Запрос1 - вижу в гриде представление таблицыБД4.
НО НЕ ВСЕГДА И ВООБЩЕ:
Смотрел напрямую значения в таблицахБД1-4 вообще не то, что мне показывает дельфовская форма.
ВНИМАНИЕ: никаких других странзакций не стартую и не делаю комит или ролбэк.
МОЖЕТ В ЭТОМ ВСЯ ПРИЧИНА?
Запрос1 просто не видит, что данные в таблицаБД4 изменились :(
Что делать? Когда нужно стартовать транзакцию? и т.п.
Если я делаю Транзакция.комит, то все мои запросы, связанные с этой транзакцией обнуляются :(
в общем я запутался :(
ПОМОГИТЕ!
Zacho (2003-08-14 13:20:00) [1]
Почитай http://www.ibase.ru/devinfo/ibtrans.htmи http://www.ibase.ru/devinfo/ibxtrans.htm