2012-01-05 79 views
0

我有兩個數據表D1和D2。 我合併的數據表D2與D1如下:如何使用C#.Net從數據表中刪除合併的數據表?

 D1.Merge(D2); 

但現在,我想從D1刪除數據表D2。如何實現這一目標?

+1

以及不知道,但也許你可以使用'GetChanges()'的,如果不是,爲什麼不把它們合併在一個單獨的臨時數據表('D3') – V4Vendetta 2012-01-05 05:39:09

+0

確定。非常感謝。 – thevan 2012-01-05 05:52:32

回答

0

這可能不是最漂亮的解決方案,但可以考慮在表中添加一個獨特的列。我手動設置這些值,但例如,如果您的數據表是從SQL查詢填充的,則可以輕鬆地在這些查詢中添加該特殊列並相應地使用它們。

D1.Columns.Add("ORIGINAL_DATATABLE_NAME", typeof(int)); 
D2.Columns.Add("ORIGINAL_DATATABLE_NAME", typeof(int)); 

foreach(DataRow row in D1.Rows) 
    row["ORIGINAL_DATATABLE_NAME"] = 1; 

foreach(DataRow row in D2.Rows) 
    row["ORIGINAL_DATATABLE_NAME"] = 2; 

D1.Merge(D2); 

DataRow[] rows = D1.Select("ORIGINAL_DATATABLE_NAME=1", ""); 

DataSet ds = new DataSet(); 
ds.Merge(rows, false, MissingSchemaAction.Add); 
ds.Tables[0].Columns.Remove("ORIGINAL_DATATABLE_NAME");