Как передать NULL или пустые строки во входной параметр хранимой процедуры с ADO и VB?
У меня есть хранимая процедура в Sql Server 2005 с входным параметром varchar, определяемым как:
@Value varchar(24) = NULL
в моем приложении VB6 я пытаюсь установить параметр с помощью функции ADO:
Set prmParamVal = cmdChkParam.CreateParameter(, adVarChar, adParamInput, Len(paramValue), paramValue)
Если значение, которое я пытаюсь передать, является пустой (нулевой длиной) строкой, я получаю следующую ошибку:
ADODB.Connection error '800a0e7c' Объект параметра неправильно определен. Непоследовательная или неполная информация была предоставлена.
Я попытался передать значение NULL вместо пустой строки, но это привело к другим ошибкам.
Как передать пустые строки или значения NULL в хранимую процедуру?
Я уже прочитал много статей и искал форумы (даже нашел свой вопрос несколько раз), но без правильного ответа.
Обходной путь для пустых строк состоит в том, чтобы установить длину = 1 или установить строку = "" (пробел). Но это не очень хорошо, и я бы предпочел отправить NULL. Я также экспериментировал с установкой paramValue для vbNull, Null, vbNullString или для установки prmParamVal.value = Empty без какой-либо удачи!