繁体   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