Гугль Бум
Дата: 02.02.2006 12:07:24
Ситуация такая, есть MSSQL2k ent.
Есть некий запрос, его надо выполнить через АДО (пробовал в 2.8, 2.7).
Если в тексте есть знак вопроса, к примеру
-- проверить есть ли такой параметр ABC ?
или
set const = 'Const ?'
то при попытке выполнить command.Execute получаю
No value given for one or more required parameters
Если текст препарить сначала (command.Prepared = true) то ломается на текстах, в которых исполняемого кода нет (одни комментарии) с текстом от MSSQL Statement(s) could not be prepared
Так же ломается на командах типа
begin tran
(если транзацкия к окончанию команды не закрыта) , ругается про счетчик транзакций
Пробовал с указанием параметра adExecuteNoRecords или/и adAsyncExecute, описываемая ошибка прошла но появилось что то другое, не помню уже...
Вопрос - как обмануть парсер ADOCommand чтобы вопросы пропускал и не считал их параметрами?
зы: самое интересное что если в однострочном комментарии перед вопросом идут русские буквы - все проходит на ура.