General rule of thumb is to keep the number of open recordsets to a minimum. The more you have, the more of a performance hit you'll receive. If you find yourself with a bunch, it's probably more efficient to put the data into arrays using getrows().<BR><BR>I'm actually not sure if there's a limit or not. It's probably big enough that you'll never reach it with taking a HUGE performance hit. :)
if you planning on using many recordsets then perhaps you should look into creating views and sprocs instead (I'm assuming your using SQL Server).<BR><BR>Otherwise re-think the way your doing things, cause making 20 Server.CreateObject("") in one asp page is, I think, a lot and there's always place for improvement like views and sprocs.