Querying with the DataReader
The CData ADO.NET Provider for Sage Business Cloud Accounting implements two ADO.NET interfaces you can use to retrieve data from Sage Business Cloud Accounting: SageBCAccountingDataAdapter and SageBCAccountingDataReader objects. Whereas SageBCAccountingDataAdapter objects retrieve a single result set of all the data that matches a query, SageBCAccountingDataReader objects fetch data in subset increments as needed.
Using the SageBCAccountingDataReader
The SageBCAccountingDataReader retrieves data faster than the SageBCAccountingDataAdapter because it can retrieve data in pages. As you read data from the SageBCAccountingDataReader, 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 SampleTable_1 table:
C#
string connectionString = "InitiateOAuth=GETANDREFRESH;"; using (SageBCAccountingConnection connection = new SageBCAccountingConnection(connectionString)) { SageBCAccountingCommand cmd = new SageBCAccountingCommand("SELECT * FROM SampleTable_1", connection); SageBCAccountingDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["Id"], rdr["Column1"])); } }
VB.NET
Dim connectionString As String = "InitiateOAuth=GETANDREFRESH;" Using connection As New SageBCAccountingConnection(connectionString) Dim cmd As New SageBCAccountingCommand("SELECT * FROM SampleTable_1", connection) Dim rdr As SageBCAccountingDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("Id"), rdr("Column1"))) End While End Using