Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

проблемка с TADOQuery [D6, MSSQL]


misha_gr ©   (2005-01-13 19:57:00) 

Столкнулся с проблемой при выполнении данного кода:

var
 qu  : TADOQuery;

 ...

 qu := TADOQuery.Create (Application);
 qu.Connection := adoCon;
 qu.SQL.Text   := 'SELECT * FROM Card WHERE CardNumber=2000';
 qu.Open;

 ...

 qu.Close;
 qu.Free;

В том случае, если запрос возвращает больше нуля строк, код работает. В том случае, если запрос возвращает 0 строк, возникает exception с ругательством:

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

если переписать вот так:

...
if qu.RecorCount > 0 qu.Close;
qu.Free;

то эксепшен возникает уже внутри метода Free.

Как бороться?


MOA   (2005-01-13 20:20:00) [1]

Поставьте апдейт на ADO для Delphi. Это известная проблема - достаточно поискать по словам "BOF or EOF".
Удачи!


misha_gr   (2005-01-13 19:59:00) [2]

Да, забыл уточнить, exception возникает при выполнении Close.


Наверх

Титульная страница Поиск, карта сайта Написать письмо