我需要在 C# VS2013 中定义一个 System.Data.DataTable
;在一列中,它可能是 int 或 null。
但是我得到了:
DataSet does not support System.Nullable<>.
对于定义:
public DataTable myDataTable
myDataTable = new DataTable("myName");
myDataTable.Columns.Add("ID", typeof(Int32));
myDataTable.Columns.Add("value1", typeof(Int32?)); // run time error
myDataTable.Columns.Add("value2", typeof(Int32?));
有什么想法吗?变通?
在使列可以为空之后,
DataColumn dc = myDataTable.Columns.Add("value1", typeof(Int32));
dc.AllowDBNull = true;
当我查询它时,我得到了
Sequence contains no elements.
请查看更新。
更新
int? result = (from r in myDataTable.AsEnumerable()
where r.Field<Int32>("ID") == givenID
&& r.Field<Int32?>("value1") == givenValue1
select r.Field<Int32>("value2")).First();
最佳答案
它是DataColumn的一个属性
public DataTable myDataTable
myDataTable = new DataTable("myName");
myDataTable.Columns.Add("ID", typeof(Int32));
DataColumn dc = myDataTable.Columns.Add("value1", typeof(Int32));
dc.AllowDBNull = true;
关于c# - 在 System.Data.DataTable 中将列定义为可为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40953738/