![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Pakshin A. S. |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Пытаюсь упаковать тaблицу:
На что эта зараза отвечает:
Что мне с этим делать, вроде все остальные операции с базой работают... P. S. Работаю из Delphi 7 Это сообщение отредактировал(а) Pakshin A. S. - 6.5.2004, 21:05 |
||||
|
|||||
| Cetus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 18.4.2004 Репутация: нет Всего: 1 |
Возможно таблица открыта не эксклюзивно.
попробуй так. P.S. На оптимальный вариант не претендую. procedure tform1.PackTable(Table: TTable); var Props: CURProps; hDb: hDBIDb; TableDesc: CRTblDesc; begin table.Exclusive:=true; table.Active:=true; Check(DbiGetCursorProps(Table.Handle, Props)); if Props.szTableType = szPARADOX then begin FillChar(TableDesc, sizeof(TableDesc), #0); Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb))); StrPCopy(TableDesc.szTblName, Table.TableName); StrPCopy(TableDesc.szTblType, Props.szTableType); TableDesc.bPack := True; Table.Close; Check(DbiDoRestructure(hDb, 1, @TableDesc, nil, nil, nil, False)); end else errata(4); end; --------------------
Легко внести изменения в код.Трудно сделать это корректно. |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Впринцепе похоже, но надо попробовать...
|
|||
|
||||
| Maverick |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
1)Выбираешь справку Delphi Tools....
2)Ищешь DbiPackTable.... 3)Берешь Example... 4)Перетряхиваешь указанный пример (русские сообщения и тп)... 5)Вставляешь в прогу свою... 6)Пользуешься... |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Спасибо, попробую и это...
|
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Код из Help'а требует эксклюзивного открытия таблицы... А что это такое?
|
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
(перед открытием) -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
WOW! Всё так просто! Спасибо...
|
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
Pakshin A. S., с Днём Победы
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
|
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Разовьём тему:
Начальный вес таблицы (добавлял, удалял и т. п. эксперименты несколько дней назад..): 6,144 Кб Довавил новую запись: 6,144 Кб Удалил её: 6,144 Кб Выполнил паковку: 6,144 Кб Несколько раз...: 6,144 Кб |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
Pakshin A. S., не морочьте людям голову.
только что сделал таблицу, забил около 10 тысяч случайных записей. размер - 1.23 МБ (1 296 384 байт) несколько тысяч записей из середины удалил. размер - 1.23 МБ (1 296 384 байт) сделал реструктуризацию с паковкой. размер - 0.99 МБ (1 038 336 байт) вы размер в статусной строке эксплорера смотрите? -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Размер смотрю из свойств файла...
Просто добавление, удаление одной записи не влияет на размер, как я понял, а вот уже десяток влияет... |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
Pakshin A. S., я тоже так думаю. большинство субд увеличивают размер файла блоками, так гораздо быстрее происходит вставка кучи записей одновременно.
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Ухты, как всё сложно устроено!
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |