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