webForumDet fria alternativet
Logga in / Bli medlem

Slumptal

ASP

8 svar · 233 visningar · startad av kristoffer

Medlem sedan juni 20001 257 inlägg
Trådstart#1

Varför fungerar inte följande kod för att slumpa fram en post:

<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db.mdb"))

Set nbr = Connect.Execute("SELECT Count(*) AS antal FROM tabell1")

Randomize
Set RecSet = Server.CreateObject("ADODB.Recordset")

slumptal = Int(Rnd*nbr("antal"))

Visa = "Select * from tabell1 WHERE ID = slumptal"
RecSet.Open Visa

%>

<a href="random.asp?ID=<% =RecSet("ID") %>">Slump</a

RecSet.Close %>
Medlem sedan juni 200032 967 inlägg
#2

slumptal = Int(Rnd*cint(nbr("antal")))

kanske?

Medlem sedan dec. 200012 464 inlägg
#3

Ändra till detta också

Visa = "Select * from tabell1 WHERE ID = " & slumptal
Medlem sedan juni 20001 257 inlägg
#4

Funkar fortfarande inte.
HTTP 500 - Internt serverfel

Medlem sedan juni 200032 967 inlägg
#5

stäng av friendly error messages i ie, så du får se vad det är för fel!

Medlem sedan juni 20001 257 inlägg
#6

ADODB.Recordset error '800a0e7d'

Operation is not allowed on an object referencing a closed or invalid connection.

Medlem sedan juli 20003 825 inlägg
#7

Server.MapPath("db.mdb"))

testa: Server.MapPath("\db.mdb"))

Medlem sedan juli 20003 825 inlägg
#8

Förklaring till ovanstående:

server.mappath("\")

ger "C:\www\kund\"

server.mappath("")

ger felmeddelande och det samma gäller tyvärr även för server.mappath("db.mdb")

Medlem sedan mars 20002 836 inlägg
#9

ehhh, du har missat att ange vilket connection du ska använda dig av för att öppna recsetet:

RecSet.Open Visa

Borde stå ngt liknande:

RecSet.Open Visa, objConn

cya,

251 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)