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