Главная страница
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.015 c
1-100812
Школьник
2003-07-17 13:56
2003.07.31
Дизайнер формы


4-101035
demonyator
2003-05-25 15:57
2003.07.31
Событие минимизации другого окна.


3-100639
Vlad451
2003-07-10 16:08
2003.07.31
DBGrid - сделать активной строку, не прибегая к Click


3-100597
urich
2003-07-09 10:30
2003.07.31
Перенос таблицы из одной БД в другую


1-100783
explorer
2003-07-16 07:24
2003.07.31
Хранение картинок