c# - 產生json - vb net json教學




如何將一個DataTable附加到另一個DataTable (3)

我想將一個DataTable附加到另一個DataTable。 我看到DataTable類有兩個方法; “加載(IDataReader)”和“合併(DataTable)”。 從文檔中,如果存在行,兩者似乎都會將傳入數據與現有DataTable“合併”。 我將在數據訪問層中進行合併。

我可以使用IDataReader並使用Load方法合併DataTables。 或者我可以使用IDataReader加載DataSet,從DataSet獲取DataTable,然後使用Merge方法合併DataTables。

我想知道是否有人能告訴我哪種方法可以使用?

或者,如果您對如何完成此任務有不同的建議,請與我們聯繫。


Merge採用DataTable,Load需要IDataReader - 因此,根據您的數據層允許訪問的內容,使用所需的方法。 我的理解是Load會在內部調用Merge,但不是100%肯定。

如果您有兩個DataTable,請使用Merge。


同一列名中的數據類型必須為equals。

dataTable1.Merge(dataTable2);

之後結果是:

dataTable1 = dataTable1 + dataTable2


添加兩個包含數據表的數據集,現在它將根據需要進行合併

DataSet ds1 = new DataSet();
DataSet ds2 = new DataSet();

DataTable dt1 = new DataTable();
dt1.Columns.Add(new DataColumn("Column1", typeof(System.String)));

DataRow newSelRow1 = dt1.NewRow();
newSelRow1["Column1"] = "Select";
dt1.Rows.Add(newSelRow1);

DataTable dt2 = new DataTable();
dt2.Columns.Add(new DataColumn("Column1", typeof(System.String)));

DataRow newSelRow2 = dt1.NewRow();
newSelRow2["Column1"] = "DataRow1Data";  // Data
dt2.Rows.Add(newSelRow2);

ds1.Tables.Add(dt1);
ds2.Tables.Add(dt2);

ds1.Tables[0].Merge(ds2.Tables[0]);

現在ds1將擁有合併的數據





datatable