-
Для paradox-таблицы при использовании BDE глючит сортировка/ индексация по текстовому полю, в котором находятся русские буквы. Например, несколько записей начинается на "С", потом на "Т", потом - снова на "С" :(
Как это можно побороть?
-
"ч" и "я" действительно глючат
остальные - вряд ли
-
указать правильную кодовую страницу при создании таблицы
-
и потом именно ее же - при подключении
-
> ВованХ (23.12.2008 17:16:00) [0]
Надо переиндексировать
-
если
> "C", потом на "T", потом - снова на "С" :(
то это правильно, возьми для примера скопируй (только именно скопируй) буквы из моего поста (те что в кавычках), и вставь в первые символы значений своей таблицы. посмотри на сортировку.
просто есть подозрение, что там находятся не только
> русские буквы.
-
или выполни запрос
SELECT * FROM aaa WHERE Name LIKE '%C%'
(опять же скопированный отсюда), выдал он что нибудь?
-
2 Виталий Панасенко
> указать правильную кодовую страницу при создании таблицы
Таблица создавалась в Database Desktop. В BDE:
default driver - PARADOX
langdriver - 'WEurope' ANSI
Где там можно указать кодовую страницу?
=================================
2 Anatoly Podgoretsky ©
Насчет индексации - ведь таблица индексируется не по текстовому полю, а по integer или autoincrement.
=================================
2 sniknik ©
Насчет SELECT по LIKE '%C%' - выдает все те записи на "С", которые в runtime выдаются не по порядку. Т.е., это действительно русские буквы, я уже не раз с таким сталкивался, но вот сейчас выполнение именно по порядку критично... :(
Запрос в проге оччень простой:
SELECT * FROM nTable
ORDER BY NameX
-
langdriver - 'WEurope' ANSI
langdriver - 'ancyrr'
-
2 Медвежонок Пятачок ©
> langdriver - 'ancyrr'
При изменении langdriver на Pdox ANSI Cyrillic для PARADOX в BDE - тоже не помогает :(
-
'WEurope' никак не похоже на Русский
Посдказка 'WEurope' означает Западная Европа!
-
Вообще неправильно сортируется по многим буквам. Например, "Б" встречается после "Д" - здесь тяжело заподозрить юзера в том, что он набрал латинское С, М или Т.
-
При изменении langdriver на Pdox ANSI Cyrillic для PARADOX в BDE - тоже не помогает :(
Ну так поздно пить боржом. С самого начала должен был быть этот драйвер
-
> ВованХ (23.12.2008 18:38:09) [9]
Замена не поможет, надо создавать новую таблицу.
-
> ВованХ (23.12.2008 18:40:11) [11]
Как драйвер может отсортировать неизвестные символы.
-
2 Anatoly Podgoretsky ©
...и даже если поменять langdriver на Paradox Cyrr 866 - тоже не помогает
-
Медвежонок Пятачок ©
Anatoly Podgoretsky ©
спасибо, ща попробую
-
Может не надо? Раз такой случай, то может перейти на другую СУБД?
-
Всем спасибо !!!
Если langdriver = Paradox Cyrr 866
и при этом создается новая таблица, то в ней все работает правильно.
Теперь другая проблема: данных много, нужно все переливать...
-
компьютер железный, пусть переливает.