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