Querying Using the DataReader
RSSBus ADO.NET Provider for Google Spreadsheets offers two ways to retrieve data from GoogleSheets: GoogleSheetsDataAdapter objects and GoogleSheetsDataReader objects. Each object accomplishes the same task -- retrieving data -- but does so in a different way. Whereas GoogleSheetsDataAdapter objects retrieve all the data that matches a query wholesale, GoogleSheetsDataReader objects fetch data in subset increments as they are needed.
Using The GoogleSheetsDataReader
In this example, we use a GoogleSheetsDataReader to get data from GoogleSheets. The GoogleSheetsDataReader retrieves data faster than the GoogleSheetsDataAdapter because it can retrieve data in pages. As you read data from the GoogleSheetsDataReader, it will periodically request the next page of results from the data source if required. This causes results to be returned at a faster rate. The example below selects all the columns from the MySpreadsheet table:
C#
GoogleSheetsCommand cmd = new GoogleSheetsCommand("SELECT * FROM MySpreadsheet", connection);
GoogleSheetsDataReader rdr = cmd.ExecuteReader();
while (rdr.Read()) {
Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["Id"], rdr["Column1"]));
}
VB.NET
Dim cmd As New GoogleSheetsCommand("SELECT * FROM MySpreadsheet", connection)
Dim rdr As GoogleSheetsDataReader = cmd.ExecuteReader()
While rdr.Read()
Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("Id"), rdr("Column1")))
End While