Avatar billede the-lion Nybegynder
20. marts 2005 - 12:57 Der er 3 kommentarer og
1 løsning

Random udvalg fra database

Jeg har denne kode som skal vælge en tilfeldig database post, og vise den :
SUB Random
    set rs=server.CreateObject("adodb.recordset")
        strSQL = "SELECT COUNT(*) FROM Jokes"
    RS.Open strSQL, con, 3, 1
    recCount = rs(0) 'rs.RecordCount
    randomize
    rec = int(rnd * recCount)
    'Flyt til den valgte record
    rs.Move rec   
    joketype = rs("tabel")
    jokenr = rs("jokenr")
End SUB

Problemet her er at den tager kun antallet af poster, og hvordan kan jeg så få den til at finde oplysningerne om den valgte joke?
Dette virkede fint med min gamle database som var i Access, men ikke i den nye som er MySQL?
Tabellerne er fuldstændig ens i begge databaser?
Avatar billede the-lion Nybegynder
20. marts 2005 - 13:01 #1
Dog i access bruger jeg SQL stregen :
strSQL = "SELECT * FROM jokes"
men så vil MYSQL ikke med til at tælle posterne?
Avatar billede the-lion Nybegynder
20. marts 2005 - 13:17 #2
I MySQL kan jeg ikke bruge denne hvis jeg bruger SQL scriptet fra Access databasen :
recCount = rs.RecordCount
da dette så altid retuner værdien -1
Avatar billede the-lion Nybegynder
20. marts 2005 - 15:06 #3
Der opstod en Microsoft VBScript-kørselsfejl (0x800A01FB)
Der er opstået en undtagelse: 'rs.Move'
Avatar billede eagleeye Praktikant
20. marts 2005 - 15:22 #4
Når det er mySQL kan du få den til at hente en tilfældig post ved brug af rand():
select * from tabelnavn order by rand() limit 1

Så din kode vil blive:


SUB Random
    set rs=server.CreateObject("adodb.recordset")
    strSQL = "select * from Jokes order by rand() limit 1"
    Set rs = con.Execute(strSQL)
    joketype = rs("tabel")
    jokenr = rs("jokenr")
End SUB
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