PDA

Просмотр полной версии : Экранирование спецсимволов



BesBashni
15.08.2022, 13:00
Добрый день!
Как в MasterScada 4D можно экранировать спецсимволы в строковом параметре?
Например, символ ' или $

melky
15.08.2022, 13:12
@"$" не так ? для слеша вроде таким образом делается

BesBashni
15.08.2022, 13:43
Для $ помогло, а для ' не работает.
Немного переформулирую вопрос:
Как в программе в строковый параметр можно записать текст запроса к БД, например, "UPDATE TableName SET text = 'текст' WHERE id = 1" для последующей передачи в функциональный блок SqlRequest?
Знаки ' не дают.

b_aleks
15.08.2022, 14:11
Для $ помогло, а для ' не работает.
Немного переформулирую вопрос:
Как в программе в строковый параметр можно записать текст запроса к БД, например, "UPDATE TableName SET text = 'текст' WHERE id = 1" для последующей передачи в функциональный блок SqlRequest?
Знаки ' не дают.

Что здесь не так?
62142

P.S. По поводу экранирования символов - это описано в справке
62143

melky
15.08.2022, 14:12
Так может текст без ' можно вводить, здесь просто как обозначение что это ваш текст запроса ?

b_aleks так понимаю, это присваивание строковой переменной и запрос уже через нее? просто MS4D не знаю...

Как вариант сразу string.Concat("строка1", "строка2", "строка3") тут как бы все равно на ' --- string test = string.Concat("'str2", "str1"); // VS на такое не ругается.

BesBashni
15.08.2022, 14:57
Спасибо!
Проблема была в том, что строку с одиночными кавычками записывал в начальное значение, похоже так лучше не делать.
62144

b_aleks
15.08.2022, 16:35
Спасибо!
Проблема была в том, что строку с одиночными кавычками записывал в начальное значение, похоже так лучше не делать.
62144

Если нужно начальное значение, то ставите знак $ перед одинарной кавычкой в начальном значении. Тогда ошибок при компиляции не будет.