Я хочу выполнить sql запросов с параметрами в classi c asp. Для этого я использую объект ADODB COMMAND и массив параметров, которые я зацикливаю и привязываю один параметр за раз к объекту ADODB COMMAND. Посмотрите мой код ниже:
PRIVATE FUNCTION MapParametersToCommand(dbCmd, arrayParameters)
FOR EACH parameter IN arrayParameters
dbCmd.Parameters.Append dbCmd.CreateParameter(, GetDataType(parameter), 1, , parameter)
NEXT
END FUNCTION
«GetDataType» - это метод, который возвращает тип данных, и он работает нормально. В целом метод работает нормально, но в конкретном сценарии получается исключение ниже:
0x800a0e7 c - ADODB.Parameters: Объект параметра неправильно определен. Была предоставлена непоследовательная или неполная информация.
В приведенном выше коде, когда мы l oop над массивом параметров, когда значение параметра равно "%", оно выдает выше исключения. Я даже пытался добавить дополнительные одинарные кавычки ("'%'"), но все еще получал то же исключение. В этом случае тип данных приходит в виде строки (число ie. 129 и правильное значение), а значение равно «%» (пробовал с «%»).
Я нашел много похожих вопросов, в которых люди получили ту же ошибку, но причины отличались от моего случая.
Вещи, которые я пробовал: 1. Добавлена ссылка на adovbs.inc 2. Передача правильного типа данных 3. В элементе управления отладчиком переходит к методу GetDataType, возвращается и затем получает исключение.