Avatar billede woolbox Nybegynder
27. april 2002 - 19:45 Der er 4 kommentarer og
1 løsning

Antal records returneret vha. querystrings

Hvordan finder jeg ud af hvor mange records min ASP side returnerer fra en MDB? - fx. via. default.asp?color=blue.

Jeg skal bruge variablen til at at skrive en besked til brugeren hvis der ikke findes nogen records :o)
Avatar billede delle29 Nybegynder
27. april 2002 - 20:02 #1
Du bruger recordCount...

'tæller alle de steder i databasen hvor den valgte farve står.
strSQL = "Select Count(*) as Count from Tabellen Where(? = " & Request("color") & " )"
Set recordCount = Conn.Execute(strSQL)

Sådan tæller man det i hvert fald.
Avatar billede delle29 Nybegynder
27. april 2002 - 20:09 #2
Her er der en løkke der skriver en besked til brugeren:
Du skal bruge ovennævnte metode sammen med løkken.

If (recordCount("Count")>1) Then
Response.Write "<font>Farven blå er ikke i databasen.</font>"
Else
Response.Write "<font>Farven blå indgik " & recordCount("Count") & "</font>"
End If

Sådan gør jeg.
Avatar billede woolbox Nybegynder
27. april 2002 - 22:58 #3
Du må nok hellere lige få den eksisterende kode, da det nok kan køres sammen med noget af det!? - Fx. ligger hele SELECT-frasen i variablen StrSelectFinal ...

Koden er her:

<%
dim count
count=0
dim antalkolonner
antalkolonner = 3

fid = request.querystring("id")
ffore = request.querystring("fore")
fback = request.querystring("back")
fshape = request.querystring("shape")
fprice_min = request.querystring("price_min")
fprice_max = request.querystring("price_max")

    strDBPath = "ALBUM.mdb"

    'Connection String
      '(make sure at least one string is uncommented and you inserted the right sources!)
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Persist Security Info=False; Data Source=" & Server.MapPath(strDBPath)


'din sql streng uden kriterier
StrSelectFinal = "select * from produktion"

'test om kriterier skal inkluderes, og gør det, hvis de skal
if len(ffore)>0 then StrSelectTemp = StrSelectTemp & "fore = '" & ffore & "' AND "
if len(fback)>0 then StrSelectTemp = StrSelectTemp & "back = '" & fback & "' AND "
if len(fshape)>0 then StrSelectTemp = StrSelectTemp & "shape = '" & fshape & "' AND "
if len(fprice_min)>0 then StrSelectTemp = StrSelectTemp & "price >= " & fprice_min & " AND "
if len(fprice_max)>0 then StrSelectTemp = StrSelectTemp & "price <= " & fprice_max & " AND "

'føj dine to sql strenge sammen, hvis der er nogen kriterier angivet,
'og fjern de sidste "AND " fra slutningen
if len(StrSelectTemp)>0 then StrSelectFinal = StrSelectFinal & " WHERE " & left(StrSelectTemp,len(StrSelectTemp)-4)

response.write "<b>Din søgning på ...</b> <p> Fore: " & ffore & "<br>Back: " & fback & "<br>Shape: " & fshape & "<br>Price_min: " & fprice_min & "<br>Price_max: " & fprice_max & "<p>"

if count=0 then
response.write "<b>Gav ingen resultater</b>"
else response.write "Gav følgende resultater ..."
end if


                        Set objConn = Server.CreateObject("ADODB.Connection")
                        Set objRs = Server.CreateObject("ADODB.Recordset")
                        objConn.Open strConn
                        objRs.Open StrSelectFinal,objConn, 0, 1



%>
Avatar billede kotelet Nybegynder
28. april 2002 - 20:56 #4
StrSelectFinal = "select * from produktion"
set rs = conn.execute(StrSelectFinal)
IF rs.BOF THEN
' Der er ingen records!
strQuery = 0
ELSE
i = 0
DO
i = i + 1
rs.Movenext
LOOP WHILE NOT Rs.EOF
strQuery = i
END IF

response.redirect "default.asp?color=blue&antalrecords=" & strQuery


----- SLUT PÅ FIL ----------

Scriptet tæller hvormange records der er og sender det til default.asp som en querystring der hedder antalrecords

Jeg mener det er et svar på det oprindelige spæm :-)

/Kotelet
Avatar billede kotelet Nybegynder
28. april 2002 - 20:57 #5
Det kan selvfølgelig også være jeg er HELT galt på den...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester