我有一个数据表,用于批量复制到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列实际上可以是字符串,也可以为null。因此,当我向数据表添加行时,我会这样做。
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
答案 0 :(得分:4)
使用null coalescing operator
。
row["PeakType"] = peakType ?? DBNull.Value;
如果peakType
为null,则它将使用正确的DB null值。