Querying with the DataReader
The CData ADO.NET Provider for Domino implements two ADO.NET interfaces you can use to retrieve data from Domino: DominoDataAdapter and DominoDataReader objects. Whereas DominoDataAdapter objects retrieve a single result set of all the data that matches a query, DominoDataReader objects fetch data in subset increments as needed.
Using the DominoDataReader
The DominoDataReader retrieves data faster than the DominoDataAdapter because it can retrieve data in pages. As you read data from the DominoDataReader, 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 Person table:
C#
string connectionString = "URL=http://dominoserver:3002/;DatabaseScope=names;TableTypes=Tables;AuthScheme=OAuthPassword;User=MyUser;Password=MyPassword;";
using (DominoConnection connection = new DominoConnection(connectionString)) {
DominoCommand cmd = new DominoCommand("SELECT * FROM Person", connection);
DominoDataReader rdr = cmd.ExecuteReader();
while (rdr.Read()) {
Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["unid"], rdr["FirstName"]));
}
}
VB.NET
Dim connectionString As String = "URL=http://dominoserver:3002/;DatabaseScope=names;TableTypes=Tables;AuthScheme=OAuthPassword;User=MyUser;Password=MyPassword;"
Using connection As New DominoConnection(connectionString)
Dim cmd As New DominoCommand("SELECT * FROM Person", connection)
Dim rdr As DominoDataReader = cmd.ExecuteReader()
While rdr.Read()
Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("unid"), rdr("FirstName")))
End While
End Using