0

我连接到 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”?有一个“合并”方法,但我不认为它会做一个“内部连接”......

4

3 回答 3

0

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

于 2012-06-13T19:08:25.787 回答
0

使用 LINQ 到数据集。这样,无论 2 个 DataTables 从哪里获取数据 - 您都可以统一加入它们。

于 2012-06-13T19:09:20.503 回答
0

由于您将结果作为 DataTables 带回,因此您需要使用 LINQ to DataSets 之类的东西,或者在 DataSet 中的 DataTables 之间建立关联。如果您想了解 LINQ to DataSets,请查看 http://www.manning.com/marguerie/上的免费赠品第 14 章。

于 2012-06-13T19:10:45.330 回答