C# 將多個DataTable添加到指定的DataSet中

如何將多個DataTable添加到指定的DataSet中

事件起因:從數據庫中,查詢多個dataTable,現在想一下子返回多個table,所以就想到用DATASET,遇到下面的兩個現象,現在記錄下,做個參考。
DataSet ds = new DataSet();//創建數據集
DataTable dt1 = BIZ.GetSalesInfo();//獲取出售信息表
DataTable dt2 = BIZ.GetStockInfo();//獲取倉庫信息表
現象一:用ds.Tables.Add()方法,老是提示"Table"已經存在,
ds.Tables.Add(dt1);//出錯,dt1已經屬於另外一個DataSet;
複製代碼
解決對策:
DataTable是通過引用方式使用的,所以一個table不能添加到另一個dataset中。

開始是用最原始的建臨時表的方法,後來發現發現table有copy方法,這樣就省事多了,代碼可以寫成:

DS.Tables.Add(dt1.Copy())

這樣就OK了!
複製代碼
現象二:已經存在DataTable;
ds.Tables.Add(dt2.copy());//添加第二個Table時就出錯了,已經存在DataTable;,於是第一種處理辦法,不行,還得找其他辦法
複製代碼
給table 取名再插 於是代碼便成這樣
dt1.TableName
="dt1n";
ds.Tables.Add(dt1);
dt2.TableName
="dt2n";
ds.Tables.Add(dt2);
經過這樣改造,就行了
發佈了58 篇原創文章 · 獲贊 102 · 訪問量 67萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章