• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Кавычка

  • Автор темы Grrr
  • Дата начала
G

Grrr

Подскажите Уважаемые, как заменить символ " в строке, Лотус ругается при передаче в поиск такого рода строки: "Это был я, "Вася"" и сравнить его с таким же полем? Думаю, надо заменять этим символы в обеих строках? Кодик бы помог.
 
A

abbatik

на собаках \"
в скрипте "", еще в скрипте ковычку можно заменить символом | и {
 
A

Akupaka

ты б лучше тот код, что ругается запостил, а то не ясно как ты добиваешься ошибки
 
G

Grrr

Сорри провадал долгое время.
По теме, делается запрос на отбор в папку:
flag = doc.GetItemValue("Tema")(0) = "1"
if flag Then
Call AddSearchParam(searchParam, {(Tema= "} & doc.GetItemValue("Tematika")(0) & {")})
End If,
Tematika - поле в форме поиска, которой присваивается значение через кнопку на форме (там какой то ужасный код).
При назначении полю обычных значений типа "Тема разная", поиск проходит на ура, а вот при значениях типа "Самое "Важное"", вываливается в ошибкой в формуле. Как исправить?
Ещё раз, нормальная тематика, на которую можно изменить - Разное
Неправильная тема (как мне кажется из за кавычек - Привет "Медвед"
 
A

abbatik

Чего ты тут накрутил...

"(Tema=" & doc.GetItemValue("Tematika")(0) & ")"

Попробуй так.
 
G

Grrr

Не работает.. :/
Решил проверить через msgbox строку запроса, получается:
Tema = Самое "Важное"
 
A

Akupaka

не, там все нормально в коде, проблема в строке для поиска.
я так понял используется db.Search
попробуй в строке, которую ты формируешь предварительно менять кавычки на двойные

Код:
Call AddSearchParam(searchParam, {(Tema= "} & Replace(doc.GetItemValue("Tematika")(0), {"}, {""}) & {")})
 
A

abbatik

А MsgBox doc.GetItemValue("Tematika")(0) что выдает?
 
G

Grrr

В обоих случаях:
Самое "Важное", да и..
Sub AddSearchParam(AParamArray As Variant, AParam As String)
If Isarray(AParamArray) Then
Redim Preserve AParamArray (Lbound(AParamArray) To Ubound(AParamArray) + 1)
Else
Redim AParamArray (0 To 0)
End If
AParamArray(Ubound(AParamArray)) = AParam
End Sub

Кхм.. Не совсем уверен, но кажется
Call AddSearchParam(searchParam, {(Tema = "} & Replace(doc.GetItemValue("Tematika")(0), {"}, {\"}) & {")})
Решило проблему с
Самое "Важное", но появилась другая:
Самое "Важное"\Очень

Неужели ещё доделывать обратную косую? {\\} ?? Подскажите, как написать правильно.

Неужели?..
T = Replace(doc.GetItemValue("Tematika")(0), {\}, {\\})
Call AddSearchParam(searchParam, {(Tema= "} & Replace(T, {"}, {\"}) & {")})
 
A

Akupaka

во-первых, это не слеш, а, во-вторых, обратный слеш, являясь по-умолчанию управляющим символом требует специального написания себя любимого, а именно в двойном виде (\\) ;)
 
A

abbatik

во-первых, это не слеш, а, во-вторых, обратный слеш, являясь по-умолчанию управляющим символом требует специального написания себя любимого, а именно в двойном виде (\\) ;)

ну извините ;) :)
в общем не так важно как он называется, а главное как используется :)
 
G

Grrr

Ребята, так всё правильно? Так и оставить?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!