繁体   English   中英

将一个数据表复制到另一数据表C#

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM