GetString or GetRows VBScript Class

Anyone know how to do this?

My whole site is like the following when it comes to ADO and vbscript. I move through all of my stored procedure results like this

do until RS.EOF
 response.write rs(0)
 RS.movenext
Loop

What im wondering is: has anyone ever made a vbscript class to speed this up using getstring or getrows?

I.e. say your properties are:

.ConnectionString
.SQLQuery

Methods would be:

.ExecuteQuery
.MoveNext
.MovePrevious

the idea would be instead of issuing the create recordset object each time, instead instantiate a class. Feed the class the Stored procedure or Tsql query you are trying to retrieve and then using getrows or getstring, read this data into an array.

then using the move next and previous methods be able to walk the result set just like you do in ADO. Only much much faster. Same syntax, just much faster.

anyone tried this before?

Thanks!

-Matt


mjreineAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

JNSTAUBCommented:
i assume that .net do it as the recordset is created  to be transformed in a xml and serialised .after it stay in the server memory and is accessed as an array.
mjreineAuthor Commented:
JNSTAUB,

 I believe you are correct that is how a .net dataset works. Only thing is I need this to enhance the performance of my asp3 app not .net yet. Im working on learning more .net but am not there yet.

Any ideas on how to structure a class like this in vbscript (asp3)?

Thanks,

-Matt
JNSTAUBCommented:
if your db is on the same server as your webserver ,i don't think that you will run faster as an optimized db engine (of course it's depend about the size of your recordset and it's complexity). if the database is on a remote server youmay create a replication of your query result in a  table in a  local DB.
however if you want to create a class you may create an two dimension object array.
a collumn per field , a row per record. you maintain a row index in your class:
movefirst method means ro_index=0
movenext                      ro_index=ro_index+1
and so on...
Become a Microsoft Certified Solutions Expert

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

mjreineAuthor Commented:
Right. Thats I think where im going is to maintain a row index in the class. Just wondering if any of the experts out here have already done this type of class before? i.e. is there code anywhere already for this on the web?

Thanks,

-Matt
JNSTAUBCommented:
you may maintain your object as a session object and keep the index as a private variable in your class (of course you don't destroy the object after each page processing)
HStruijkCommented:
Look at this.

Developing a VBScript Class for an Extremely Lightweight Recordset Alternative:
http://www.asptoday.com/content.asp?id=2181

Herman

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
HStruijkCommented:
Oh... you have to register with ASPToday to read that...

Try this link:
http://www.devarticles.com/art/1/459

Herman
mjreineAuthor Commented:
Herman... You nailed it right on the head. That was exactly the article I was looking for. Thanks!

-Matt
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Development

From novice to tech pro — start learning today.