Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.12.21;
Скачать: CL | DM;

Вниз

Не срабатывает кейсоинсенситивность в tDataSet.Locate   Найти похожие ветки 

 
Семен Кевларвестов   (2008-11-05 02:28) [0]

Доброй ночи!

Есть некое приложение, в котором осуществляется поиск по открытому датасету методом Locate примерно так: TDataset.Locate("SomeField",SomeValue,[loCaseInsensitive, loPartialKey]). (При этом значение в SomeValue приводится к верхнему регистру, впрочем, это не важно т.к.к строкив датасете могут быть какие угодно). И вот такая загадочная вещь: если в строке есть буквы "ч" или "я" - не срабатывает кейсоинсенситивность.

Не подскажите ли, пожалуйста, как с этим можно бороться?


 
Anatoly Podgoretsky ©   (2008-11-05 07:43) [1]

> Семен Кевларвестов  (05.11.2008 2:28:00)  [0]

Отказаться от БДЕ


 
Vlad Oshin ©   (2008-11-05 10:06) [2]


> если в строке есть буквы "ч" или "я"

а если Ч и Я, то работает?


 
Anatoly Podgoretsky ©   (2008-11-05 10:32) [3]

> Vlad Oshin  (05.11.2008 10:06:02)  [2]

Не работает, а вот если <ч> и <Я>, то работает?


 
Vlad Oshin ©   (2008-11-05 10:41) [4]

Просто есть мысль приводить в верхний регистр, раз они такие заколдованные


 
Anatoly Podgoretsky ©   (2008-11-05 12:24) [5]

> Vlad Oshin  (05.11.2008 10:41:04)  [4]

Чем и когда и зачем портить базу?


 
Семен Кевларвестов   (2008-11-05 23:58) [6]


> Просто есть мысль приводить в верхний регистр, раз они такие
> заколдованные


А там так и сделано: идет поиск в верхнем регистре. А данные для которых поиск важен (к примеру ФИО) так в базу и вносятся, в верхнем регистре. Просто нужно было кое-что прикрутить (в частности, стал необходим поиск по другим данных, которые могут хранится и в нижнем, и в смешанном регистре) и вылезла эта особенность.


> Отказаться от БДЕ


Я правильно понимаю, что если продолжать работать через BDE - решения нет? (Убрать его никто, естественно, не даст).


 
Германн ©   (2008-11-06 02:48) [7]


> Я правильно понимаю, что если продолжать работать через
> BDE - решения нет? (Убрать его никто, естественно, не даст).
>

А Х.з. Может и есть решения. Но уверенности в них нет никакой! Уж сколько было на многих форумах примеров, но никто не смог выдать "решения с гарантией"!


 
clickmaker ©   (2008-11-06 12:58) [8]

> как с этим можно бороться

а если искать тупо перебором с AnsiStartsText, например?


 
Семен Кевларвестов   (2008-11-09 00:41) [9]


> Германн ©   (06.11.08 02:48) [7]
>
>  Уж сколько было на многих форумах примеров, но никто не
> смог выдать "решения с гарантией"!


эммм.. а можно хотя бы одну ссылку на подобную же проблему с хоть каким-то решением. В сетке искал, нашел на delphikindom две темы, но там ничего особенного нету.


> clickmaker ©   (06.11.08 12:58) [8]
>
> а если искать тупо перебором с AnsiStartsText, например?
>


так в конце концов и сделал, но не уверен что это правильно.


 
Johnmen ©   (2008-11-09 01:12) [10]

Единственный достоверный, не зависящий не от чего или кого способ, это самоличный проход по НД с необходимой проверкой. Медленнее ли он Локейта? Возможно, да. Но не более, чем на процентов 20...



Страницы: 1 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.017 c
2-1226463290
Maks_
2008-11-12 07:14
2008.12.21
Форматирование текста в поле МЕМО


4-1202133749
Andrewtitoff
2008-02-04 17:02
2008.12.21
Как узнать размер файла


15-1224734244
Slider007
2008-10-23 07:57
2008.12.21
С днем рождения ! 23 октября 2008 четверг


15-1224067337
Аскар
2008-10-15 14:42
2008.12.21
Можно ли обсуждать C++ здесь? Если нет, то где можно?


15-1224770961
@!!ex
2008-10-23 18:09
2008.12.21
Хочу купить доменное имя, но оно уже занято... хостером...