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