【发布时间】:2010-12-17 09:16:17
【问题描述】:
我在 Sql Server 2005 中有一个存储过程,其 varchar 输入参数定义为:
@Value varchar(24) = NULL
在我的 VB6 应用程序中,我尝试使用 ADO 函数设置参数:
Set prmParamVal = cmdChkParam.CreateParameter(, adVarChar, adParamInput, Len(paramValue), paramValue)
如果我尝试传递的值是空(零长度)字符串,则会收到以下错误:
ADODB.Connection 错误“800a0e7c” 参数对象定义不正确。提供的信息不一致或不完整。
我尝试传递一个 NULL 值而不是空字符串,但这会导致不同的错误。
如何将空字符串或 NULL 值传递给存储过程?
我已经阅读了很多文章并搜索了论坛(甚至多次找到我的问题)但没有正确答案。
到目前为止,空字符串的解决方法是将长度设置为 1 或将字符串设置为“”(空格)。但这不是很好,我更愿意发送 NULL。我还尝试将 paramValue 设置为 vbNull、Null、vbNullString 或设置 prmParamVal.value = Empty,但没有任何运气!
【问题讨论】:
标签: sql sql-server-2005 vb6 ado