|
|
|
Проблема с транзакцией.
|
|||
|---|---|---|---|
|
#18+
Процедура содержит 3 управляющих запроса. В начале открываю транзакцию, при сбое в любом из запросов - откат. Проблема в том, что запрос №2 создает новую запись в Таблице1, а перед выполнением запроса №3 надо получить из Таблицы1 id новой, только что добавленной записи. Выражение типа: Код: plaintext Если без транзакции, то все работает. Если указанное выражение переделать в запрос на выборку и остановить программу, не закрывая транзакцию , то запрос ничего не вернет. Как решить проблему? Закрывать транзакцию после запроса №2, получать значение, а потом открывать новую транзакцию - не вариант, все 3 запроса должны выполняться или "откатываться" вместе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 13:53 |
|
||
|
Проблема с транзакцией.
|
|||
|---|---|---|---|
|
#18+
Как решить проблему? Не использовать DLookup DLookup, DMin, DMax и т.п. - работают в своем собственном Workspace'е, у которого свои собственные транзакции. Соответственно записи, добавленные из чужого воркспейса - не видны воркспейсу DLookup'а. Пока транзакция не завершена, конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 14:12 |
|
||
|
Проблема с транзакцией.
|
|||
|---|---|---|---|
|
#18+
Использовать Recordset ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 14:33 |
|
||
|
Проблема с транзакцией.
|
|||
|---|---|---|---|
|
#18+
Я правильно понял: после выполнения запроса №2, перед запросом №3, что типа: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 14:34 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32563542&tid=1673807]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
167ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 504ms |

| 0 / 0 |
