-1
将列定义为可为空的,我需要在C#VS2013以限定System.Data.DataTable。在一列中在System.Data.DataTable在C#VS2013
,它可能是int或空。
但我得到:
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?));
任何想法?解决?
使得柱Dullable后,
DataColumn dc = myDataTable.Columns.Add("value1", typeof(Int32));
dc.AllowDBNull = true;
当我问它,我得到了
"Sequence contains no elements".
请参阅UPDATE。
UPDATE
int? result = (from r in myDataTable.AsEnumerable()
where r.Field<Int32>("ID") == givenID
&& r.Field<Int32?>("value1") == givenValue1
select r.Field<Int32>("value2")).First();
谢谢你的属性,它的工作原理,但是当我问它,我得到了“序列不包含任何元素”。请参阅UPDATE。 – Lily
这是一个不同的问题。如果查询的结果没有匹配,那么你不能首先因为正是'序列不包含任何元素的使用。而是使用FirstOrDefault – Steve