ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add( "SELECT * FROM TABLE" );
ADOQuery1->SQL->Open();
// Поочереди перебрали весь датасет...
ADOQuery1->First();
while( !ADOQuery1->Eof )
ADOQuery1->Next();
// До этого момента всё в порядке...
// Теперь хочу закрыть запрос....
ADOQuery1->Close(); // <--- Exception !!!
Не закрывается ADOQuery..??? ( C++Builder 5 )
Код:
Исключение гласит (дословно не помню): "EOleException. Либо Bof или Eof равны TRUE, либо запись удалена. Для выполнения операции требуется текущая запись". Более того, теперь любое действие с ADOQuery1 приводит к такому исключению! Даже при закрытии формы оно вылетает, когда деструктор срабатывает (видимо пытается Close открытый датасет). Я в шоке! Может кто сталкивался?
патч. Спасибо avc
Оказывается, это старая проблема. Есть еще один
Цитата:
while( !ADOQuery1->Eof )
Не сталкивался ????
Всегда пользовал for по ADOQuery1->RecordCount
Никаких глюков не видел ;)