Страница: 1 |
Страница: 1 |
Вопрос: Неправильный поиск
Добавлено: 21.08.06 21:48
Автор вопроса: SerJ
VB6+MySQL Server
Короче такая вот фиКня получилась.... Делаю запрос, используя несколько таблиц. Выборку делаю ч/з LIKE:
mSQL.DataSource="SELECT ORGANISATIONS.NAME AS NAME, ORGANISATIONS.PHYSADDR1 AS PHYSADDR, ORGANISATIONS.PHONEFAX AS PHONEFAX, OGRANISATIONS.RATING AS RATING FROM ORGANISATIONS, WARES, PRICES WHERE PRICES.ORG_ID=ORGANISATIONS.ID AND PRICES.WARES_ID=WARES.ID AND WARES.NAME LIKE ""%" & txtSrch.Text & "%"" ORDER BY ORGANISATIONS.RATING DESC"
mSQL.Refresh
'..... code goes here
Результат - вывод записей НЕ содержащих сроку в текстбоксе txtSrch, хотя записи, которые включают эту строку, тоже есть
Не понял прикола вААще.
Когда беру вместо LIKE знак равенства (хотя это мне не нужно), то все пашет, как надо. Как только беру LIKE с использованием маски поиска (эт типа "%фирма%") - начинается лажа.... Может кто решал подобные траблы?...
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #1
Добавлено: 22.08.06 00:18
Вопрос на сообразительность, что будет если я в txtSrch введу
Вообще меня смущает факт использования двойных кавычек для указания параметра Like, попробуй одинарные использовать.
Номер ответа: 2
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #2
Добавлено: 22.08.06 04:58
Вы выборку из 3-х таблиц делаете.. Может быть стОит более корректно
заавать зависимости между ними? Ну там "INNER JOIN" к примеру...
Номер ответа: 3
Автор ответа:
SerJ
Вопросов: 24
Ответов: 332
Профиль | | #3
Добавлено: 29.08.06 00:40
""; DELETE FROM Organisations --
Хм, это конечно интересно.... А как тогда с такими бороться? Перебирать SQL-слова?
Меня смущает тоже, но если попадется слово с апострофом (база-то на украинском языке)?
заавать зависимости между ними? Ну там "INNER JOIN" к примеру...
Я начинающий по отношению к базам данных. В хелпе, котором я читал не понятно написано (по крайней мере для меня)
Объясните кто-то, как работать с таблицами, используя INNER JOIN и подобное....
Номер ответа: 4
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #4
Добавлено: 29.08.06 05:04
Заменяй все одинарные кавычки двумя одинарными.
Если не ошибаюсь (меня могут поправить) этого будет достаточно...
Номер ответа: 5
Автор ответа:
SerJ
Вопросов: 24
Ответов: 332
Профиль | | #5
Добавлено: 30.08.06 21:07
ok. я попробую, но вряд ли это поможет в решении траблы. Но всё равно спасибо
Номер ответа: 6
Автор ответа:
⊗WaX⊗
Вопросов: 26
Ответов: 325
Web-сайт:
Профиль | | #6
Добавлено: 06.09.06 15:40
Вы выборку из 3-х таблиц делаете.. Может быть стОит более корректно
заавать зависимости между ними? Ну там "INNER JOIN" к примеру..
А это в принципе тоже самое - просто в BOL написано что это старый сиснтаксис а в postgreSQL наоборот
В mySQl есть несколько операторов типа LIKE в том числе и с регекспами ими будет удобнее пользоваться...