Закрывает ли TQuery.Unprepare результат запроса в Delphi?

Интересно, в Delphi вызов

Query1.Unprepare;

неявно закрывает Query1, если он ранее был активен. Такой, что, например. вызов Next на нем не удастся.

Вы могли бы сказать, просто продолжайте и попробуйте, но я делал это в 64-битной системе Windows 7, и у меня были всевозможные проблемы с ней, пока, наконец, мой администратор BDE не оказался полностью сломанным. Поэтому я решил просто задать эти вопросы, прежде чем я начну выяснять, как я могу запустить BDE в своей системе ;-)


person Kit Fisto    schedule 14.03.2012    source источник


Ответы (1)


Вы не можете использовать Prepare/Unprepare в открытом наборе данных. вам нужно сначала закрыть его.

unit DBTables;
...
procedure TQuery.SetPrepared(Value: Boolean);
begin
  if Handle <> nil then DatabaseError(SDataSetOpen, Self);
  ...
  // SDataSetOpen = 'Cannot perform this operation on an open dataset';
person kobik    schedule 14.03.2012