Querying with the DataReader
The CData ADO.NET Provider for CSV implements two ADO.NET interfaces you can use to retrieve data from CSV: CSVDataAdapter and CSVDataReader objects. Whereas CSVDataAdapter objects retrieve a single result set of all the data that matches a query, CSVDataReader objects fetch data in subset increments as needed.
Using the CSVDataReader
The CSVDataReader retrieves data faster than the CSVDataAdapter because it can retrieve data in pages. As you read data from the CSVDataReader, 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 NorthwindOData table:
C#
string connectionString = "GenerateSchemaFiles=OnStart;URI=https://MyAPI;Location=C:\\MySchemaFolder;"; using (CSVConnection connection = new CSVConnection(connectionString)) { CSVCommand cmd = new CSVCommand("SELECT * FROM NorthwindOData", connection); CSVDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["Email"], rdr["Username"])); } }
VB.NET
Dim connectionString As String = "GenerateSchemaFiles=OnStart;URI=https://MyAPI;Location=C:\\MySchemaFolder;" Using connection As New CSVConnection(connectionString) Dim cmd As New CSVCommand("SELECT * FROM NorthwindOData", connection) Dim rdr As CSVDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("Email"), rdr("Username"))) End While End Using