-
miau (17.04.12 14:21) [0]if Query.Active then
Query.Requery()
Вот такая конструкция на одних кверях нормально работает, на других кричит, что не может этого на закрытом объекте. У меня полные непонятки, что там может быть закрытого в активном квере? -
AV © (17.04.12 14:36) [1]ноги наверное растут отсюда
procedure TCustomADODataSet.Requery(Options: TExecuteOptions = []);
begin
CheckBrowseMode;
procedure TDataSet.CheckBrowseMode;
begin
CheckActive;
procedure TDataSet.CheckActive;
begin
if State = dsInactive then DatabaseError(SDataSetClosed, Self);
где SDataSetClosed = 'Cannot perform this operation on a closed dataset';
при всей странности...
, обычно комп не врет :) -
miau (17.04.12 14:44) [2]Если заменитьQuery.Requery()
наQuery.Close;
Query.Open;
Это не будет иметь негативных последствий? -
Плохиш © (17.04.12 14:45) [3]
> miau (17.04.12 14:21)
Вариантов два
1. Это два разных квери
2. Между этими строчками имеются другие 17ые строки.
3(нереальный). Чудеса. -
> Это не будет иметь негативных последствий?
Вообще-то так и делается. -
AV © (17.04.12 14:58) [5]
> Если заменить
> Query.Requery()
> на
> Query.Close;
> Query.Open;
> Это не будет иметь негативных последствий?
в модуле призванном для сокращения нажиманий кнопок
давно написал
procedure ReOpen(Q:TADOQuery); overload;
begin
Q.Close;
Q.Open;
end;
и почти везде юзаю его.
т.е. одно из него: ReOpen(MyQuery);
глюков не замечал . -
miau (17.04.12 15:08) [6]Всем спасибо, буду иметь ввиду.