Querying with the DataReader
The CData ADO.NET Provider for API implements two ADO.NET interfaces you can use to retrieve data from API: APIDataAdapter and APIDataReader objects. Whereas APIDataAdapter objects retrieve a single result set of all the data that matches a query, APIDataReader objects fetch data in subset increments as needed.
Using the APIDataReader
The APIDataReader retrieves data faster than the APIDataAdapter because it can retrieve data in pages. As you read data from the APIDataReader, 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 NorthwindOData table:
C#
string connectionString = "Profile=<Path to Profile>;ProfileSettings=<Profile Configuration Settings>"; using (APIConnection connection = new APIConnection(connectionString)) { APICommand cmd = new APICommand("SELECT * FROM NorthwindOData", connection); APIDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["Email"], rdr["Username"])); } }
VB.NET
Dim connectionString As String = "Profile=<Path to Profile>;ProfileSettings=<Profile Configuration Settings>" Using connection As New APIConnection(connectionString) Dim cmd As New APICommand("SELECT * FROM NorthwindOData", connection) Dim rdr As APIDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("Email"), rdr("Username"))) End While End Using