![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сортировка записей по текстовому полю в кириллице [D6, Paradox]
ВованХ © (2008-12-23 17:16:00)Для paradox-таблицы при использовании BDE глючит сортировка/ индексация по текстовому полю, в котором находятся русские буквы. Например, несколько записей начинается на "С", потом на "Т", потом - снова на "С" :(
Как это можно побороть?
Германн (2008-12-24 13:16:00) [1]
> ВованХ (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,...
ВованХ (2008-12-24 12:18:00) [2]Уважаемые, может кто подскажет, как на BDE программно переключить langdriver? Например, на Pdox ANSI Cyrillic.
ВованХ (2008-12-24 11:08:00) [3]На Pdox ANSI Cyrillic тоже правильно работает. И ведь тоже "от балды" :)
Германн (2008-12-24 01:51:00) [4]
> Anatoly Podgoretsky © (23.12.08 20:07) [20]
>
> > ВованХ (23.12.2008 18:54:18) [18]
>
> И зачем ДОС кодировка?
>
Имхо, "от балды". Первый раз попробовал и всё получилось.
Дальнейший (возможный) геморрой - на его совести.
Anatoly Podgoretsky (2008-12-23 20:07:00) [5]> ВованХ (23.12.2008 18:54:18) [18]
И зачем ДОС кодировка?
Медвежонок Пятачок (2008-12-23 19:03:00) [6]компьютер железный, пусть переливает.
ВованХ (2008-12-23 18:54:00) [7]Всем спасибо !!!
Если langdriver = Paradox Cyrr 866
и при этом создается новая таблица, то в ней все работает правильно.
Теперь другая проблема: данных много, нужно все переливать...
Anatoly Podgoretsky (2008-12-23 18:46:00) [8]Может не надо? Раз такой случай, то может перейти на другую СУБД?
ВованХ (2008-12-23 18:44:00) [9]Медвежонок Пятачок ©
Anatoly Podgoretsky ©
спасибо, ща попробую
ВованХ (2008-12-23 18:43:00) [10]2 Anatoly Podgoretsky ©
...и даже если поменять langdriver на Paradox Cyrr 866 - тоже не помогает
Anatoly Podgoretsky (2008-12-23 18:42:00) [11]> ВованХ (23.12.2008 18:40:11) [11]
Как драйвер может отсортировать неизвестные символы.
Anatoly Podgoretsky (2008-12-23 18:41:00) [12]> ВованХ (23.12.2008 18:38:09) [9]
Замена не поможет, надо создавать новую таблицу.
Медвежонок Пятачок (2008-12-23 18:41:00) [13]При изменении langdriver на Pdox ANSI Cyrillic для PARADOX в BDE - тоже не помогает :(
Ну так поздно пить боржом. С самого начала должен был быть этот драйвер
ВованХ (2008-12-23 18:40:00) [14]Вообще неправильно сортируется по многим буквам. Например, "Б" встречается после "Д" - здесь тяжело заподозрить юзера в том, что он набрал латинское С, М или Т.
Anatoly Podgoretsky (2008-12-23 18:39:00) [15]'WEurope' никак не похоже на Русский
Посдказка 'WEurope' означает Западная Европа!
ВованХ (2008-12-23 18:38:00) [16]2 Медвежонок Пятачок ©
> langdriver - 'ancyrr'
При изменении langdriver на Pdox ANSI Cyrillic для PARADOX в BDE - тоже не помогает :(
Медвежонок Пятачок (2008-12-23 18:26:00) [17]langdriver - 'WEurope' ANSI
langdriver - 'ancyrr'
ВованХ (2008-12-23 18:24:00) [18]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
sniknik (2008-12-23 18:13:00) [19]или выполни запрос
SELECT * FROM aaa WHERE Name LIKE '%C%'
(опять же скопированный отсюда), выдал он что нибудь?
sniknik (2008-12-23 18:10:00) [20]если
> "C", потом на "T", потом - снова на "С" :(
то это правильно, возьми для примера скопируй (только именно скопируй) буквы из моего поста (те что в кавычках), и вставь в первые символы значений своей таблицы. посмотри на сортировку.
просто есть подозрение, что там находятся не только
> русские буквы.