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

Тема в разделе "Delphi - Базы данных", создана пользователем pol_g, 2 сен 2005.

Статус темы:
Закрыта.
  1. pol_g

    pol_g Гость

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

    Sir Alex Гость

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

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

    pol_g Гость

    <!--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. Данные редактируются во второй форме
     
  4. Sir Alex

    Sir Alex Гость

    <!--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.
    Если второй запрос влияет на выводимые данные первым, то первый запрос придется переоткрывать
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей