Avatar billede dusktrab Nybegynder
12. november 2002 - 21:20 Der er 6 kommentarer og
1 løsning

Random udtræk på db

Jeg HAR kigget på de andre spørgsmål, men har ikke kunnet finde noget svar.

Jeg skal udtrække 1 tilfældig post fra tabellen "tabel" den har id som autonummerering.
Forbindelsen til Access DB'en hedder con og SQL sætningen hedder RS
Avatar billede eagleeye Praktikant
12. november 2002 - 21:25 #1
Eks:

Set Conn = Server.CreateObject("ADODB.Connection")
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(".\dbfil.mdb")
Conn.Open (ConnStr)
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM tabel_som_skal_vælges_fra"
rs.Open strSQL, Conn, 3, 1
rndMax = rs.RecordCount
Randomize
rndNumber = Int((RND * rndMax))  'Find et random nummer

'Flyt til den valgte recoerd
rs.Move rndNumber

'Udskriv fra recordsetet
Response.Write rs("visDetteTekst") 'udskriver her

rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
Avatar billede no_doubt Nybegynder
12. november 2002 - 21:26 #2
kan du ikke rette denne her til
<%
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 n!nja Nybegynder
12. november 2002 - 21:26 #3
Dette har vist virket for mig engang :-)

-----------------------------------------
<%
set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM DinTabel"
rs.Open SQL, Conn, 1

randomize
rs.Move(int(rs.RecordCount * rnd))
%>

<%=rs("DinRecord")%>
---------------------------------------------

Nvh - N!NJA
Avatar billede pelkjaer Nybegynder
12. november 2002 - 21:29 #4
Eksmplet tager udgangspunkt i et rs der hedder "rsRandom":

<%
If Not(rsRandom.bof and rsRandom.eof) Then
  If (rsRandom.CursorType > 0) Then
    rsRandom.MoveFirst
  Else
    rsRandom.Requery
  End If
 
  rsRandom_totalrn = -1
  rsRandom_totalrn = rsRandom.RecordCount
  If (rsRandom_totalrn = -1) Then
    rsRandom_totalrn=0
    While (Not rsRandom.EOF)
      rsRandom_totalrn = rsRandom_totalrn + 1
      rsRandom.MoveNext
    Wend
    If (rsRandom.CursorType > 0) Then
      rsRandom.MoveFirst
    Else
      rsRandom.Requery
    End If
   
  End If

rsRandom_totalrn = rsRandom_totalrn - 1
If rsRandom_totalrn > 0 Then
Randomize
rsRandom.Move Int((rsRandom_totalrn + 1) * Rnd)
End If
End If
%>

og

<%=(rsRandom.Fields.Item("ditdbfelt").Value)%>">
Avatar billede dusktrab Nybegynder
16. januar 2003 - 12:32 #5
Ninjas var den mest simple som virkede!
Avatar billede n!nja Nybegynder
16. januar 2003 - 16:18 #6
Takker for pointz :-)
Avatar billede eagleeye Praktikant
17. januar 2003 - 19:51 #7
LOL LOL LOL LOL

det er en kopi af min kode strippet for kommentar og connection til databasen.
Nogle folk er bare for ..........
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