我需要在C#VS2013中定义一个System.Data.DataTable
;在一列中,它可以是int或null。
但是我得到了:
对于定义:
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;
当我查询它时,我得到了请参阅更新。
更新
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;
MSDN about AllowDBNull