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

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

Ошибка при закрытии набора данных ADODB при работе с Access [D5, Access]


vvip ©   (2003-05-14 08:47:00) 

Помогите разобраться?
Использую компонент TADOQuery из стандартной палитры "ADO" в Delphi для соединения с базой данных на аксессе.
В звпросе к БД - select ... from Таблица.

Если запрос возвращает какие-нибудь данные, то все работает замечательно, а вот если под условие выборки не попадает ни одной строки, то при попытке закрыть запрос:

ADOQuery.Close;

возникает exception: "EOleException - BOF или EOF имеет значение True, либо текущая запись удалена. Для выполняемой операции требуется текущая запись"

И все. После этого любое ображение к компоненте вызывает EAccessViolation - попытка чтения по адресу 0000000 и компонент вообще перестает возвращать какие-либо данные.

В чем проблема?


Stas   (2003-05-14 14:50:00) [1]

AdOQuery1.CursorLocation:=clServer;
-//-.CursorType:=ctKeySet


vvip   (2003-05-14 14:43:00) [2]

Спасибо. Сейчас скачаю.
Пока решал проблему так:

if ADOQuery.Recordset<>nil then ADOQuery.Recordset.Close;
ADOQuery.Close;

при таком раскладе - не вылетает.


Lord Warlock   (2003-05-14 10:12:00) [3]

Или с этого сайта из "Кладовки"


Mike_Goblin   (2003-05-14 09:55:00) [4]

Сильно подозреваю что у Вас Delphi5
проблема в том, что вы не установили ADO Express patch (скачать его можно на сайте Borland)


Наверх

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