Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
6-1115185056
X-Disa
2005-05-04 09:37
2005.08.14
IdHttp.Get - многопоточное скачивание страниц!


1-1122426473
Vasian
2005-07-27 05:07
2005.08.14
Проблема с работой с канвой объекта TPrinter


3-1120471111
Yurisimus
2005-07-04 13:58
2005.08.14
Верхний регистр в ADOQuery


5-1092908728
Alexander S.
2004-08-19 13:45
2005.08.14
Кто как компоненты компилирует


1-1122361847
Kolan
2005-07-26 11:10
2005.08.14
Как назначить всем формам одну иконку (16x16).





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский