Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.11.29;
Скачать: 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 вся ветка

Текущий архив: 2009.11.29;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.011 c
15-1254227405
istok20
2009-09-29 16:30
2009.11.29
WiMax...


3-1230124390
interbase
2008-12-24 16:13
2009.11.29
без sp_executeSQL не обойтись?


11-1193486478
D[u]fa
2007-10-27 16:01
2009.11.29
KOL_MCK for Delpi 2007 Turbo worked


1-1227282908
SpellCaster
2008-11-21 18:55
2009.11.29
Инициализация DLL


2-1255597644
night_light
2009-10-15 13:07
2009.11.29
Resource TmyForm not Found