Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数据列中的数据从一个数据表复制到另一个数据表_C#_.net_Datatable - Fatal编程技术网

C# 将数据列中的数据从一个数据表复制到另一个数据表

C# 将数据列中的数据从一个数据表复制到另一个数据表,c#,.net,datatable,C#,.net,Datatable,我有一个具有以下结构的数据表: 数据表1 NAME | SURNAME Joe | Doe John | Smith 和另一个具有此结构的表: 数据表2 StudentName| StudentSurname | Status Joe | Doe | OK John | Smith | OK 我需要按照以下规则将所有行从DataTable1复制到DataTable2: 在列名->将所有数据复制到列StudentName中找

我有一个具有以下结构的数据表:

数据表1

NAME | SURNAME 
Joe  | Doe
John | Smith
和另一个具有此结构的表:

数据表2

StudentName| StudentSurname | Status
Joe        | Doe            | OK
John       | Smith          | OK
我需要按照以下规则将所有行从DataTable1复制到DataTable2:

  • 在列名->将所有数据复制到列StudentName中找到数据
  • 在列“姓氏->将所有数据复制到列“学生姓氏”中找到数据
  • 始终在列状态中写入OK
  • 实现这一目标的最佳方式是什么

    编辑:到目前为止,我试图这样做:

    foreach (DataColumn dc in DataTable1.Columns)
                    {
                        if (DataTable1.Contains("NAME"))
                        {
                           //how can I copy it??
                        }
                    }
    

    我使用的是C#。

    您可能希望foreach语句基于行而不是列。您可以遍历行,检查该特定数据行的值,然后更新该值

    我认为这段代码将实现您希望实现的功能

    DataTable NewTable = OldDataTable;
    
    NewTable.Columns.Add("Status",typeOf(String));
    
    (将列添加到DataTable:)


    如果只希望最后一个DataTable的行与true匹配。使用另一个foreach遍历数据表并删除行[“Status”]!=正确。

    您可能希望foreach语句基于行而不是列。您可以遍历行,检查该特定数据行的值,然后更新该值

    我认为这段代码将实现您希望实现的功能

    DataTable NewTable = OldDataTable;
    
    NewTable.Columns.Add("Status",typeOf(String));
    
    (将列添加到DataTable:)


    如果只希望最后一个DataTable的行与true匹配。使用另一个foreach遍历数据表并删除行[“Status”]!=正确。

    对于给定的示例数据,您可以简单地使用该方法复制具有结构和数据行的整个datatable:

    var copyDataTable = dataTable.Copy();
    
    之后,可以设置第三列的属性。添加新行时,将自动设置此值:

    copyDataTable.Columns["Status"].DefaultValue = "OK";
    

    对于给定的示例数据,您可以简单地使用该方法复制具有结构和数据行的整个datatable:

    var copyDataTable = dataTable.Copy();
    
    之后,可以设置第三列的属性。添加新行时,将自动设置此值:

    copyDataTable.Columns["Status"].DefaultValue = "OK";