如何將多個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);
經過這樣改造,就行了