Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
2-1255507653
123123
2009-10-14 12:07
2009.11.29
отключить сочетание клавиш


15-1254576288
vrem
2009-10-03 17:24
2009.11.29
Windows: странные задержки


4-1223137103
Tirael
2008-10-04 20:18
2009.11.29
CreateProcess и параметры с пробелом


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


15-1254238851
Суслик_
2009-09-29 19:40
2009.11.29
Идея борьбы со спамом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский