данные в основном потоке программы.
Я выполняю действия по схеме следующего примера:
Код: Выделить всё
OraQuery1.SQL.Text := 'select 1 from dual';
OraQuery1.NonBlocking := true;
OraQuery1.FetchAll := True;
OraQuery1.Open;
procedure TForm1.OraQuery1AfterFetch(DataSet: TCustomDADataSet);
begin
//Accert(DataSet.Eof and DataSet.Bof and (DataSet.RecordCount>0))
while (not OraQuery1.Eof) do
begin
-- обработка данных
end;
end;
DataSet.Eof and DataSet.Bof and (DataSet.RecordCount>0)
Данные существует, их количество больше нуля, но обработать их невозможно.
Ситуация возникает случайно, вероятность ее велика, даже на самых простых запросах, например,
select 1 from dual
Описанные явления я наблюдал в средах:
- Delphi 5, Delphi 7,
Oracle Client 9, Oracle Client 10
Oracle Server 10
Odac 8.6.12
Как следует решать описанную задачу?
В компоненте TOraQuery ошибка?