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

Вниз

не удаляются записи из базы   Найти похожие ветки 

 
serjant   (2002-01-30 09:32) [0]

У меня есть база(DBase) в которую в процессе работы программы добавляются и удаляются записи,короче в конце работы программы база очищается.Но если посмотреть в файл,то там эти записи остаются,плиз помогите мне ЭТО побороть.Спасибо ВСЕМ.


 
Johnny Smith   (2002-01-30 10:08) [1]

Дело в том, что DBase&FoxPro не удаляют записи физически, а только помечают их как удаленные. В древних dBase-языках для этого существовала специальная команда "pack".
Бороться с эти можно:
1 Создать пустой *.dbf-файл с аналогичной структурой и другим именем.
2 При необходимости копировать его.
3 Перезаписывать в копию неудаленные записи из главного файла.
4 Удалить главный файл.
5 Переименовать копию, дав ей имя главного файла.


 
serjant   (2002-01-30 11:17) [2]

To Johnny Smith->Спасибо, и еще вопрос:может стоит перейти с DBase на другую базу, чем они вообще различаются(у кого какая скорость доступа и т.д)?


 
Johnny Smith   (2002-01-30 11:32) [3]

Ну, вообще говоря, все локальные базы - не фонтан. И по скорости, и в плане удаления строк (вообще, удалить участок из файла - задачка нетривиальная, она кстати, обсуждалась на форуме вчера или позавчера). С локалками можно работать только если база предполагается небольшого размера.
Так что если есть желание - перелезай на SQL - сервера (Interbase, MSSQL, Oracle). Уж там-то производительность - дай Боже, а возможностей... как собак :-))


 
serjant   (2002-01-30 12:26) [4]

To Johnny Smith->Понятно, а если у меня в базе около 1000 записей будет(ну ммакс 2-3тыс) то с ними через TTable нормально работать будет(в частности Table.Locate(....) для приблизительного ручного поиска будет нормально работать?).Спасибо.


 
Johnny Smith   (2002-01-30 12:56) [5]

Да, такой размер вполне по плечу DBF


 
Alex Y   (2002-01-30 13:14) [6]

Используй Access, рекомендую. У него возможностей по более будет, чем у dbf, да и таблицы там создавать легко.

Да, и производительность у него почти в два раза выше.


 
DeNNiss   (2002-01-30 15:57) [7]

uses BDE;

Так можно очистить DBF таблицу, физически удалив все записи

Table1.Close;
Table1.Exclusive:= true;
Table1.Open;

Check(DBIPackTable(Table1.DBHandle, Table1.Handle, nil, nil, true));

Table1.Close;
Table1.Exclusive := false;
Table1.Active:=true;




 
Anatoly Podgoretsky   (2002-01-31 00:18) [8]

serjant (30.01.02 09:32)

А ты не смотри, что за странно любопытство.
Мешают, упакуй.
И "короче в конце работы программы база очищается", а то у тебя какая то странная очистка получается.



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

Форум: "Базы";
Текущий архив: 2002.02.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
14-79467
Kozhanov
2002-01-10 12:18
2002.02.25
Создание интерпретаторов


1-79311
Yaro
2002-02-07 11:59
2002.02.25
Установка обработчика событий


3-79291
yaJohn
2002-01-31 14:26
2002.02.25
ORDER BY - read only ??? 8-(


14-79469
Lakokr
2002-01-05 03:43
2002.02.25
Подскажите.......


1-79319
petr
2002-02-07 20:13
2002.02.25
TreeView c CheckBox-ами около каждого элемента





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский