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

Вниз

Как не убрать помеченые на удаление записи ?   Найти похожие ветки 

 
SergeyI ©   (2003-07-10 09:53) [0]

Уважаемые ALL подскажите, работаю с таблицами формата дбф через ADO, после выполнения операций delete в таблице записи остаются. Как
их убрать совсем ?


 
Соловьев ©   (2003-07-10 10:11) [1]

Deleted Двоичный индикатор, определяющий обработку ядром Microsoft Jet записей, отмеченных как удаленные. Значение 01 соответствует команде dBASE SET DELETED ON и отключает загрузку или позиционирование удаленных записей. Значение 00 соответствует команде dBASE SET DELETED OFF и указывает, что удаленные записи обрабатываются так же, как все остальные. По умолчанию задается значение 00. Значения имеют тип Binary в Windows 95 и Windows NT 4.0 или тип REG_BINARY в Windows NT 3.51


 
Соловьев ©   (2003-07-10 10:12) [2]

Или паковать.


 
SergeyI ©   (2003-07-10 10:25) [3]

а если паковать то как ? (не нашёл я команду, может плохо искал)


 
Соловьев ©   (2003-07-10 10:52) [4]


> не нашёл я команду, может плохо искал

с ADO не работаю, не знаю как там пакуют... что-то слышал про pack table, но не уверен.


 
sniknik ©   (2003-07-10 11:11) [5]

не там искал. у Jet нет такой команды, во всяком случае в SQL, в драйвере то есть
исам дбейса
используемая dll D:\WINNT\System32\msxbde40.dll
экспортируемые процедуры ..... DbiRegenIndex DbiPackTable DbiEmptyTable ......
но вот как к ним доступится... попроще? если выясниш свисти :о)).

для себя нашол гораздо более простой выход, т.к. нет постоянных упаковок после каждого удаления, а только по требованию, пункт типа "рапайр & реиндекс" то делаю так
подключаю драйвер Visual FoxPro
Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DRIVER={Microsoft Visual FoxPro Driver};UID=;SourceDB=d:\;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=RUSSIAN;Null=Yes;Deleted=Yes;"
и делаю команду
PACK TABLE Xxxxxx1
для каждой таблици, не знаю будут ли проблемы с индексами (вроде должны) но мне без разницы "реиндекс" делается удалением и пересозданием индеков.
(удаляя индексный файл можно не озабачиватся 28-м байтом(признак индекса) драйвер FoxPro снимает его автоматически при отсутствии индексного файла. естественно для упаковки требуется монопольный доступ(общепринято), т.е. нужно закрыть таблицу везде перед операцией PACK)


 
SergeyI ©   (2003-07-10 12:34) [6]

то sniknik те в commandtext загоняешь строку PACK TABLE Xxxxxx1
и всё ?


 
SergeyI ©   (2003-07-10 12:40) [7]

то sniknik Спасибо



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
14-100933
DimaB
2003-07-14 06:04
2003.07.31
Digital Metaphors - ReportBuilder v7.02 Server (Delphi 7)


7-101011
MSTX
2003-05-18 14:44
2003.07.31
Как добавить свой пункт в контекстное меню файлов?


1-100664
Immortal_Death
2003-07-17 16:56
2003.07.31
TreeView и Drag&Drop :)


8-100832
SDS
2003-02-28 16:39
2003.07.31
Как создать TMetafileCanvas


1-100667
Sensor
2003-07-18 04:41
2003.07.31
Edit2.Text минус Edit1.Text