Текущий архив: 2008.01.13;
Скачать: CL | DM;
Вниз
Отключить проверку заглавных букв Найти похожие ветки
← →
altatr © (2007-12-12 15:36) [0]Привет всем!
Такой вопрос. Имеется таблица данных. Поиск по ней выполняется с помощью SQL запросов. Примерно так:
with form1.Query1 do begin
Close;
SQL.Clear;
SQL.Add("SELECT NAME, FNAME, SNAME");
SQL.Add("FROM ":BASE:main.dbf"");
SQL.Add("WHERE");
SQL.Add("(NAME = ""+ f +"")");
SQL.Add("ORDER BY NAME, FNAME, SNAME");
Open;
end;
В таблице фамилии (поле NAME) начинаются с Заглавной буквы поэтому при поиске приходится переменную f тоже вводить с заглавной буквы. Можно ли отключить проверку заглавных и прописных букв?
← →
Amoeba © (2007-12-12 15:56) [1]Можно. Нужно использовать в сравнении ф-ии преобразования в верхний или нижний регистр.
← →
altatr © (2007-12-12 16:42) [2]Ну с переменной f просто, ей я присвоил значение компонента Edit1.text у которого в свою очередь в свойстве CharCase стоит ecUpperCase т.е. все пишем большими буквами. А как сделать чтобы прога видела все записи в поле NAME большими буквами?
← →
oldman © (2007-12-12 16:46) [3]Я в своей проге не заморачивался с руками юзеров и все записи в БД (соответственно и поиск тоже) делал ТОЛЬКО большими буквами.
А то ведь фамилия может быть "Петров", а может быть и "Петров-Иванов"...
← →
Johnmen © (2007-12-12 16:52) [4]Об используемой СУБД мы должны сами догадаться?
← →
Anatoly Podgoretsky © (2007-12-12 16:54) [5]Сейчас услышишь, что dbf
← →
Johnmen © (2007-12-12 17:00) [6]
> Anatoly Podgoretsky © (12.12.07 16:54) [5]
> Сейчас услышишь, что dbf
Тогда пошлю в localsql.hlp для изучения встроенных ф-ий...
← →
oldman © (2007-12-12 17:01) [7]
> Johnmen © (12.12.07 17:00) [6]
В сабже четко написано:
SQL.Add("FROM ":BASE:main.dbf"");
← →
altatr © (2007-12-12 17:11) [8]
> Я в своей проге не заморачивался с руками юзеров и все записи
> в БД (соответственно и поиск тоже) делал ТОЛЬКО большими
> буквами
База то уже набита. Больше 12000 записей. И набивается она в другой программе.
← →
oldman © (2007-12-12 17:12) [9]Всего 12000?
Конвертни перед поиском.
← →
Anatoly Podgoretsky © (2007-12-12 18:55) [10]> oldman (12.12.2007 17:01:07) [7]
И что это значит?
Клиппер?
← →
Desdechado © (2007-12-12 20:58) [11]
WHERE Upper(name) = :F
И построить индекс по UPPER(NAME)
← →
altatr © (2007-12-13 00:35) [12]
>Desdechado © (12.12.07 20:58) [11]
>WHERE Upper(name) = :F
>И построить индекс по UPPER(NAME)
Переписал строку:
SQL.Add("(UPPER (NAME) = ""+ f +"")
и работает как надо.
Спасибо.
Страницы: 1 вся ветка
Текущий архив: 2008.01.13;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.006 c