Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2009, 01:11   #1
Brook
Пользователь
 
Регистрация: 24.04.2009
Сообщений: 16
По умолчанию Запрос на неточный поиск

Здравствуйте.
Почему то не работает описанный практически в любой литературе запрос на неточный поиск:

Query1.Active := false;
Query1.SQL.Clear;
Query1.SQL.Add('SELECT * FROM ShopTable');
Query1.SQL.Add('WHERE NameShop LIKE "'+Edit1.Text+'%"');
Query1.Active := true;

Все равно, если вводить в Edit текст, по регистру отличающийся от текста, находящегося в базе данных, результат поиска будет 0.
Brook вне форума Ответить с цитированием
Старый 05.05.2009, 01:18   #2
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Это в какой программе? Может так?
Код:
Query1.SQL.Add('WHERE NameShop LIKE "*'+Edit1.Text+'*"');
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 05.05.2009, 04:48   #3
5naip
Форумчанин
 
Аватар для 5naip
 
Регистрация: 05.10.2007
Сообщений: 536
По умолчанию

а чего конкретно вы хотите от оператора Like?
вот описание всех его функций и видов для MS SQL Server.
_http://msdn.microsoft.com/ru-ru/library/ms179859.aspx
rocklistener...
5naip вне форума Ответить с цитированием
Старый 05.05.2009, 10:41   #4
Brook
Пользователь
 
Регистрация: 24.04.2009
Сообщений: 16
По умолчанию

Цитата:
Сообщение от DomiNick Посмотреть сообщение
Это в какой программе? Может так?
Код:
Query1.SQL.Add('WHERE NameShop LIKE "*'+Edit1.Text+'*"');
К сожалению, результат поиска тот же - нулевой
Brook вне форума Ответить с цитированием
Старый 05.05.2009, 10:45   #5
Aristarh Dark
Форумчанин
 
Регистрация: 07.08.2007
Сообщений: 154
По умолчанию

А если вот так написать?
Код:
Query1.SQL.Add('WHERE UPPER(NameShop) LIKE UPPER("'+Edit1.Text+'%")');
Aristarh Dark вне форума Ответить с цитированием
Старый 05.05.2009, 10:47   #6
Brook
Пользователь
 
Регистрация: 24.04.2009
Сообщений: 16
По умолчанию

Цитата:
Сообщение от 5naip Посмотреть сообщение
а чего конкретно вы хотите от оператора Like?
вот описание всех его функций и видов для MS SQL Server.
_http://msdn.microsoft.com/ru-ru/library/ms179859.aspx
От оператора Like (с дополнительными параметрами типа "%") очень хочется получить в результате поиска строку из таблицы даже если слово, по которому производится поиск написано не целиком или с прописной буквы.
Конктретно в ссылке, которую ты указал есть пример: "Если в операторе LIKE указать символ '5%', то компонент Database Engine будет искать число «5», за которым следует любая строка с числом символов от нуля и больше."
Мне бы хотелось построить конструкцию вида ...Like "'+Edit1.Text+'%"...
Но она не работает...
Brook вне форума Ответить с цитированием
Старый 05.05.2009, 10:53   #7
Brook
Пользователь
 
Регистрация: 24.04.2009
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Aristarh Dark Посмотреть сообщение
А если вот так написать?
Код:
Query1.SQL.Add('WHERE UPPER(NameShop) LIKE UPPER("'+Edit1.Text+'%")');
Спасибо, добрый волшебник!
Brook вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как прописать запрос поиск???? Sexyprogrammist БД в Delphi 10 12.12.2009 00:51
Запрос на поиск Hobbit_88 БД в Delphi 4 24.04.2009 13:50
Поиск в 2-ух таблицах через запрос icome Microsoft Office Access 3 26.08.2008 18:14
запрос ссылается на несвязанный с ним запрос kolebatel SQL, базы данных 0 11.06.2008 12:50
Поиск через запрос Таня84 БД в Delphi 1 17.02.2007 02:52