Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.31;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.008 c
14-100973
blackman
2003-07-15 16:06
2003.07.31
We wish pleasant programming!


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


11-100651
Arhangel
2002-11-30 15:20
2003.07.31
Есть архив?


1-100761
ss300
2003-07-16 13:19
2003.07.31
Вопрос по TDate


1-100827
Алексей
2003-07-17 18:21
2003.07.31
DLL не найдена





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский