ADO.NET Provider for QuickBooks Time

Build 25.0.9434

Querying with the DataReader

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

Using the QuickBooksTimeDataReader

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

C#

string connectionString = "OAuthClientId=myclientid;OAuthClientSecret=myclientsecret;InitiateOAuth=GETANDREFRESH;CallbackUrl=http://localhost:33333;";

using (QuickBooksTimeConnection connection = new QuickBooksTimeConnection(connectionString)) {
  QuickBooksTimeCommand cmd = new QuickBooksTimeCommand("SELECT * FROM Timesheets", connection);
  
  QuickBooksTimeDataReader rdr = cmd.ExecuteReader();

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

VB.NET

Dim connectionString As String = "OAuthClientId=myclientid;OAuthClientSecret=myclientsecret;InitiateOAuth=GETANDREFRESH;CallbackUrl=http://localhost:33333;"

Using connection As New QuickBooksTimeConnection(connectionString)
  Dim cmd As New QuickBooksTimeCommand("SELECT * FROM Timesheets", connection)

  Dim rdr As QuickBooksTimeDataReader = cmd.ExecuteReader()

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

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 25.0.9434