Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.23;
Скачать: CL | DM;

Вниз

ADO, Access и пустые таблицы   Найти похожие ветки 

 
TechnoDreamer ©   (2004-12-19 06:06) [0]

База данных на Access, использую через ADO (TAdoTable и TDataSource), бывают ситуации когда в некоторых таблицах базы не остается не одной записи (юзер удаляет). При этом появляется ошибка: "BOF или EOF имеет значение True, лиюо текущая запись удалена. Для выполняемой операции требуется текущая запись."
Как это обойти?


 
sniknik ©   (2004-12-19 12:31) [1]

ставь адейты на ADO в дельфи или меняй ее на более новую... (и ставь апдейты ;о), это глюк общеизвестный для D5, проявляется при доступе из старых компонент к более новым версиям ADO в системе.
(поставить в систему ADO 2.4 тоже можно, решит проблему, но это глупо ;о)))

вообше раньше этот вопрос часто "всплывал", даже являлся уже практически офтопиком... а этот первый за достаточно долгое время... чтобы то значило? может D5 уже старый и мало кто его юзает уже?


 
Shamansky   (2004-12-19 18:43) [2]

Этот глюк появляется и в 7 Делфе, попробуй запускать прогу не из Делфи, сообщения об ошибке быть не должно


 
sniknik ©   (2004-12-19 19:43) [3]

> Этот глюк появляется и в 7 Делфе
ты первый на это жалуешся, на седьмой уже ~ полтора/два года и постоянно с ADO работаю, ни разу подобного не замечал...
и никто кого знаю тоже. (почемуто все с проблемами ко мне идут, было бы пришли)

скорее всего ты путаеш с какойто другой ошибкой (в своей проге к примеру, которую приписываеш этому глюку в компаненте)


 
Shamansky   (2004-12-19 21:32) [4]

Дык оно жалуется на то, что ему не на что поставить указатель, записей нету.
А если хочешь проверить, создай таблицу с одной записью и попробуй удалить с этой таблицы 2 строки, получишь эту ошибку


 
SergP ©   (2004-12-19 22:04) [5]

Первое что на ум взбрело:

Перед тем как пытаться удалить запись проверь или RecordCount>0, если RecordCount>0 то удаляй, если нет, то и не пытайся


 
Shamansky   (2004-12-19 22:08) [6]

Если есть всего одна запись и ее удаляешь выдает ту же ошибку, но запись удаляется, и что тогда?


 
SergP ©   (2004-12-19 23:22) [7]


>  [6] Shamansky   (19.12.04 22:08)
> Если есть всего одна запись и ее удаляешь выдает ту же ошибку,
> но запись удаляется, и что тогда?


Хм... Такого я с ADO + access не наблюдал. Вернее были глюки с D5, но после того как я перешел на D6, теперь такого нет. Не знаю как там с D7.


 
TechnoDreamer ©   (2004-12-20 11:42) [8]

Удалено модератором
Примечание: дубль


 
TechnoDreamer ©   (2004-12-20 11:42) [9]

Ого тут уже бурное обсуждение, огромное спасибо sniknik, я и не думал что это глюк delphi. Скачал патч, всё ок стало.

З.Ы. Остальным, глюк появляется не когда я что то удалить пытаюсь, а при закрытии проги, если в ней есть таблицы с нулевым количеством записей. После установки патча и перекомпиляции проги всё стало на свои места.
:-)) Наконец то хоть один глюк не по моей вине :-))


 
sniknik ©   (2004-12-20 11:54) [10]

> я и не думал что это глюк delphi
а я бы и сейчас это глюком не назвал...
прикинь, ты чтото пишеш, какуюто прогу опираясь на предоставленный протокол от связаного с твоим ПО другой фирмы. написал, отдал клиентам, и тут начиная с какойто версии протокол поменялся...
ты естественно исправил, и новая прога с новым работает, но старая нового протокола естественно не понимает...
кто виноват? ты? другая фирма? или юзер который не обновил ПО?
(смена протокола скорее всего не блаж а обусловлена какимито причинами, уходом от еще большего глюка например)


 
Anatoly Podgoretsky ©   (2004-12-20 11:55) [11]

TechnoDreamer ©   (20.12.04 11:42) [9]
Это по твоей вине, не своевременно ставишь апдейты.



Страницы: 1 вся ветка

Текущий архив: 2005.01.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.047 c
3-1103311296
Julia
2004-12-17 22:21
2005.01.23
Qreport


6-1099557535
AngelOKES
2004-11-04 11:38
2005.01.23
Socket и отправка файла в обе стороны


1-1105439297
Jeka
2005-01-11 13:28
2005.01.23
работа с OpenDialog


1-1105606735
TUser
2005-01-13 11:58
2005.01.23
Self в потоке


1-1105367591
Guest_01
2005-01-10 17:33
2005.01.23
Подскажите, в чем ошибка?