Heres my situation. Im trying to figure out how to write a stored procedure that handles paging. My stored procedure will have a maxrecords parameter and a page parameter. Ive figured the the closest Im going to get with this is an sql fast_forward cursor. However.. I cannot find any method of returning rowsets with a cursor.. without looping through each record at a time and storing it in some kind of temp table. This would defeat the purpose of making it as Im trying to improve performance. For the server and the client. Other databases... Seem to have a FETCH 10 FROM "cursor" statement. Oracle has the ROWNUM property. MySql has the LIMIT clause. I am seriously coming to believe... that microsoft has completely decided not to include a method of paging data in their product. They have decided to make it only a part of the client ( ado, oledb, etc ) AND not part of TRANSACT sql. <BR><BR>My brain cannot understand.. why the cursor cannot simply move to a certain records and then return the requested records... if it is capable of moving through one record at a time... and also have the FAST_FORWARD option. I think they did it on purpose. They want asp coders to handle the paging themselves.