我正在使用 SqlParameter
将 null 值传递到表中的各种可为 null 的列。问题是如果不存在 sqlDbType,SqlParameter 看起来默认为 nvarchar。如果实际的数据库类型是 varbinary,这就会出现问题;我得到一个异常(exception)说
Implicit conversion from data type nvarchar to varbinary(max) is not allowed. Use the CONVERT function to run this query.
当我创建 SqlParameter 时,我只知道参数的名称和对象。如果对象为 null,SqlParameter 显然无法推断出要使用的正确类型,那么有没有办法在创建 sql 参数时不必知道 sqlDbType 就可以使用具有 null 值的 SqlParameter?
本质上就是把DBNull传给数据库,不指定类型,让数据库处理?
最佳答案
旧帖子,但可能对其他人有帮助。
Convert.DBNull
像这样
command.Parameters.AddWithValue("@param", Convert.DBNull);
关于c# - 在不知道 sqlDbType 的情况下将 DBNull.Value 与 SqlParameter 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4222819/