Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Прямой запрос: строка содержит

v7: Прямой запрос: строка содержит
Я
   OnePrg
 
29.12.21 - 12:20
Подскажите есть ли в прямых запросах аналог функции ПОДОБНО как в 1С8?

Нужно выбрать все элементы справочника, в наименовании которых есть заданная строка.
   OnePrg
 
1 - 29.12.21 - 12:22
LIKE
   OnePrg
 
2 - 29.12.21 - 12:28
ТекстЗапроса = "
    |SELECT
    |    спрТовары.Code as Код,
    |    спрТовары.ID as [Товар $Справочник.Номенклатура]
    |FROM
    |    $Справочник.Номенклатура as спрТовары
    |WHERE
    |  спрТовары.Name LIKE `%"+ТекстПоиска+"%`"; 


Неправильный синтаксис около конструкции "`".

Какой символ использовать?
   OnePrg
 
3 - 29.12.21 - 12:31
ТекстЗапроса = "
    |SELECT
    |    спрТовары.Code as Код,
    |    спрТовары.ID as [Товар $Справочник.Номенклатура]
    |FROM
    |    $Справочник.Номенклатура as спрТовары
    |WHERE
    |  спрТовары.Descr LIKE '%"+ТекстПоиска+"%'"; 

ошибок не выдаёт, но и номенклатуру не ищет
   acht
 
4 - 29.12.21 - 12:33
Что будет, если в ТекстПоиска попадется одинарная кавычка или служебный символ LIKE?
   OnePrg
 
5 - 29.12.21 - 12:35
(4) согласен, но вряд ли оператор будет вводить такие симмволы, обычно ограничиваются буквами
   OnePrg
 
6 - 29.12.21 - 12:35
ТекстЗапроса = "
    |SELECT
    |    спрТовары.Code as Код,
    |    спрТовары.ID as [Товар $Справочник.Номенклатура]
    |FROM
    |    $Справочник.Номенклатура as спрТовары
    |WHERE
    |  спрТовары.Descr LIKE '%"+СокрЛП(ТекстПоиска)+"%' 
    |  OR спрТовары.Code LIKE '%"+СокрЛП(ТекстПоиска)+"%'"; 


работает
   acht
 
7 - 29.12.21 - 12:46
(5) > оператор будет вводить
Ты ему еще запрети из буфера обмена текст вставлять, ага.
   Sserj
 
8 - 29.12.21 - 13:33
(5) Для этого нужно использовать параметризированый подготовленный запрос. Если тип параметра указан однозначно строкой спец символы в нем будут трактоваться как обычная строка.
   Ryzeman
 
9 - 29.12.21 - 13:33
(1) Сам ответил. Другой вопрос зачем в (6) SQL-инъекция?...
Чем УстановитьТекстовыйПараметр не устраивает?
   Ryzeman
 
10 - 29.12.21 - 13:43
(9)+ Какой-нибудь шутник забьёт тебе в поиск 1%; DROP TABLE 1SJOURN; --

и привет :)

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.