1

我有一个非空 nvarchar(MAX) 的插入参数,我使用以下方法设置它:

sds_accountDetail.InsertParameters["firstName"].DefaultValue = "";

但它仍然说“无法将值NULL插入'firstName'列”,我做错了什么?

4

2 回答 2

1

通过在字符串中附加一个空格来“解决”它:

sds_accountDetail.InsertParameters["firstName"].DefaultValue = " ";
于 2012-05-15T14:09:24.663 回答
1

我只是在寻找这个问题的解决方案,我遇到了这个页面作为第一个谷歌结果。我知道这个问题是从 2012 年开始的,但我决定发帖是为了其他人也有同样的问题。解决这个问题的“正确”方法是将ConvertEmptyStringToNull问题的属性设置Parameterfalse。它可以在 .aspx 文件中完成,如下所示:

<InsertParameters>
    <!-- (...) -->
    <asp:Parameter Name="firstName" ConvertEmptyStringToNull="false" />
    <!-- (...) -->
</InsertParameters>

或在代码隐藏中,如下所示:

sds_accountDetail.InsertParameters["firstName"].ConvertEmptyStringToNull = false;
于 2014-01-17T14:49:58.927 回答