0
A
回答
3
你的問題有點不清楚所以至少有兩個可能的答案。
如果你確實有兩個不同的DataSet
s,他們需要保持爲獨立的DataSet
當時的你可以使用LINQ(with Linq to DataSet)創建一個左外連接。這裏有幾篇博文解釋如何使用LINQ創建左外連接(one和two)。您的代碼可能會看起來沿
var joinResult = from ds1Row in dataset1.Tables["some table"]
join ds2Row in dataset2.Tables["some other table"]
on ds1Row.Field<T>("some column") equals ds2Row.Field<T>("some other column") into tmpResult
from resultRow in tmpResult.DefaultIfEmpty()
select // select whatever information you want
;
線如果你真正的意思做兩DataTable
s之間的連接,也可以使用Merge方法,然後create a relationship between any two tables兩組數據合併到一個單一的數據集。您的代碼將沿着以下方向看:
mergedDataset.Relations.Add("relation name",
mergedDataset.Tables["some table"].Columns["some column"],
mergedDataset.Tables["some other table"].Columns["some other column"]);
2
您只能在同一個DataSet中的兩個表之間創建DataRelation。您需要做的是使用合併方法將兩個數據集合在一起,例如
DataSet1.Merge(DataSet2)
然後你就可以通過運行
DataSet1.Relations.Add(new DataRelation("myRelationship",DataTable1.Columns("ID"),DataTable2.Columns("ID")))
0
INNER JOIN, LEFT OUTER JOINS and RIGHT OUTER JOIN for DataTables
鏈接有一個很好的VB程序,它外部聯接創建兩個表之間的一個DataRelation。你可以在你的vb.net中使用它,查看它。
DataTable Relational Operators in C# - JOIN Method
兩個代碼是自我解釋和鄧肯說,你可以使用這個數據表沒有使用兩個單獨的數據集只能做。
0
如果你只是需要結果,我會建議使用LINQ to DataSets,它允許你使用任何LINQ操作符來查詢和連接兩個DataTables/DataSets。
Erick
您的意思是兩個數據集或數據表?顯示一些代碼,這將幫助我們分析您已經嘗試了多少。 – 2011-05-06 22:58:44