Querying with the DataReader
The CData ADO.NET Provider for Xero WorkflowMax implements two ADO.NET interfaces you can use to retrieve data from Xero WorkflowMax: XeroWorkflowMaxDataAdapter and XeroWorkflowMaxDataReader objects. Whereas XeroWorkflowMaxDataAdapter objects retrieve a single result set of all the data that matches a query, XeroWorkflowMaxDataReader objects fetch data in subset increments as needed.
Using the XeroWorkflowMaxDataReader
The XeroWorkflowMaxDataReader retrieves data faster than the XeroWorkflowMaxDataAdapter because it can retrieve data in pages. As you read data from the XeroWorkflowMaxDataReader, it periodically requests the next page of results from the data source, if required. This causes results to be returned at a faster rate. The following example selects all the columns from the Clients table:
C#
string connectionString = "OAuthClientID=myClientID;OAuthClientSecret=myClientSecret"; using (XeroWorkflowMaxConnection connection = new XeroWorkflowMaxConnection(connectionString)) { XeroWorkflowMaxCommand cmd = new XeroWorkflowMaxCommand("SELECT * FROM Clients", connection); XeroWorkflowMaxDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["UUID"], rdr["Name"])); } }
VB.NET
Dim connectionString As String = "OAuthClientID=myClientID;OAuthClientSecret=myClientSecret" Using connection As New XeroWorkflowMaxConnection(connectionString) Dim cmd As New XeroWorkflowMaxCommand("SELECT * FROM Clients", connection) Dim rdr As XeroWorkflowMaxDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("UUID"), rdr("Name"))) End While End Using