c# - 在大容量复制之前将 DBNull 值插入 DataTable 列

标签 c# sql-server datatable

我有一个数据表,用于批量复制到 SQL 服务器数据库中:我将其列定义如下:

dt.Columns.Add("BaseID", typeof(Int32));
dt.Columns.Add("ContractID", typeof(DateTime));
dt.Columns.Add("TermID",typeof(Int32));
dt.Columns.Add("Price",typeof(Decimal));
dt.Columns.Add("PeakType",typeof(String));

现在,PeakType 列实际上可以是一个字符串,也可以为空。因此,当我向数据表中添加行时,我会这样做。

DataRow row = dt.NewRow();
row["BaseID"] = baseID;
row["ContractDate"] = contractDate;
row["TermID"] = termID;
row["Price"] = price;
row["PeakType"] = peakType; //How would I assign If I want to assign DBNull?

如果 peakType 为 null,我如何指定 DBNull.Value 以便我的批量复制可以在 SQL Server 表的列中正确插入一个 null

最佳答案

使用空合并运算符

row["PeakType"] = peakType ?? DBNull.Value;

如果 peakType 为 null,它将使用正确的 DB null 值。

关于c# - 在大容量复制之前将 DBNull 值插入 DataTable 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22517270/

相关文章:

c# - 加载场景时协程错误的行为

C#泛型接口(interface)和继承

c# - 需要帮助理解 MVVM 教程、RelayCommand 和 lambda 的使用

sql - 从众多中仅选择最便宜或最昂贵的变体

c# - 什么是不断变化的表格表示的最佳集合类型

Jquery 数据表在指定索引处添加新行

c# - 检查数据表中是否存在值?

c# - 过程监控

sql-server - 没有缩进字符的 T-SQL 多行字符串

sql - 在 MS SQL 中计算百分位排名