首页 > 解决方案 > 当 Varbinary 为 NULL 时防止 SQL 插入错误

问题描述

我有一个动态创建的 SQL 参数列表,当字节数组为空时会引发异常。我知道字节数组中的空值映射到 nvarchar,因此 SQL Server 表会抛出错误,因为它需要一个 varbinary。

而不是?? DBNull.value,我?? System.Data.SqlTypes.SqlBinary.Null用于每种数据类型。

我可以这样做吗?它似乎有效,但我认为有更好的方法:

foreach (PropertyInfo variable in type.GetProperties()) 
{
    parameters.Add(new SqlParameter() 
                       { 
                           ParameterName = "@" + variable.Name, 
                           Value = variable.GetValue(obj, null) ?? System.Data.SqlTypes.SqlBinary.Null 
                       });                    
}

标签: sql-serverexceptionnullvarbinary

解决方案


推荐阅读