![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
проблемка с 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.