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