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

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

ADO ;Неудача при попытке очистить базу [D6, dBase, FoxPro]


EOL ©   (2002-10-18 17:10:00) 

Всем привет! Народ, просветите кто-нибудь! Пытаюсь очистить базу (dBase IV) с помощью ADOTable1.DeleteRecords, но в результате вижу лишь сообщение об ошибке следующего характера:"Operation is not allowed in this context"
А вот моя ConnectionString=Provider=MSDASQL.1;Persist Security Info=False;Data Source=EXC;Mode=ReadWrite;Initial Catalog=D:\MYPROJECTS\DELPHI\X-CHANGE\DATA


sniknik   (2002-10-18 19:37:00) [1]

в фоксе была такая полезная функция PACK (из названия упакавка, удаление удаленных) и кстати с драйвером вижуал фохпро до сих пор прокатывает (в остальном неудобный драйвер, но покажите мне у кого нет недостатков)
команда
PACK TABLE 1saccs
подключение
Provider=MSDASQL.1;Persist Security Info=False;Mode=ReadWrite;Extended Properties="DSN=Visual FoxPro Database;UID=;SourceDB=d:\;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=RUSSIAN;Null=Yes;Deleted=Yes;"


EOL   (2002-10-18 19:29:00) [2]

Так. Вобщем попробовал я ADOQuery, Послал запрос. Работает, записи помечаются на удаление , но не удаляются реально.
delete * from CURRATE
commit


EOL   (2002-10-18 19:15:00) [3]

Ща попробую...


sniknik   (2002-10-18 19:00:00) [4]

delete * from Table_Name проходит? проходит значит поддерживается.
а ну если ADOTable1 пошлет запрос вида "delete все!нахрен! from Table_Name"
сработает?


EOL   (2002-10-18 18:49:00) [5]

Это всё верно теоретически. Практически проверить поддерживает ли рекордсэт удаление можно ADOTable1.Supports Так вот в моём случае Supports возвращает Тру, т.е. удаление допустимо. Появляется закономерное желание очистить табличку :-), а она, зараза, не очищается


sniknik   (2002-10-18 18:36:00) [6]

там еще мелкими буковками (хелп)
If the recordset does not support record deletions, an exception is raised.
вот оно у тебя и райзед, правда с оговорками не поддерживается в данном контексте. т.е. тот запрос который ADOTable1 формирует на удаление, не корректен.


EOL   (2002-10-18 18:07:00) [7]

Да, delete * from Table_Name помогает, но только помечает строки на удаление, а реально базу не сжимает, в то время как DeleteRecords должен делать єто сразу. Так, по крайней мере, дока Борландовская пишет.


EOL   (2002-10-18 18:03:00) [8]

А EXC - это имя алиаса, а драйвер там Driver do Microsoft dBase (*.dbf)


Kuusiniemi   (2002-10-18 17:22:00) [9]

А Delete From Имя_Таблицы не помогает??


sniknik   (2002-10-18 17:19:00) [10]

EXC???? меняй драйвер, провайдера ктото из них ленится работать только отмазки кидает. :-)


Наверх

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