Форум: "Базы";
Текущий архив: 2009.11.29;
Скачать: [xml.tar.bz2];
ВнизСортировка записей по текстовому полю в кириллице Найти похожие ветки
← →
ВованХ (2008-12-23 17:16) [0]Для paradox-таблицы при использовании BDE глючит сортировка/ индексация по текстовому полю, в котором находятся русские буквы. Например, несколько записей начинается на "С", потом на "Т", потом - снова на "С" :(
Как это можно побороть?
← →
Правильный$Вася (2008-12-23 17:18) [1]"ч" и "я" действительно глючат
остальные - вряд ли
← →
Виталий Панасенко (2008-12-23 17:39) [2]указать правильную кодовую страницу при создании таблицы
← →
Правильный$Вася (2008-12-23 17:53) [3]и потом именно ее же - при подключении
← →
Anatoly Podgoretsky © (2008-12-23 17:57) [4]> ВованХ (23.12.2008 17:16:00) [0]
Надо переиндексировать
← →
sniknik © (2008-12-23 18:10) [5]если
> "C", потом на "T", потом - снова на "С" :(
то это правильно, возьми для примера скопируй (только именно скопируй) буквы из моего поста (те что в кавычках), и вставь в первые символы значений своей таблицы. посмотри на сортировку.
просто есть подозрение, что там находятся не только
> русские буквы.
← →
sniknik © (2008-12-23 18:13) [6]или выполни запрос
SELECT * FROM aaa WHERE Name LIKE "%C%"
(опять же скопированный отсюда), выдал он что нибудь?
← →
ВованХ (2008-12-23 18:24) [7]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
← →
Медвежонок Пятачок © (2008-12-23 18:26) [8]langdriver - "WEurope" ANSI
langdriver - "ancyrr"
← →
ВованХ (2008-12-23 18:38) [9]2 Медвежонок Пятачок ©
> langdriver - "ancyrr"
При изменении langdriver на Pdox ANSI Cyrillic для PARADOX в BDE - тоже не помогает :(
← →
Anatoly Podgoretsky © (2008-12-23 18:39) [10]"WEurope" никак не похоже на Русский
Посдказка "WEurope" означает Западная Европа!
← →
ВованХ (2008-12-23 18:40) [11]Вообще неправильно сортируется по многим буквам. Например, "Б" встречается после "Д" - здесь тяжело заподозрить юзера в том, что он набрал латинское С, М или Т.
← →
Медвежонок Пятачок © (2008-12-23 18:41) [12]При изменении langdriver на Pdox ANSI Cyrillic для PARADOX в BDE - тоже не помогает :(
Ну так поздно пить боржом. С самого начала должен был быть этот драйвер
← →
Anatoly Podgoretsky © (2008-12-23 18:41) [13]> ВованХ (23.12.2008 18:38:09) [9]
Замена не поможет, надо создавать новую таблицу.
← →
Anatoly Podgoretsky © (2008-12-23 18:42) [14]> ВованХ (23.12.2008 18:40:11) [11]
Как драйвер может отсортировать неизвестные символы.
← →
ВованХ (2008-12-23 18:43) [15]2 Anatoly Podgoretsky ©
...и даже если поменять langdriver на Paradox Cyrr 866 - тоже не помогает
← →
ВованХ (2008-12-23 18:44) [16]Медвежонок Пятачок ©
Anatoly Podgoretsky ©
спасибо, ща попробую
← →
Anatoly Podgoretsky © (2008-12-23 18:46) [17]Может не надо? Раз такой случай, то может перейти на другую СУБД?
← →
ВованХ (2008-12-23 18:54) [18]Всем спасибо !!!
Если langdriver = Paradox Cyrr 866
и при этом создается новая таблица, то в ней все работает правильно.
Теперь другая проблема: данных много, нужно все переливать...
← →
Медвежонок Пятачок © (2008-12-23 19:03) [19]компьютер железный, пусть переливает.
← →
Anatoly Podgoretsky © (2008-12-23 20:07) [20]> ВованХ (23.12.2008 18:54:18) [18]
И зачем ДОС кодировка?
← →
Германн © (2008-12-24 01:51) [21]
> Anatoly Podgoretsky © (23.12.08 20:07) [20]
>
> > ВованХ (23.12.2008 18:54:18) [18]
>
> И зачем ДОС кодировка?
>
Имхо, "от балды". Первый раз попробовал и всё получилось.
Дальнейший (возможный) геморрой - на его совести.
← →
ВованХ (2008-12-24 11:08) [22]На Pdox ANSI Cyrillic тоже правильно работает. И ведь тоже "от балды" :)
← →
ВованХ (2008-12-24 12:18) [23]Уважаемые, может кто подскажет, как на BDE программно переключить langdriver? Например, на Pdox ANSI Cyrillic.
← →
Германн © (2008-12-24 13:16) [24]
> ВованХ (24.12.08 12:18) [23]
>
> Уважаемые, может кто подскажет, как на BDE программно переключить
> langdriver? Например, на Pdox ANSI Cyrillic.
>
TDatabase.Params
Use Params to examine or specify database connection parameters, such as path name, server name, schema-caching size, language driver,...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2009.11.29;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.005 c