ADO.NET Provider for QuickBooks

Build 21.0.7930

Querying with the DataReader

The CData ADO.NET Provider for QuickBooks implements two ADO.NET interfaces you can use to retrieve data from QuickBooks: QuickBooksDataAdapter and QuickBooksDataReader objects. Whereas QuickBooksDataAdapter objects retrieve a single result set of all the data that matches a query, QuickBooksDataReader objects fetch data in subset increments as needed.

Using the QuickBooksDataReader

The QuickBooksDataReader retrieves data faster than the QuickBooksDataAdapter because it can retrieve data in pages. As you read data from the QuickBooksDataReader, 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 Customers table:


string connectionString = "User=test;Password=test;URL=http://localhost:8166;";

using (QuickBooksConnection connection = new QuickBooksConnection(connectionString)) {
  QuickBooksCommand cmd = new QuickBooksCommand("SELECT * FROM Customers", connection);
  QuickBooksDataReader rdr = cmd.ExecuteReader();

  while (rdr.Read()) {
    Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["Id"], rdr["Name"]));


Dim connectionString As String = "User=test;Password=test;URL=http://localhost:8166;"

Using connection As New QuickBooksConnection(connectionString)
  Dim cmd As New QuickBooksCommand("SELECT * FROM Customers", connection)

  Dim rdr As QuickBooksDataReader = cmd.ExecuteReader()

  While rdr.Read()
    Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("Id"), rdr("Name")))
  End While
End Using

Copyright (c) 2021 CData Software, Inc. - All rights reserved.
Build 21.0.7930