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