Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.14;
Скачать: CL | DM;

Вниз

Индексы 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.044 c
1-1122469773
Ш-К
2005-07-27 17:09
2005.08.14
Наследование интерфейсов


1-1122382746
chili
2005-07-26 16:59
2005.08.14
Помогите разобраться с потоком


1-1122496763
muny
2005-07-28 00:39
2005.08.14
функция power


10-1098959585
Rext
2004-10-28 14:33
2005.08.14
Определение пользователя в DCOM


14-1122266581
WondeRu
2005-07-25 08:43
2005.08.14
DELPHI DIAGRAM PORTFOLIO(*.ddp) -абсолютно бесполезная штуковина?