Форум: "Базы";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
ВнизИндексы Foxpro (cdx) Найти похожие ветки
← →
eLimar (2005-07-04 01:17) [0]Необходимо добавлять данные в базы фокспро. Но в некоторых индексах используются функции при построении индексов. Используя halycon таблицы с такими индексами не открываются. Как можно обойти данную проблему (отключать индекс не предлагать или тогда как перестроить индекс)?
← →
Anatoly Podgoretsky © (2005-07-04 08:40) [1]Функция, функции рознь.
← →
sniknik © (2005-07-04 09:13) [2]для клипера функции в индексах (выражения с ними) работают в halycon-е (главное чтобы были), для фокса не приверял но судя по всему используются те же самые (в одном месте все описаны)... должно работать.
если чего и нехватает/не адекватно срабатывает, исходники есть правь как хочеш. (был случай с переходом на другую версию клипера стал не так индекс восприниматься. оказалось изза различий обработки одной из функций. в сопряжонной проге пришлось исправлять halycon-овскую на аналогичное изменение в действии, иначе индексы друг друга не понимали)
если индекс по пользовательской функции, то ее естественно придется добавлять.
← →
elimar (2005-07-04 09:54) [3]При попытке в дизайнере открыть датасет с подключенным индексом, пишет:
There is no function for LUPPER.
Я не специалист по фокспро, поэтому не знаю это стандартная функция или нет. Я в принципе догадываюсь, что разработчики компонента должны были предусмотреть эту возможность.
А если это пользовательская функция - где ее добавлять?
P.S. Я подключаюсь к базам не моей программы, поэтому посмотреть как у них реализовано нет ни какой возможности.
← →
ANB © (2005-07-04 10:19) [4]
> LUPPER
- похоже, это своя реализация Upper, которая в фоксе не работает с русскими буквами.
← →
elimar © (2005-07-04 10:45) [5]А где должны находится пользовательские функции?
← →
sniknik © (2005-07-04 11:08) [6]пользовательские... там где опишеш. стандартные в ds6_fctn.pas, там можно и посмотреть как добавить свою.
← →
sniknik © (2005-07-04 11:14) [7]> поэтому посмотреть как у них реализовано нет ни какой возможности.
частично индекс (выражение) можно посмотреть в заголовке индекса, на файловом (idx) это особенно хорошо видно, с cdx сложнее. естественно что делает это выражение не так не поймеш, но по самому индексу можно догадатся... сравнить значения полей в базе, само выражение по которому строится индекс и что туда, в этот индекс попадает. в общем разобратся можно.
а тут даже разбираться не надо скорее всего, ANB © (04.07.05 10:19) [4] прав на 98%.
← →
elimar © (2005-07-05 00:22) [8]У меня нет исходник Halcyon, потому посмотреть на реализацию очень проблематично. Почитав форумы, многие предлагают еще Apollo, есть ли там возможность описать пользовательские функции для индексов?
← →
elimar © (2005-07-05 01:24) [9]Вопрос решился тупо, но эффективно. Я добавляю в таблицу без включенного индекса, а при выходе старый индекс убиваю. Прога, которая работает с этой базой, сама автоматически восстанавливает индексы.
Всем спасибо.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.08.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c