You can use any of these three types of ADO objects to establish a connection to a database:
The CML/LitCrit application uses a single recordset object when it needs to execute a single action in the database.
You will need to use more then one recordset object if you need to access data in more than one table, or for more than one action (for example, both an add and an update action) in the same table. In this case, use a connection object, and pass it as an "obj" in your recordset calls. If you're reading from two different parts of the same table, you can read the first row(s) with one recordset and store that information (else it would be overwritten); then you can reuse the same recordset to read the second row(s).
The CML/LitCrit application Ddetails.asp page instantiates three different recordsets because it uses three RDS controls to hold item data (title, subject, and authors) for simultaneous data-binding and display. (Reusing one recordset would overwrite the first two sets of retrieved data.) These RDS controls are used in the application's ASP pages.
Now the CML/LitCrit application uses the RDS datashape provider, but this doesn't affect the number of RDS objects needed because the datashape provider is used not on the ASP pages of the application but in a custom COM component.