0

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データベースへのクエリの結果を取得します。

これら2つのデータセットで「INNERJOIN」を実行するにはどうすればよいですか?「マージ」方式はありますが、「INNERJOIN」とは思えません...

4

3 に答える 3

0

結果を DataTable として戻すため、LINQ to DataSet などを使用するか、DataSet 内の DataTable 間の関連付けを設定する必要があります。LINQ to DataSets について詳しく知りたい場合は、http://www.manning.com/marguerie/ で無料ボーナスの第 14 章をチェックしてください

于 2012-06-13T19:10:45.330 に答える
0

LINQ to DataSet を使用します。このように、2 つの DataTables がデータを取得する場所に関係なく、それらを均一に結合できます。

于 2012-06-13T19:09:20.503 に答える
0

SQL Server 内で使用OPENROWSET()して、Access データベースをネイティブ データのように扱い、そこで内部結合を行うことができます。構文の詳細については、http://msdn.microsoft.com/en-us/library/ms190312.aspxを参照してください。

于 2012-06-13T19:08:25.787 に答える