Link to home
Start Free TrialLog in
Avatar of mjreine
mjreine

asked on

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


Avatar of JNSTAUB
JNSTAUB
Flag of France image

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.
Avatar of mjreine
mjreine

ASKER

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
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...
Avatar of mjreine

ASKER

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
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)
ASKER CERTIFIED SOLUTION
Avatar of HStruijk
HStruijk
Flag of Netherlands image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Oh... you have to register with ASPToday to read that...

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

Herman
Avatar of mjreine

ASKER

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

-Matt