Форум: "Базы";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];
ВнизADO Неудача при попытке очистить базу Найти похожие ветки
← →
EOL (2002-10-18 17:10) [0]Всем привет! Народ, просветите кто-нибудь! Пытаюсь очистить базу (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 17:19) [1]EXC???? меняй драйвер, провайдера ктото из них ленится работать только отмазки кидает. :-)
← →
Kuusiniemi (2002-10-18 17:22) [2]А Delete From Имя_Таблицы не помогает??
← →
EOL (2002-10-18 18:03) [3]А EXC - это имя алиаса, а драйвер там Driver do Microsoft dBase (*.dbf)
← →
EOL (2002-10-18 18:07) [4]Да, delete * from Table_Name помогает, но только помечает строки на удаление, а реально базу не сжимает, в то время как DeleteRecords должен делать єто сразу. Так, по крайней мере, дока Борландовская пишет.
← →
sniknik (2002-10-18 18:36) [5]там еще мелкими буковками (хелп)
If the recordset does not support record deletions, an exception is raised.
вот оно у тебя и райзед, правда с оговорками не поддерживается в данном контексте. т.е. тот запрос который ADOTable1 формирует на удаление, не корректен.
← →
EOL (2002-10-18 18:49) [6]Это всё верно теоретически. Практически проверить поддерживает ли рекордсэт удаление можно ADOTable1.Supports Так вот в моём случае Supports возвращает Тру, т.е. удаление допустимо. Появляется закономерное желание очистить табличку :-), а она, зараза, не очищается
← →
sniknik (2002-10-18 19:00) [7]delete * from Table_Name проходит? проходит значит поддерживается.
а ну если ADOTable1 пошлет запрос вида "delete все!нахрен! from Table_Name"
сработает?
← →
EOL (2002-10-18 19:15) [8]Ща попробую...
← →
EOL (2002-10-18 19:29) [9]Так. Вобщем попробовал я ADOQuery, Послал запрос. Работает, записи помечаются на удаление , но не удаляются реально.
delete * from CURRATE
commit
← →
sniknik (2002-10-18 19:37) [10]в фоксе была такая полезная функция 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;"
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c