Querying with the DataReader
The CData ADO.NET Provider for eBay Analytics implements two ADO.NET interfaces you can use to retrieve data from eBay Analytics: EbayAnalyticsDataAdapter and EbayAnalyticsDataReader objects. Whereas EbayAnalyticsDataAdapter objects retrieve a single result set of all the data that matches a query, EbayAnalyticsDataReader objects fetch data in subset increments as needed.
Using the EbayAnalyticsDataReader
The EbayAnalyticsDataReader retrieves data faster than the EbayAnalyticsDataAdapter because it can retrieve data in pages. As you read data from the EbayAnalyticsDataReader, 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 TrafficReportByListing table:
C#
string connectionString = "InitiateOAuth=GETANDREFRESH;OAuthClientId=MyAppID;OAuthClientSecret=MyCertID;RuName=MyRuName;"; using (EbayAnalyticsConnection connection = new EbayAnalyticsConnection(connectionString)) { EbayAnalyticsCommand cmd = new EbayAnalyticsCommand("SELECT * FROM TrafficReportByListing", connection); EbayAnalyticsDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["ListingName"], rdr["ClickThroughRate"])); } }
VB.NET
Dim connectionString As String = "InitiateOAuth=GETANDREFRESH;OAuthClientId=MyAppID;OAuthClientSecret=MyCertID;RuName=MyRuName;" Using connection As New EbayAnalyticsConnection(connectionString) Dim cmd As New EbayAnalyticsCommand("SELECT * FROM TrafficReportByListing", connection) Dim rdr As EbayAnalyticsDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("ListingName"), rdr("ClickThroughRate"))) End While End Using