sql-server - 当 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
});
}
解决方案
推荐阅读
- c# - 如何使用 Bouncy Castle 从 URL 读取 C# 中的 DER 扩展文件
- javascript - 尝试登录时出现错误 [ERR_INVALID_ARG_TYPE]
- gradle - 我们应该在回购中包含`.gradle`吗?
- python - 不和谐频道制造商
- flutter - 如何修复 Flutter 中的异常“一旦你调用了 dispose()...”
- protractor - 量角器:读取表格内容
- node.js - 在 AWS ElasticBeanstalk 上部署具有 bcrypt 依赖项的节点应用程序失败
- group-by - Python:按唯一 ID 分组的分块数据的并行化
- python - Python heapq 优先队列 Maxheap
- python - 将列表中的每个项目与另一个列表中的每个项目相乘?