• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1326
  • Last Modified:

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


0
mjreine
Asked:
mjreine
  • 3
  • 3
  • 2
1 Solution
 
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.
0
 
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
0
 
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...
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
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
0
 
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)
0
 
HStruijkCommented:
Look at this.

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

Herman
0
 
HStruijkCommented:
Oh... you have to register with ASPToday to read that...

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

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

-Matt
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 3
  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now