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