Querying with the DataReader
The CData ADO.NET Provider for OData implements two ADO.NET interfaces you can use to retrieve data from OData: ODataDataAdapter and ODataDataReader objects. Whereas ODataDataAdapter objects retrieve a single result set of all the data that matches a query, ODataDataReader objects fetch data in subset increments as needed.
Using the ODataDataReader
The ODataDataReader retrieves data faster than the ODataDataAdapter because it can retrieve data in pages. As you read data from the ODataDataReader, 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 Lead table:
C#
string connectionString = "User=myuseraccount;Password=mypassword;URL=http://myserver/myOrgRoot;"; using (ODataConnection connection = new ODataConnection(connectionString)) { ODataCommand cmd = new ODataCommand("SELECT * FROM Lead", connection); ODataDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["Id"], rdr["FullName"])); } }
VB.NET
Dim connectionString As String = "User=myuseraccount;Password=mypassword;URL=http://myserver/myOrgRoot;" Using connection As New ODataConnection(connectionString) Dim cmd As New ODataCommand("SELECT * FROM Lead", connection) Dim rdr As ODataDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("Id"), rdr("FullName"))) End While End Using