ADO.NET Provider for Salesforce

Build 24.0.9029

Querying with the DataReader

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

Using the SalesforceDataReader

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

C#

string connectionString = "AuthScheme=Basic;User=myUser;Password=myPassword;Security Token=myToken;";

using (SalesforceConnection connection = new SalesforceConnection(connectionString)) {
  SalesforceCommand cmd = new SalesforceCommand("SELECT * FROM Account", connection);
  
  SalesforceDataReader rdr = cmd.ExecuteReader();

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

VB.NET

Dim connectionString As String = "AuthScheme=Basic;User=myUser;Password=myPassword;Security Token=myToken;"

Using connection As New SalesforceConnection(connectionString)
  Dim cmd As New SalesforceCommand("SELECT * FROM Account", connection)

  Dim rdr As SalesforceDataReader = cmd.ExecuteReader()

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

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9029