Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.12.21;
Скачать: [xml.tar.bz2];

Вниз

Не срабатывает кейсоинсенситивность в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.045 c
3-1211369795
Leo
2008-05-21 15:36
2008.12.21
Использование переменной внутри запроса.


15-1224050613
tesseract
2008-10-15 10:03
2008.12.21
lazarus подновился. исправлена куча ошибок,


15-1224116206
KilkennyCat
2008-10-16 04:16
2008.12.21
Антивирусы - бяка.


10-1150811466
Smith
2006-06-20 17:51
2008.12.21
Как создать объект из dll?


3-1212045186
Аноним
2008-05-29 11:13
2008.12.21
Как завершить Хранимую процедуру?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский