Как избежать параметризации ODBC для знака вопроса? в пределах литералов и комментариев? - PullRequest
1 голос
/ 28 июля 2010

У меня проблема с символами знака вопроса? в моих сценариях SQL внутри комментариев вызывает проблемы. Когда я запускаю эти операторы через соединение ODBC с помощью функции Visual FoxPro SQLEXEC, эти символы рассматриваются как параметры, а VFP запрашивает значения.

Какие есть варианты работы с символами вопросительного знака в комментариях при использовании SQLEXEC? Я надеюсь, что я могу быть для кого-то, как отключить параметризацию, или в качестве альтернативы для некоторых, как экранировать эти символы перед передачей строк в качестве команд. До сих пор я не нашел никаких доказательств такого решения, так что, похоже, мне придется отбросить все комментарии, что нежелательно, поскольку они обычно создают операторы для хранимых процедур, и мы хотели бы сохранить эти комментарии. Я надеюсь, что у кого-то может быть более приятное решение, чем полное удаление комментариев.

Ответы [ 2 ]

2 голосов
/ 28 июля 2010

Похоже, это может быть известная проблема , что SQLEXEC не учитывает комментарии в команде SQL при обнаружении символов вопросительного знака? которые обычно представляют параметры в ODBC и аналогично в VFP.

Просто предупреждение - парсер VFP будет поймать любой вопросительный знак в SQL строка, даже если она внутри SQL комментарий (т.е. в строке, начинающейся с - или заключенный в скобки между / * * /) и выдает ошибку, если ничего нет там это может быть переменной. Если оно может быть переменной, но у вас нет это определено во время выполнения, вы получаете уродливый поле ввода, чтобы ввести его. Хуже вашего пользователя получает это.

Так что будьте осторожны. - Драган Неделькович

1 голос
/ 28 июля 2010

вы пробовали заменить его на код ascii? Что-то вроде: '+ chr (63) +'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...