Querying with the DataReader
The CData ADO.NET Provider for Adobe Experience Manager implements two ADO.NET interfaces you can use to retrieve data from Adobe Experience Manager: AdobeExperienceManagerDataAdapter and AdobeExperienceManagerDataReader objects. Whereas AdobeExperienceManagerDataAdapter objects retrieve a single result set of all the data that matches a query, AdobeExperienceManagerDataReader objects fetch data in subset increments as needed.
Using the AdobeExperienceManagerDataReader
The AdobeExperienceManagerDataReader retrieves data faster than the AdobeExperienceManagerDataAdapter because it can retrieve data in pages. As you read data from the AdobeExperienceManagerDataReader, 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 SampleTable_1 table:
C#
string connectionString = "URL=http://localhost:4502/crx/server;User=admin;Password=admin;";
using (AdobeExperienceManagerConnection connection = new AdobeExperienceManagerConnection(connectionString)) {
AdobeExperienceManagerCommand cmd = new AdobeExperienceManagerCommand("SELECT * FROM SampleTable_1", connection);
AdobeExperienceManagerDataReader rdr = cmd.ExecuteReader();
while (rdr.Read()) {
Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["Id"], rdr["Column1"]));
}
}
VB.NET
Dim connectionString As String = "URL=http://localhost:4502/crx/server;User=admin;Password=admin;"
Using connection As New AdobeExperienceManagerConnection(connectionString)
Dim cmd As New AdobeExperienceManagerCommand("SELECT * FROM SampleTable_1", connection)
Dim rdr As AdobeExperienceManagerDataReader = cmd.ExecuteReader()
While rdr.Read()
Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("Id"), rdr("Column1")))
End While
End Using