Я немного огляделся и не могу найти без учета регистра команды SELECT
, LIST
или SORT
в UniQuery, а также переключатель / параметр для изменения чувствительности к регистру. Невероятно, а?
Вот идея:
Вы можете позвонить .ToLower
на txtSearch.Text
и установить код преобразования (атрибут 3) на MCL
в словаре UT.OPERS
для LAST.NAME
, FIRST.NAME
и т. Д. Яблоки на яблоки.
Одна вещь, которую я обнаружил при тестировании, это то, что это работает, только если вы окружаете каждый из ваших критериев выбора с помощью групповых скобок, например: ...WITH LAST.NAME = ""[{0}]""
Если вы не хотите изменять свои словари акций для LAST.NAME
и т. Д., Вы можете создавать новые элементы словаря и добавлять к ним префикс L_
(или что-то еще), чтобы различать их.
EDIT:
- MCL преобразует текст в нижний регистр
- MCT преобразует текст в регистр
- MCU преобразует текст в верхний регистр
Если вы поместите любой из этих кодов преобразования «Pick-style» в атрибут 3 словаря, который описывает ваше поле, преобразование будет выполняться каждый раз, когда вы используете словарь.
Например, если вы добавили «MCL» в свое поле LAST.NAME
, когда вы сделали LIST UT.OPERS LAST.NAME
, все фамилии будут отформатированы в нижнем регистре независимо от того, как на самом деле хранятся данные.
Я считаю, что UDT.OPTION 92 делает то, что литерал в выбранных вами критериях также конвертируется с использованием того же кода преобразования, что и в словаре, что дает вам нечувствительность к регистру.
SELECT UT.OPERS WITH LAST.NAME = "Smith"
Будет преобразовано в:
SELECT UT.OPERS WITH LAST.NAME = "smith"
до сравнения.
По сути, то, что UDT.OPTION 92 сделает для вас, будет препятствовать вам звонить .ToLower
в идее, которую я изложил выше. Не много денег для доллара, ИМХО.