Querying with the DataReader
The CData ADO.NET Provider for Google Search implements two ADO.NET interfaces you can use to retrieve data from Google Search: GoogleSearchDataAdapter and GoogleSearchDataReader objects. Whereas GoogleSearchDataAdapter objects retrieve a single result set of all the data that matches a query, GoogleSearchDataReader objects fetch data in subset increments as needed.
Using the GoogleSearchDataReader
The GoogleSearchDataReader retrieves data faster than the GoogleSearchDataAdapter because it can retrieve data in pages. As you read data from the GoogleSearchDataReader, 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 WebSearch table:
C#
string connectionString = "ApiKey=abc123; CustomSearchID=def456;"; using (GoogleSearchConnection connection = new GoogleSearchConnection(connectionString)) { GoogleSearchCommand cmd = new GoogleSearchCommand("SELECT * FROM WebSearch WHERE SearchTerms = 'Fantastic Four'", connection); GoogleSearchDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["DisplayLink"], rdr["Title"])); } }
VB.NET
Dim connectionString As String = "ApiKey=abc123; CustomSearchID=def456;" Using connection As New GoogleSearchConnection(connectionString) Dim cmd As New GoogleSearchCommand("SELECT * FROM WebSearch WHERE SearchTerms = 'Fantastic Four'", connection) Dim rdr As GoogleSearchDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("DisplayLink"), rdr("Title"))) End While End Using