Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

выражение Like

273
04 июня 2006 года
3A3-968M
1.2K / / 22.12.2005
Пишу сайт на ASP.NET. Произвожу коннект к *.mdb файлу. Есть таблица со списком товаров. В этой таблице есть колонка производитель. Поиск на сайте по товарам организован таким образом, чтобы пользователь мог вводить не полностью имя производителя. В соответствии с введённым производителем формируется запрос:
 
Код:
SELECT * FROM Trades WHERE Trades.Company LIKE "Venik*";

Выполняю запрос из кода, возвращает, что нет ни одной записи. Тоже самое пишу в MS Access вручную, показывает что есть. Если писать полностью название компании, например:
 
Код:
SELECT * FROM Trades WHERE Trades.Company LIKE "Veniki International";

То запрос возвращает записи. Попытался коннектится через OLE DB, а не через Access Data Source, такая же фигня. Думал, мож ASP.NET глючит. Нифига. Открываю старую добрую Delphi 7, пишу приложение, которое выполняет соединение и запрос. Выдаёт тоже самое, не хочет выводить записи по условию LIKE. Пишу полностью название компании, тогда работает. Может быть в COM-интерфейсах, которые поставились вместе с аксесом клюки какие? Стоит MS Access 2003, файл БД в формате MS Access 2000.
10
04 июня 2006 года
Freeman
3.2K / / 06.03.2004
[QUOTE=3A3-968M]Попытался коннектится через OLE DB, а не через Access Data Source, такая же фигня.[/QUOTE]
А просто заменить кавычки на апострофы не пробовал. По стандарту SQL должны быть именно апострофы. Кавычки используются для экранирования имен, регистр которых в SQL не различается.

[QUOTE=3A3-968M]Открываю старую добрую Delphi 7, пишу приложение, которое выполняет соединение и запрос.[/QUOTE]
Не ходите, дети, в Африку гулять. :D
273
04 июня 2006 года
3A3-968M
1.2K / / 22.12.2005
попробую поменять на апострофы. спасибо!
242
04 июня 2006 года
Оlga
2.2K / / 04.02.2006
[quote=3A3-968M]попробую поменять на апострофы. спасибо![/quote]

да и помоему не *, а %, по крайней мере в SQL Oracle так учила
10
04 июня 2006 года
Freeman
3.2K / / 06.03.2004
[QUOTE=OlgaKr]да и помоему не *, а %, по крайней мере в SQL Oracle так учила[/QUOTE]
5 баллов! Меня определено новый интерфейс программирует.
273
05 июня 2006 года
3A3-968M
1.2K / / 22.12.2005
Цитата:

Сообщение от OlgaKr
да и помоему не *, а %, по крайней мере в SQL Oracle так учила


Не не, именно значок *. Он означает, что в строке Veniki* после сиволов Veniki может быть любое количество любых символов. Это стандартные символы(? + и т.д.) для описания масок.

4
05 июня 2006 года
mike
3.7K / / 01.10.2002
[QUOTE=3A3-968M]Не не, именно значок *. Он означает, что в строке Veniki* после сиволов Veniki может быть любое количество любых символов. Это стандартные символы(? + и т.д.) для описания масок.[/QUOTE]

Кто такую глупость сказал ?? В SQL никогда не было "*", всегда был "%" в качестве любой последовательности символов (в т.ч. и пустой)

RTFM:
http://www.codenet.ru/cat/Applications/Database/SQL/
273
05 июня 2006 года
3A3-968M
1.2K / / 22.12.2005
Такую глупость сказала справка в MS Access. Там для построения выражений в LIKE нужно использовать *, а не %. Если бы это был не Access, тогда другое дело.
242
05 июня 2006 года
Оlga
2.2K / / 04.02.2006
[quote=3A3-968M]Такую глупость сказала справка в MS Access. Там для построения выражений в LIKE нужно использовать *, а не %. Если бы это был не Access, тогда другое дело.[/quote]
ты лучше скажи у тебя запрос уже работает, или еще нет :confused:
273
05 июня 2006 года
3A3-968M
1.2K / / 22.12.2005
работает, если ставить одинарные кавычки.
4
05 июня 2006 года
mike
3.7K / / 01.10.2002
Боже, ну и дурь этот Access
273
05 июня 2006 года
3A3-968M
1.2K / / 22.12.2005
Цитата:

Боже, ну и дурь этот Access


О вкусах не спорят :)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог