[英]Copying one datatable to another datatable c#
我有一个称为dt的数据表,它具有date,name,subject之类的列。 我想使用where条件将此dt的一部分复制到另一个数据表dt3。
foreach (DataRow row in dt.Rows)
{
cellData =(DateTime)row["date"];
dt3 = dt.AsEnumerable()
.Where (rows =>rows.Field<DateTime>("date")== cellData )
.CopyToDataTable();
}
我正在尝试这个,但是它给了例外。 请为此提供解决方案,否则如何通过选择查询使用
您正在尝试从每一行中过滤表。 这是不正确的,并且将为每一行创建一个数据表。
如果要过滤dataTable,可以使用dt.Select()或Linq:
var dateFilter = DateTime.Parse("1/1/2015");
var dt3 = dt.AsEnumerable().Where(x => x.Field<DateTime>("date") == dateFilter).CopyToDataTable();
如果这不是您想要执行的操作,请提供更多说明。
数据表dt的行中列日期的值可能为空
在比较日期时使用可为空的DateTime
dt3 = dt.AsEnumerable()
.Where(rows => rows.Field<DateTime?>("date") == cellData )
.CopyToDataTable();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.