Главная страница
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.084 c
6-1115183884
Atrion
2005-05-04 09:18
2005.08.14
Реализовать метод POST с помощью idHTTP


4-1118401293
Андрей Жук
2005-06-10 15:01
2005.08.14
Неверный результат работы функции


1-1122021728
Max4
2005-07-22 12:42
2005.08.14
заглавная буква после точки.


3-1120745203
VictorT
2005-07-07 18:06
2005.08.14
Имеет ли значение в современных СУБД (в частности MySQL) порядок


4-1118398800
Андрей Жук
2005-06-10 14:20
2005.08.14
Что за путь?