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