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