Помогите разобраться

  • Автор темы pol_g
  • Дата начала
Статус
Закрыто для дальнейших ответов.
P

pol_g

Гость
#1
На форме есть грид и как датасорс к нему указан запрос (TIBQuery). После выполнения запроса ДБГридЕх забивается данными, но если с этой формы вызвать другую и та в свою очередь тоже выполнит другой запрос то после выполнения второго запроса Грид обнуляется. Просветлите господа в чём дело.
Данные сразу из запроса идут в Грид без посредничества датасета.
 
S

Sir Alex

Гость
#2
Если второй запрос закрывает трансакцию (commit или RollBack), то первый запрос закроется автоматически (да и любой другой, который открыт используя туже трансакцию).

А вообще, сложно что-то сказать... мало информации.
1. Используете ли Вы IBTransaction для запросов? Что указано у обоих IBQuery.Transaction?
2. Как закрывается второй запрос?
3. Редактируются ли данные во второй форме?
 
P

pol_g

Гость
#3
<!--QuoteBegin-Sir Alex+2:09:2005, 15:51 -->
<span class="vbquote">(Sir Alex @ 2:09:2005, 15:51 )</span><!--QuoteEBegin-->Если второй запрос закрывает трансакцию (commit или RollBack), то первый запрос закроется автоматически (да и любой другой, который открыт используя туже трансакцию).

А вообще, сложно что-то сказать... мало информации.
1. Используете ли Вы IBTransaction для запросов? Что указано у обоих IBQuery.Transaction?
2. Как закрывается второй запрос?
3. Редактируются ли данные во второй форме?
[snapback]24421" rel="nofollow" target="_blank[/snapback]​
[/quote]
1. Да
2. Одна и таже транзакция
3. Данные редактируются во второй форме
 
S

Sir Alex

Гость
#4
<!--QuoteBegin-pol_g+2:09:2005, 15:16 -->
<span class="vbquote">(pol_g @ 2:09:2005, 15:16 )</span><!--QuoteEBegin-->1. Да
2. Одна и таже транзакция
3. Данные редактируются во второй форме
[snapback]24424" rel="nofollow" target="_blank[/snapback]​
[/quote]

тогда... переделаю свою фразу:
Второй запрос закрывает трансакцию (commit или RollBack), в следствии чего, первый запрос закрывается автоматически так ему для работы нужна активная трансакция.

Решение:
Используйте разные трансакции. Т.е. надо создать несколько IBTransaction.
Если второй запрос влияет на выводимые данные первым, то первый запрос придется переоткрывать
 
Статус
Закрыто для дальнейших ответов.