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