browse: forums | FAQ
Connecting Tech Pros Worldwide

Hey there! Do you need ASP / Active Server Pages help?

Get answers from our community of ASP / Active Server Pages experts on BYTES! It's free.

Disconected Recordset & Random Selection

Andie
Guest
 
Posts: n/a
#1: Jul 19 '05
Hello All,

How would I go about using a disconnect recordset and select (x) records
from it, x being the number of records to be selected.

Many thanks in advance.

--
Andie

Remove TRASH from email address to reply





Andie
Guest
 
Posts: n/a
#2: Jul 19 '05

re: Disconected Recordset & Random Selection


Basically within my database, I have a table called products, and I was told
about using a client side or "disconnected recordset" to display records on
the asp page I am using, I currently use an array to store all the product
information to be displayed, and then randomly display 6 products on the
screen.

How would I used a client side recordset to display 6 different records each
time?

Soeey but you will have to bear with me as I am only just getting to grips
with ASP programming..

Many thanks in advance.

--
Andie

Remove TRASH from email address to reply
"Tim Williams" <saxifrax@pacbell*dot*net> wrote in message
news:%23XfJwb0QDHA.1564@TK2MSFTNGP12.phx.gbl...[color=blue]
> You cannot "select..." from a standalone recordset, but you can[/color]
sort/filter[color=blue]
> it.
> You don't say which records you want to retrieve, so difficult to give any
> more details than that.
>
> tim
>
>
> "Andie" <andie@mansunTRASH.freeserve.co.uk> wrote in message
> news:Q9INa.45817$9C6.2267430@wards.force9.net...[color=green]
> > Hello All,
> >
> > How would I go about using a disconnect recordset and select (x) records
> > from it, x being the number of records to be selected.
> >
> > Many thanks in advance.
> >
> > --
> > Andie
> >
> > Remove TRASH from email address to reply
> >
> >[/color]
>
>[/color]


Tim Williams
Guest
 
Posts: n/a
#3: Jul 19 '05

re: Disconected Recordset & Random Selection


You don't need a disconnected recordset just to display records - they are
only really useful if you want to persist the data between calls/pages.

Selecting "random" records from a database is not so straightforward: try
this or a variant of it -
http://www.aspfaq.com/show.asp?id=2132

Exactly how you do it may depend on how many records you have in your DB
table...
A search on Google for "asp random records" should get you some ideas.


tim

"Andie" <andie@mansunTRASH.freeserve.co.uk> wrote in message
news:h6jOa.46138$9C6.2315936@wards.force9.net...[color=blue]
> Basically within my database, I have a table called products, and I was[/color]
told[color=blue]
> about using a client side or "disconnected recordset" to display records[/color]
on[color=blue]
> the asp page I am using, I currently use an array to store all the product
> information to be displayed, and then randomly display 6 products on the
> screen.
>
> How would I used a client side recordset to display 6 different records[/color]
each[color=blue]
> time?
>
> Soeey but you will have to bear with me as I am only just getting to grips
> with ASP programming..
>
> Many thanks in advance.
>
> --
> Andie
>
> Remove TRASH from email address to reply
> "Tim Williams" <saxifrax@pacbell*dot*net> wrote in message
> news:%23XfJwb0QDHA.1564@TK2MSFTNGP12.phx.gbl...[color=green]
> > You cannot "select..." from a standalone recordset, but you can[/color]
> sort/filter[color=green]
> > it.
> > You don't say which records you want to retrieve, so difficult to give[/color][/color]
any[color=blue][color=green]
> > more details than that.
> >
> > tim
> >
> >
> > "Andie" <andie@mansunTRASH.freeserve.co.uk> wrote in message
> > news:Q9INa.45817$9C6.2267430@wards.force9.net...[color=darkred]
> > > Hello All,
> > >
> > > How would I go about using a disconnect recordset and select (x)[/color][/color][/color]
records[color=blue][color=green][color=darkred]
> > > from it, x being the number of records to be selected.
> > >
> > > Many thanks in advance.
> > >
> > > --
> > > Andie
> > >
> > > Remove TRASH from email address to reply
> > >
> > >[/color]
> >
> >[/color]
>
>[/color]


Bob Barrows
Guest
 
Posts: n/a
#4: Jul 19 '05

re: Disconected Recordset & Random Selection


Depending on your backend database, it will almost always be more efficient
to do this via your original query (see Tim's link).

I do not believe that using a disconnected recordset will help here. For one
thing, you cannot add a field to a recordset that has been opened on a data
source, disconnected or otherwise.

Since I don't know what your database is, let me show a variation of the
alternate technique shown in Tim's link that may be more efficient (untested
air code):

dim cn, rs, strSQL,ar, arSelected(5), rCount, CurrRR, SelectedCount, i,j
'open a recordset using the default firehose cursor
strSQL = "Select idProduct FROM products"
set rs=cn.execute(strSQL,,&H0001)
ar=rs.getrows
rs.close
rCount = ubound(ar,2)
SelectedCount = 0
do until SelectedCount = 6
randomize
CurrRR = cLng(rnd*rCount+0.5)
if not AlreadySelected(arSelected, CurrRR) then
arSelected(SelectedCount) = CurrRR
SelectedCount = SelectedCount + 1
end if
loop

strSQL="Select idProduct, description, descriptionLong " & _
"listPrice, price, smallImageUrl, stock, fileName, noShipCharge " & _
"FROM products WHERE idProduct IN ("
for i = 0 to 5
if i = 0 then
strSQL = strSQL & ar(0,i)
else
strSQL = strSQL & "," & ar(0,i)
end if
next
strSQL = strSQL & ")"
response.write strSQL 'for debugging only
set rs=cn.execute(strSQL,,&H0001)
ar=rs.getrows
rs.close
set rs=nothing
cn.close
set cn=nothing

response.write "<table>"
for i = 0 to 5
response.write "<tr>"
for j = 0 to ubound(ar,1)
response.write "<td>"
response.write ar(j, i)
response.write "</td>"
next
response.write "</tr>"
next
response.write "</table>"

Function AlreadySelected(pAr, pSelected)
dim i
AlreadySelected = false
for i = 0 to ubound(pAr)
if len(pAr(i)) = 0 then
exit for
if pAr(i) = pSelected then
AlreadySelected = true
exit for
end if
next

Andie wrote:[color=blue]
> OK,
>
> Sorry to sound a little slow, I am still learning this stuff.
>
> I have been told I need to do the following steps to display random
> products from the product table within my database.
>
> 1) get recordset of fetured items,
> (2) disconnect,
> (3) Add a field and populate with random integers,
> (4) sort by the random field,
> (5) display first x number of records.
>
> The fields I need to to retrieve from the products table are:
>
> idProduct
> description
> descriptionLong
> listPrice
> price
> smallImageUrl
> stock
> fileName
> noShipCharge
>
> I hope this helps you understand what I am trying to do but I was
> told that using a disconnected recordset works quicker than using the
> array method I am currently using.[/color]


Closed Thread