如何使用VB.NET从两个不同的数据库“INNER JOIN”两个不同查询的结果?

时间:2012-06-13 19:04:04

标签: sql database vb.net dataset

我连接到SQL Server数据库并使用以下函数获取结果的DataSet:

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”?有一种“合并”方法,但我不认为它是“内部加入”......

3 个答案:

答案 0 :(得分:0)

您可以在SQL Server中使用OPENROWSET()将Access数据库视为本机数据,并在那里进行内部联接。有关语法详细信息,请参阅http://msdn.microsoft.com/en-us/library/ms190312.aspx

答案 1 :(得分:0)

使用LINQ to DataSet。这种方式无论2个DataTables获取数据的位置 - 您都可以统一加入它们。

答案 2 :(得分:0)

由于您将结果作为DataTables返回,因此您需要使用LINQ to DataSet等内容或在DataSet中设置DataTable之间的关联。如果您想阅读LINQ to DataSet,请查看免费奖励第14章http://www.manning.com/marguerie/