我有一个非空 nvarchar(MAX) 的插入参数,我使用以下方法设置它:
sds_accountDetail.InsertParameters["firstName"].DefaultValue = "";
但它仍然说“无法将值NULL插入'firstName'列”,我做错了什么?
我有一个非空 nvarchar(MAX) 的插入参数,我使用以下方法设置它:
sds_accountDetail.InsertParameters["firstName"].DefaultValue = "";
但它仍然说“无法将值NULL插入'firstName'列”,我做错了什么?
通过在字符串中附加一个空格来“解决”它:
sds_accountDetail.InsertParameters["firstName"].DefaultValue = " ";
我只是在寻找这个问题的解决方案,我遇到了这个页面作为第一个谷歌结果。我知道这个问题是从 2012 年开始的,但我决定发帖是为了其他人也有同样的问题。解决这个问题的“正确”方法是将ConvertEmptyStringToNull
问题的属性设置Parameter
为false
。它可以在 .aspx 文件中完成,如下所示:
<InsertParameters>
<!-- (...) -->
<asp:Parameter Name="firstName" ConvertEmptyStringToNull="false" />
<!-- (...) -->
</InsertParameters>
或在代码隐藏中,如下所示:
sds_accountDetail.InsertParameters["firstName"].ConvertEmptyStringToNull = false;