![]() |
|
![]() ![]() ![]() |
|
Kusik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 9.12.2005 Где: Харьков Репутация: нет Всего: нет |
при работе с дбф возникли проблемы, касающие индексов. хочу найти способ переиндексирования dbf таблиц непосредственно из Deplhi. (Надоело каждый раз при подобных проблемах открывать Foxpro и делать REINDEX на каждой таблице). нашел в документашке функцию DbiRegenIndexes(Table1.Handle), но чтото она не индексирует, бывало даже она удаляла индексный файл (cdx) и восстановить его можно было тока в Фоксе. сейчас же, при попытке сджелать переиндексацию с помощью этой функции вылазит ошибка: "Index does not exists (...MDX)" хотя никакого MDX файла там нет. помогите, подскажите советом
|
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
Это сообщение отредактировал(а) Akella - 14.11.2006, 15:00 |
|||
|
||||
ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 3 Всего: 252 |
BDE: Query,
SQL: Create Index и будет тебе MDX |
|||
|
||||
Vas |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
Подсказывают мне темные силы, что база dBase. Тады значит если таблица была индексирована, то в ней 28 байт <>0, если 0 то таблица не имела индексного файла. Вот функция переиндексации с учетом этого:
-------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
||||
|
|||||
Kusik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 9.12.2005 Где: Харьков Репутация: нет Всего: нет |
Akella, спасибо за ответ, то что ты предлагаешь имеет отношение к dDase| FoxPro таблицам?
и что это единственный корректный способ переиндексировать таблицу? и почему эта функция неработает? DbiRegenIndexes(Table1.Handle) Допустим что индексный файл запорчен, и я не знаю какие у таблицы индексы. как мне его восстановить? Добавлено @ 13:20 допустим есть таблица DBase III+ с индексным файлом *.cdx при первой попытке переиндексировать вылазит ошибка: "Invalid Language Driver" и файл *.cdx пропадает. а при повторном вывозе "Index does not exists (...MDX)". |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 29 Всего: 329 |
нет не единственный см. вложения Добавлено @ 14:40 в настройках BDE, возможно, нужно покавыряться и установить корректные LangDrivers Присоединённый файл ( Кол-во скачиваний: 18 ) ![]() |
|||
|
||||
SergeBS |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 11 Всего: 22 |
Kusik,
Akella, Не парьтесь с BDE. Уже давно существует куча более легких (100-600 кБ к ЕХЕ-шнику и все) и удобных (все настройки - в программе) движков. И проблем нет. Я например в Halcyon при старте программы базы открываю и индексирую. Чтобы иметь правильные индексы. Впрочем, в Fox(DOS) делал так же. А CDX - индексы избегаю как раз из-за их "обязаловки". |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |