Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Index Pdox / 5 сообщений из 5, страница 1 из 1
31.05.2003, 06:01
    #32173299
balbes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Pdox
Здравствуйте господа программёры!!!

Просветите темного как можно организовать индексацию базы Pdox???
(я считал что только удалением и созданием индексов заново)....
Что такое пакование таблиц??? - это что то с радни индексированию???
Пожалуйста просветите ТЁМНОГО, буду весьма благодарен как за примеры так и просто за разъяснения.
...
Рейтинг: 0 / 0
31.05.2003, 08:49
    #32173302
cyc10ne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Pdox
>Что такое пакование таблиц??? - это что то с радни индексированию???
я не уверен, это наверное когда записи при удалении на самом
деле не удаляются а только помечаются как удаленные, а при паковании происходит реальное физическое удаление.
...
Рейтинг: 0 / 0
31.05.2003, 10:02
    #32173310
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Pdox
Все верно. Индексы можно только срубить и создать заново. Причем в парадоксе вторичные индексы можно создать только если есть первичный индекс.
Формат DB не пакуется. DBF пакуется так, как описал cyc10ne.
...
Рейтинг: 0 / 0
31.05.2003, 13:30
    #32173342
balbes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Pdox
Спасибо огромное ребята сразу вся ситуация как на ладони....
и по упаковке и по индексированию...
но самнение в душе почемуто осталось.
А дело вот в чем нашел код у мистрера Озерова (а человек этот уважаемый, покрайней мере мной) в котором он делает паковку таблиц dbf & db.
Пакование таблиц Paradox и dBASE
Возвожно ли перестраивать и паковать таблицы Paradox из программ, написанных на Delphi, если да то как и где найти документацию по этому вопросу?
Попробуйте приведенную ниже функцию, она пакует таблицы Paradox и dBase (требуется компонент TDatabase, указывающий на ту же директорию, где хранятся таблицы):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
 --------------------------------------------------------------------------------
 
    uses  DBIProcs, DBITypes, DBIErrs;
function PackTable(tbl:TTable; db:TDatabase):DBIResult;
var
crtd: CRTblDesc;
begin
Result := DBIERR_NA;
with tbl do if Active then Active := False;
with db do if not Connected then Connected := True;
FillChar(crtd,SizeOf(CRTblDesc), 0 );
StrPCopy(crtd.szTblName,tbl.TableName);
crtd.bPack := True;
Result := DbiDoRestructure(db.Handle, 1 ,@crtd,nil,nil,nil,FALSE);
end; 

Пример использования:
 --------------------------------------------------------------------------------
 
    procedure TForm1.Button1Click(Sender: TObject);
begin
if PackTable(Table1,DataBase1) = DBIERR_NONE then .....
else MessageBeep( 0 );
end; 
=== Mike Orriss === 


Если смысл паковки таблиц dbf мне теперь ясен то bd - остается загаткой???..
...
Рейтинг: 0 / 0
15.10.2003, 12:58
    #32293972
RViX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Index Pdox
Не знаю как работает последний парадокс с таблицами, но раньше досовские 3.5 и 4.5 во время обработки таблиц запросами делали вещи подобные удалению записей в дбэфах. Т.Е. таблица пустая или почти, а занимает место на диске много. В парадоксе это лечилось либо реструктуризацией либо Очисткой по команде Empty . Вполне возможно, что данная функция существует для выполнения подобной операции.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Index Pdox / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]