Avatar billede klumpie Nybegynder
09. juni 2001 - 19:29 Der er 19 kommentarer og
1 løsning

sql

hvad skal der stå i sql stringen hvis den bare skal tage et tilfældigt udtag ?
Avatar billede twm Nybegynder
09. juni 2001 - 19:32 #1
strdb = \"select * from db where id like \"\'\"Int(Rnd*10000)+1\"\'\"   
10000 skiftes ud med det antal poster der er der er 
Avatar billede klumpie Nybegynder
09. juni 2001 - 19:39 #2
kan du skrive hele connectionen til databasen ?
Avatar billede limemedia Nybegynder
09. juni 2001 - 19:44 #3
hvilken database ?
Avatar billede twm Nybegynder
09. juni 2001 - 19:47 #4
Set wdbac = Server.CreateObject(\"ADODB.Connection\")
    STRACC = \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.Mappath(\"dbase.mdb\")
    wdbac.Open  STRACC

    set rando = wdbac.Execute(\"SELECT * FROM db WHERE id = \"\'\"Int(Rnd*10000)+1\"\'\")
        if not rando.eof
            response.write rando(\"id\")
        end if
    wdbac.Close
set wdbac = nothing
Avatar billede twm Nybegynder
09. juni 2001 - 19:48 #5
den her virker hvis din database ligger isammen folder og hedder dbase.mdb
i tabellen db skal der være et felt der hedder ID
Avatar billede klumpie Nybegynder
09. juni 2001 - 19:53 #6
denne fejl:

Error Type:
Microsoft VBScript compilation (0x800A03EE)
Expected \')\'
/nyhed/citat.asp, line 6, column 60
set rando = wdbac.Execute(\"SELECT * FROM logins WHERE id = \"\'\"Int(Rnd*4)+1\"\'\")
-----------------------------------------------------------^
Avatar billede twm Nybegynder
09. juni 2001 - 20:20 #7
set rando = wdbac.Execute(\"SELECT * FROM logins WHERE id = \"(Int(Rnd*4)+1)\")
Avatar billede klumpie Nybegynder
09. juni 2001 - 20:33 #8
hmm det virker heller ikke... den kommer med sammenfejl..

men hvis jeg skriver:

set rando = wdbac.Execute(\"SELECT * FROM logins WHERE id = \'Int(Rnd*10000)+1\'\")

kommer den med denne fejl :

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/nyhed/citat.asp, line 6


Avatar billede twm Nybegynder
09. juni 2001 - 20:35 #9
der var et par gåseøjne for meget:
set rando = wdbac.Execute(\"SELECT * FROM logins WHERE id = \"(Int(Rnd*4)+1))
Avatar billede klumpie Nybegynder
09. juni 2001 - 20:42 #10
denne fejl:

Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: \'[string: \"SELECT * FROM logins\"]\'
/nyhed/citat.asp, line 6
Avatar billede twm Nybegynder
09. juni 2001 - 20:47 #11
hvis du bare kører denne hvad siger den så?
set rando = wdbac.Execute(\"SELECT * FROM logins\")
Avatar billede klumpie Nybegynder
09. juni 2001 - 20:50 #12
den skriver et 1 tal og den skifter ikke tal hvis man refreser
Avatar billede klumpie Nybegynder
09. juni 2001 - 20:51 #13
har du ikke ICQ.. eller er på IRC.. enten UnderNet eller QuakeNet
Avatar billede twm Nybegynder
09. juni 2001 - 20:52 #14
der var også glemt et & tegn
set rando = wdbac.Execute(\"SELECT * FROM logins WHERE id = \"&(Int(Rnd*4)+1))

Avatar billede twm Nybegynder
09. juni 2001 - 20:54 #15
du skal forresten huske at skrive Randomize
før du bruger rand dvs hele koden kommer til at se således ud:
Set wdbac = Server.CreateObject(\"ADODB.Connection\")
    STRACC = \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.Mappath(\"dbase.mdb\")
    wdbac.Open  STRACC

set rando = wdbac.Execute(\"SELECT * FROM logins WHERE id = \"&(Int(Rnd*4)+1))
        if not rando.eof
            response.write rando(\"id\")
        end if
    wdbac.Close
set wdbac = nothing

Avatar billede twm Nybegynder
09. juni 2001 - 20:55 #16
hov nu glemte jeg Randomize igen
Avatar billede twm Nybegynder
09. juni 2001 - 20:55 #17
har du MSN? twm@twm.dk
Avatar billede twm Nybegynder
09. juni 2001 - 20:56 #18
ellers så send mig din DB så skal jeg nok få det til at virke
Avatar billede klumpie Nybegynder
09. juni 2001 - 20:59 #19
hmm 2 sek henter det lige.. så snakkes vi der
Avatar billede twm Nybegynder
09. juni 2001 - 21:05 #20
den her kode virker:
<%
Randomize

Set wdbac = Server.CreateObject(\"ADODB.Connection\")
    STRACC = \"Driver={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.Mappath(\"dbase.mdb\")
    wdbac.Open  STRACC

set rando = wdbac.Execute(\"SELECT * FROM logins WHERE id = \"&(Int(Rnd*4)+1))
        if not rando.eof then
            response.write rando(\"data\")
        end if
    wdbac.Close
set wdbac = nothing


%>
nu har jeg testet den:
http://www.twm.dk/test/test.asp
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