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