![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
InterBase хранимые процедуры. [D5, IB6.x]
SergeyDon © (2002-04-15 14:35:00)Открываю базу, устанавливаю связи с таблицами
вызываю хранимую процедуру на сервере (которая делает выборку значений из таблиц). Связь с базой не разрываю через некоторое врямя (до 1мин.) повторяю вызов и получаю тотже набор, данные не обновились - обновление происходит только если закрыть-открыть таблицу. Как от этого избавиться?
Romkin (2002-04-15 17:39:00) [1]Совершенно согласен
Johnmen (2002-04-15 16:54:00) [2]>Romkin © : ...прописные истины...
Я к тому, что уж если делать самому явно CommitRetaining или Commit, то и StartTransaction явно лучше делать.
...опять же прописная истина...
Romkin (2002-04-15 16:49:00) [3]Оно само сделает, при открытии запроса.
Johnmen (2002-04-15 16:38:00) [4]>Romkin © : Тогда уж и StartTransaction явно...
Romkin (2002-04-15 16:28:00) [5]Какой вопрос, такой ответ
Резюмирую вышесказанное :-))
Скорее всего пользуетесь IBX, а при прямом доступе к IB при любом запросе открывается транзакция, и пока не дан Commit, изменения во всех остальных транзакциях не видны. При закрытии Query транзакция закрывается, и как правило, выполняется Commit (IBTransaction.DefaultAction)
Соответственно, данный факт необходимо учитывать, в частности, делать CommitRetaining или Commit
Desdechado (2002-04-15 16:22:00) [6]Любая выборка видит данные только от ЗАВЕРШЕННЫХ транзакций.
так что COMMIT должен помочь
Ura (2002-04-15 16:16:00) [7]Соммитить надо с сохранением контекста...
Fareader (2002-04-15 15:00:00) [8]А ты какими компонентами пользуешся для доступа к БД?
Johnmen (2002-04-15 14:42:00) [9]Если правильно понял вопрос (было тяжело :)), то
никак...