簡體   English   中英

如何使用VB.NET從兩個不同的數據庫中“內部聯接”兩個不同查詢的結果?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM