If you know you are gonna loop through a lot of records ( like when displaying a table of all articles in the system ) then use CacheSize to the drivers optimize their memory allocations and therefore make the call much faster. I bet you have some idea on how many rows your query might return ( 1 single, maybe 100 or maybe 10000 ). Set the CacheSize pretty high, since it will then lower the times the drivers need to reallocate memory.
<%
Dim oRS, oConn
Set oConn = Incdb_GetConnection( Incdb_GetConnectionString(0))
Set oRS = CreateObject("ADODB.Recordset")
oRS.CursorLocation = adUseClient
oRS.CacheSize = 100
oRS.Open strSQL, oConn
%>
We also specify adUseClient as CursorLocation. We have done so in the other example as well, but it is actually here it can make a difference. It minimizes the number of roundtrips to the database.