Avatar billede orca Nybegynder
02. september 2001 - 16:44 Der er 5 kommentarer og
1 løsning

Random select fra DB

Hej alle. Jeg har en database (MS SQL). Hvordan vælger jeg en tilfældig record i denne database? Id feltet er sat til autonummerering.

Mvh Mark
Avatar billede jelzin101 Praktikant
02. september 2001 - 16:52 #1
du skal lave et random tal og så vælge select from table where id = tilfældigt tal

-jeg kan ikke asp men sådan ville jeg gøre i php
Avatar billede jelzin101 Praktikant
02. september 2001 - 16:52 #2
svar
Avatar billede orca Nybegynder
02. september 2001 - 16:56 #3
det virker ikke for der kan jo godt være \"huller\"... altså kan Id feltet se således ud:

1
2
4
7
9

og så virker det ikke...
Avatar billede no_doubt Nybegynder
02. september 2001 - 19:32 #4
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"data.mdb\")

for i = 1 to 1

Set counter = Conn.Execute(\"SELECT Count(*) AS Count FROM statement\")

Set rs = Conn.Execute(\"SELECT * FROM statement\")

If counter(\"Count\") > 0 Then
Randomize()
Move = Int((counter(\"Count\") - 1 + 1) * Rnd + 1) - 1

rs.Move Move
End If
if rs.eof Then
response.write \"Der blev ik fundet noget\" & \"<br>\"
else
Response.Write rs(\"tekst\") & \"<br>\"
end if

Set rs = Nothing
set counter = nothing
next

Conn.Close
Set Conn = Nothing

%>
Avatar billede no_doubt Nybegynder
02. september 2001 - 19:32 #5
sådan
Avatar billede orca Nybegynder
03. september 2001 - 09:07 #6
Jeg fandt selv ud af en lidt nemmere metode:

Set rs = Conn.Execute(\"SELECT count(Id) AS affiliatecount FROM affiliate\")
randomize
i = rnd*rs(\"affiliatecount\")
Set rs = Conn.Execute(\"SELECT * FROM affiliate\")
rs.Move int(i)

<%=rs(\"code\")%>
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