Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / использование LIKE: поиск выражения - если есть кавычки / 11 сообщений из 11, страница 1 из 1
24.04.2012, 09:39
    #37767520
Сергей Мирный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование LIKE: поиск выражения - если есть кавычки
Добрый день!

Просьба подсказать в следующем вопросе:
из среды VFP делаю выборку по наименованию организации, выборка работает правильно,
если в выражении поиска нет кавычек:

t1='Транс'
?SQLEXEC(gnConnHandle, "SELECT * FROM Companies a WHERE a.nm_comp LIKE '%&t1%'", "Cm")


и появляется ошибка (VFP: Function name is missing), если в выражении поиска есть кавычки:
t1='ООО "Транс"'

Используется VFP9+SP2, MSSQL Server 2008R2
По форуму поискал - подходящих вариантов не нашел.
...
Рейтинг: 0 / 0
24.04.2012, 09:47
    #37767534
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование LIKE: поиск выражения - если есть кавычки
Сергей Мирный,

А так не прокатит?

?SQLEXEC(gnConnHandle, "SELECT * FROM Companies a WHERE a.nm_comp LIKE [%&t1%]", "Cm")
...
Рейтинг: 0 / 0
24.04.2012, 09:53
    #37767541
Сергей Мирный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование LIKE: поиск выражения - если есть кавычки
IgorNGА так не прокатит?
?SQLEXEC(gnConnHandle, "SELECT * FROM Companies a WHERE a.nm_comp LIKE [%&t1%]", "Cm")

появляется таже ошибка VFP: Function name is missing
...
Рейтинг: 0 / 0
24.04.2012, 10:05
    #37767556
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование LIKE: поиск выражения - если есть кавычки
Сергей Мирный,

Я правильно понимаю, что

t1='Транс'
?SQLEXEC(gnConnHandle, "SELECT * FROM Companies a WHERE a.nm_comp LIKE '%&t1%'", "Cm")

так ошибки нет, а так есть

t1='ООО "Транс"'
?SQLEXEC(gnConnHandle, "SELECT * FROM Companies a WHERE a.nm_comp LIKE '%&t1%'", "Cm")
...
Рейтинг: 0 / 0
24.04.2012, 10:09
    #37767560
Сергей Мирный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование LIKE: поиск выражения - если есть кавычки
IgorNGСергей Мирный,
Я правильно понимаю, что
t1='Транс'
?SQLEXEC(gnConnHandle, "SELECT * FROM Companies a WHERE a.nm_comp LIKE '%&t1%'", "Cm")

так ошибки нет, а так есть

t1='ООО "Транс"'
?SQLEXEC(gnConnHandle, "SELECT * FROM Companies a WHERE a.nm_comp LIKE '%&t1%'", "Cm")
да правильно
...
Рейтинг: 0 / 0
24.04.2012, 10:18
    #37767581
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование LIKE: поиск выражения - если есть кавычки
Сергей Мирный,
применяю, если не уверена, что кавычек нет
Код: vbnet
1.
2.
3.
4.
t1='ооо "Транс"'
t2=replace(t1,"""","?")
t3=replace(t2,"'","?")
?SQLEXEC(gnConnHandle, "SELECT * FROM Companies a WHERE a.nm_comp LIKE '%&t1%'", "Cm")
...
Рейтинг: 0 / 0
24.04.2012, 10:19
    #37767586
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование LIKE: поиск выражения - если есть кавычки
Сергей Мирный,
исправление

Код: vbnet
1.
2.
3.
4.
t1='ооо "Транс"'
t2=replace(t1,"""","?")
t3=replace(t2,"'","?")
?SQLEXEC(gnConnHandle, "SELECT * FROM Companies a WHERE a.nm_comp LIKE '%&t3%'", "Cm")
...
Рейтинг: 0 / 0
24.04.2012, 10:28
    #37767607
Сергей Мирный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование LIKE: поиск выражения - если есть кавычки
ПЕНСИОНЕРКАСергей Мирный,
применяю, если не уверена, что кавычек нет
Код: vbnet
1.
2.
3.
4.
t1='ооо "Транс"'
t2=replace(t1,"""","?")
t3=replace(t2,"'","?")
?SQLEXEC(gnConnHandle, "SELECT * FROM Companies a WHERE a.nm_comp LIKE '%&t1%'", "Cm")


При выполнении из среды VFP
t2=replace(t1,"""","?")
выдается ошибка VFP: Function name is missing

это выражение не может быть выполнено .т.к. t2 не определена
t3=replace(t2,"'","?")
но если выполнить
t3=replace(t1,"'","?")
появляется сообщение: File 'replace.prg' not exist
...
Рейтинг: 0 / 0
24.04.2012, 10:39
    #37767640
alextashk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование LIKE: поиск выражения - если есть кавычки
Сергей Мирный,

вместо функции replace(
используй STRTRAN(cSearched, cExpressionSought [, cReplacement]
[, nStartOccurrence] [, nNumberOfOccurrences] [, nFlags])
...
Рейтинг: 0 / 0
24.04.2012, 10:45
    #37767658
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование LIKE: поиск выражения - если есть кавычки
Сергей Мирный,

Попробуй так:
Код: plsql
1.
2.
3.
t1='ООО "Транс"'
t1s="%"+t1+"%"
?SQLEXEC(gnConnHandle, "SELECT * FROM Companies a WHERE a.nm_comp LIKE t1s, "Cm")
...
Рейтинг: 0 / 0
24.04.2012, 11:38
    #37767791
Сергей Мирный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
использование LIKE: поиск выражения - если есть кавычки
Jonny540Сергей Мирный,

Попробуй так:
Код: plsql
1.
2.
3.
t1='ООО "Транс"'
t1s="%"+t1+"%"
?SQLEXEC(gnConnHandle, "SELECT * FROM Companies a WHERE a.nm_comp LIKE t1s, "Cm")


так работает!
Спасибо всем за помощь!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / использование LIKE: поиск выражения - если есть кавычки / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]