Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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语言中结合Datatable和update_C#_Datatable - Fatal编程技术网

C# 在c语言中结合Datatable和update

C# 在c语言中结合Datatable和update,c#,datatable,C#,Datatable,我在函数中有一个数据表 public static DataTable FormulaandRowOrder(DataTable dtRoworder) { DataTable table1 = new DataTable(); // code here return table1; } 表1有Col1和Col2这样的列 为ex调用函数后,我的函数名为DataFeed 上面的函数进行了一些编码,在表3中有一些值。表3的列与Col1和Col2相同 现在我想用表3的值

我在函数中有一个数据表

public static DataTable FormulaandRowOrder(DataTable dtRoworder)
{
    DataTable table1 = new DataTable();
    // code here

    return table1;  
}
表1有Col1和Col2这样的列

为ex调用函数后,我的函数名为DataFeed

上面的函数进行了一些编码,在表3中有一些值。表3的列与Col1和Col2相同

现在我想用表3的值更新表1。我该怎么做?
表1和表3的结构相同,但表3包含一些新值,必须将它们添加到表1中。

一种方法是读取表3中的所有新行并将它们复制到表1中。您可以通过LINQ或简单的for循环来实现这一点。

如果表3包含表1中的所有行,并且还包含一些新行,则只需使用表1.clear;表1.3

否则,使用Linq从表3获取所有新行,并将其添加到表1中 C代码是

var rowNotIntable1 = table3.AsEnumerable().Select(r => r.Field<string>("col1"))
                                              .Except(table1.AsEnumerable().Select(r =>r.Field<string>("col1")));

                                if (rowNotIntable1 .Count() > 0)
                                {
                                    DataTable dt = (from row in table3.AsEnumerable()
                                                    join id in rowNotIntable1 
                                                        on row.Field<string>("col1") equals id
                                                    select row).CopyToDataTable();
            }
    foreach (DataRow row in dt.Rows)
                                    {
            table1.ImportRow(row);
            table1.AcceptChanges();

        }

所有表是否都具有相同的结构,即列?表1和表3具有相同的结构
var rowNotIntable1 = table3.AsEnumerable().Select(r => r.Field<string>("col1"))
                                              .Except(table1.AsEnumerable().Select(r =>r.Field<string>("col1")));

                                if (rowNotIntable1 .Count() > 0)
                                {
                                    DataTable dt = (from row in table3.AsEnumerable()
                                                    join id in rowNotIntable1 
                                                        on row.Field<string>("col1") equals id
                                                    select row).CopyToDataTable();
            }
    foreach (DataRow row in dt.Rows)
                                    {
            table1.ImportRow(row);
            table1.AcceptChanges();

        }