DataAdapter を使用したクエリ
CData ADO.NET Provider for Microsoft Dynamics 365 では、次の2つのネイティブ.NET インターフェースを使用して、Microsoft Dynamics 365 からデータを取得できます。Dynamics365DataAdapter オブジェクトおよびDynamics365DataReader オブジェクト。各オブジェクトは同じタスク(データの取得)を実行しますが、実行方法が異なります。Dynamics365DataAdapter オブジェクトはクエリに一致するすべてのデータを取得しますが、Dynamics365DataReader オブジェクトは必要に応じてインクリメントしながら一部のデータだけをフェッチします。
Dynamics365DataAdapter の使用
アダプターのFill メソッドを使用して、データソースからデータを取得します。空のDataTable インスタンスがFill メソッドへの引数として渡されます。このメソッドが戻ってきたとき、DataTable インスタンスにはクエリされたデータが設定されています。Fill メソッドは、戻る前にデータソースからすべてのデータを取得する必要があるため、Dynamics365DataAdapter はDynamics365DataReader よりも時間がかかります。
次の例は、GoalHeadings テーブルのGoalHeadingId カラムとGoalHeadingId カラムを選択します。
C#
string connectionString = "InitiateOAuth=GETANDREFRESH;OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;"; using (Dynamics365Connection connection = new Dynamics365Connection(connectionString)) { Dynamics365DataAdapter dataAdapter = new Dynamics365DataAdapter( "SELECT GoalHeadingId, GoalHeadingId FROM GoalHeadings", connection); DataTable table = new DataTable(); dataAdapter.Fill(table); Console.WriteLine("Contents of GoalHeadings."); foreach (DataRow row in table.Rows) { Console.WriteLine("{0}: {1}", row["GoalHeadingId"], row["GoalHeadingId"]); } }
VB.NET
Dim connectionString As String = "InitiateOAuth=GETANDREFRESH;OrganizationUrl=https://myaccount.operations.dynamics.com/;Edition=Sales;" Using connection As New Dynamics365Connection(connectionString) Dim dataAdapter As New Dynamics365DataAdapter("SELECT GoalHeadingId, GoalHeadingId FROM GoalHeadings", connection) Dim table As New DataTable() dataAdapter.Fill(table) Console.WriteLine("Contents of GoalHeadings.") For Each row As DataRow In table.Rows Console.WriteLine("{0}: {1}", row("GoalHeadingId"), row("GoalHeadingId")) Next End Using