[英]How can I “INNER JOIN” the results of two different queries from two different databases with VB.NET?
我連接到SQL Server數據庫,並使用以下函數獲取結果的數據集:
Public Function GetDataSQL(ByVal queryString As String, ByVal addParameters As Action(Of SqlParameterCollection)) As DataTable
Dim result As New DataTable()
Using cn As New SqlConnection("server=.\sqlexpress;Integrated Security=SSPI; database=Pancakes"), _
cmd As New SqlCommand(queryString, cn)
addParameters(cmd.Parameters)
cn.Open()
Using rdr = cmd.ExecuteReader()
result.Load(rdr)
End Using
End Using
Return result
End Function
然后,我執行了幾乎相同的功能,以將查詢結果獲取到Access數據庫。
如何在這兩個數據集上進行“ INNER JOIN”? 有一種“合並”方法,但是我不認為它可以進行“內部聯接” ...
您可以在SQL Server中使用OPENROWSET()
將Access數據庫視為本地數據,然后在其中進行內部聯接。 有關語法的詳細信息,請參見http://msdn.microsoft.com/zh-cn/library/ms190312.aspx 。
使用LINQ進行數據設置。 這樣,無論2個DataTable從何處獲取數據,您都可以統一地將它們聯接在一起。
由於您要將結果作為DataTables帶回來,因此您將需要使用LINQ之類的東西到DataSets或在DataSet中的DataTables之間建立關聯。 如果您想閱讀LINQ to DataSets,請在http://www.manning.com/marguerie/查看免費的第14章獎金。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.