Вниз
Скачать: CL | DM;

Сортировка записей по текстовому полю в кириллице   Найти похожие ветки 

← →
ВованХ   (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 вся ветка

Скачать: CL | DM;



Память: 0.5 MB
Время: 0.007 c
1-1225824956
vik2008
2008-11-04 21:55
2009.11.29
Кодировка в RX Lib


8-1173516347
hypnotize
2007-03-10 11:45
2009.11.29
Вывести графику на Canvas с Anti-Aliasing ом


15-1253465872
Кто б сомневался
2009-09-20 20:57
2009.11.29
Помогите перевести


2-1255358930
Nutz
2009-10-12 18:48
2009.11.29
Визуальное отбражение кода


2-1255541991
user1991
2009-10-14 21:39
2009.11.29
try .. finally .. end. Помогите разобраться




   Наверх