469,898 Members | 1,815 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,898 developers. It's quick & easy.

For Loop Through Recordset

!TG
I currently use Do while loop, but I'd rather use a For Loop though I
have never gotten the hang of them.
Would some one please be so kind as to show me how to loop through a
recordset.
Jul 22 '05 #1
5 24755
!TG wrote:
I currently use Do while loop, but I'd rather use a For Loop though I
have never gotten the hang of them.
Would some one please be so kind as to show me how to loop through a
recordset.


Why would you rather use a For loop?

Anyways, looping through a recordset may not be the most efficient way for
you to do what you need to do. See here for alternatives:
http://www.aspfaq.com/show.asp?id=2467

Bob Barrows
--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.
Jul 22 '05 #2
!TG
Bob Barrows [MVP] wrote:
!TG wrote:
I currently use Do while loop, but I'd rather use a For Loop though I
have never gotten the hang of them.
Would some one please be so kind as to show me how to loop through a
recordset.

Why would you rather use a For loop?

Anyways, looping through a recordset may not be the most efficient way for
you to do what you need to do. See here for alternatives:
http://www.aspfaq.com/show.asp?id=2467

Bob Barrows

For practice sake
Jul 22 '05 #3
"!TG" <27********@southwestfunding.com> wrote in message
news:ew**************@tk2msftngp13.phx.gbl...
Bob Barrows [MVP] wrote:
!TG wrote:
I currently use Do while loop, but I'd rather use a For Loop though I
have never gotten the hang of them.
Would some one please be so kind as to show me how to loop through a
recordset.

Why would you rather use a For loop?

Anyways, looping through a recordset may not be the most efficient way for you to do what you need to do. See here for alternatives:
http://www.aspfaq.com/show.asp?id=2467

Bob Barrows

For practice sake


Use GetRows (with a For Loop) instead of looping through a RecordSet:

http://www.learnasp.com/advice/whygetrows.asp
Jul 22 '05 #4
!TG wrote:
I currently use Do while loop, but I'd rather use a For Loop though I
have never gotten the hang of them.
Would some one please be so kind as to show me how to loop through a
recordset.


Like this?

for (var Employees=[]; !RS.EOF; RS.MoveNext()) {
Employees.push({
LastName:RS.Fields("LastName").Value,
FirstName:RS.Fields("FirstName").Value,
Address:RS.Fields("Address").Value,
Phone:RS.Fields("Phone").Value,
SSN:RS.Fields("SSN").Value
})
}
--
Dave Anderson

Unsolicited commercial email will be read at a cost of $500 per message. Use
of this email address implies consent to these terms. Please do not contact
me directly or ask me to contact you directly for assistance. If your
question is worth asking, it's worth posting.
Jul 22 '05 #5
!TG wrote:
Bob Barrows [MVP] wrote:
!TG wrote:
I currently use Do while loop, but I'd rather use a For Loop though
I have never gotten the hang of them.
Would some one please be so kind as to show me how to loop through a
recordset.

Why would you rather use a For loop?

Anyways, looping through a recordset may not be the most efficient
way for you to do what you need to do. See here for alternatives:
http://www.aspfaq.com/show.asp?id=2467


If, by "For loop" you mean a "For Each" loop, then you are out of louck. A
recordset does not expose its Records collection (which is not really a
collection - note: there is no "Records" property in a Recordset object) via
the IEnumerable interface, so "For Each" cannot be used to loop through the
records of a recordset the way it can be used to loop through its Fields
collection:

for each fld in rs.Fields
response.write fld.Name & ": " & fld.Value & "<BR>"
next

If you are talking about a "For i=0 to something" loop, then you need to use
a cursortype that supports bookmarks. This is because you need a way to
1. Tell the recordset which record to point to, and
2. Tell the loop to stop at the last record, using the recordcount (which is
only available with static, keyset and dynamic cursors)

Anyways, if you set the cursortype to either 1(keyset), 2(dynamic) or 3
(static), or set the cursorlocation to 3 (adUseClient), guaranteeing that
you will get a static cursor, before you open the recordset, you will
receive a bookmarkable cursor which will allow you to do this:

rows=rs.RecordCount
if rows > 0 then
for i = 1 to rows
rs.AbsolutePosition=i
'do stuff with current record
next
end if

Such cursortypes are more expensive (consume more system resources) than the
default forwardonly cursor. If you are going to loop through a recordset,
then use the simple "Do While Not rs.EOF...Loop" or "Do Until rs.EOF
....Loop" loops - they will be much more efficient. Better yet, use GetRows
or GetString where appropriate.

HTH,
Bob Barrows

--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"
Jul 22 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

reply views Thread by Sue Adams | last post: by
10 posts views Thread by Ronny Sigo | last post: by
3 posts views Thread by =?Utf-8?B?VmFuZXNzYQ==?= | last post: by
1 post views Thread by Waqarahmed | last post: by
reply views Thread by Salome Sato | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.