ADOCommand и знак вопроса в тексте - проблема

Гугль Бум
Дата: 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 чтобы вопросы пропускал и не считал их параметрами?

зы: самое интересное что если в однострочном комментарии перед вопросом идут русские буквы - все проходит на ура.
Hratchia
Дата: 02.02.2006 17:21:38

Может просто менять ? на char(63)


Posted via ActualForum NNTP Server 1.3

Гугль Бум
Дата: 05.02.2006 13:39:34
ага, и как будут выглядеть примечания
-- а чего тут хочет юзер char(63)
выход, конечно, но по моему не особо удачный
Hratchia
Дата: 06.02.2006 17:10:21

вот так и будет:

update mytable set myfiled='И чего тут не ясно'+char(63) where id=someId


Posted via ActualForum NNTP Server 1.3

Shultze
Дата: 17.02.2006 21:09:09
Может просто использовать параметризованные запросы и не париться ?