操作数类型冲突:NULL与A表类型不兼容

时间:2019-07-10 09:01:21

标签: c# sql stored-procedures

当我尝试将参数发送到sql-server时,我正在发送一个列表,该列表将与SQL Server中的表类型参数绑定在一起。我正在像这样将参数添加到参数列表:

SqlParameter para6 = new SqlParameter();
para6.ParameterName = "ObjectAttrList";
para6.SqlDbType = System.Data.SqlDbType.Structured;
para6.Value = null;
para6.IsNullable = true;
if (attrList != null && attrList.Count > 0)
{
    para6.Value = attrList;
}
para6.Direction = ParameterDirection.Input;
sqlParameters[5] = para6;

这是无法插入数据的sql过程:

@ObjectAttrList  [ObjectStore].[ObjectStoreAttributes] READONLY )

在执行此操作时,我收到如下错误:“操作符类型冲突:NULL与ObjectStoreAttributes不兼容” 我对此进行了大量搜索,并尝试了相应的解决方案。但它们似乎都不起作用。任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

在您的第四行中,而不是使用

  

para6.Value = null;

使用

  

para6.Value =(object)DBNull.Value;