Just nu i M3-nätverket
Gå till innehåll

RecSet(sida) ! Eller?


Nsorman

Rekommendera Poster

Jag får detta felmess:

 

Microsoft VBScript compilation (0x800A03EA)

Syntax error

/filmtoppen/main.asp, line 160, column 16

 

 

På den raden har jag skrivit:

Do While RecSet('" & sida & "') = "on"

 

Alltså, jag vill göra en sak medans kolumnen sida i databasen har värdet "on"

Antar att den raden är felaktig. sida är en variabel! Testade att skriva bara RecSet(sida) men då fick jag detta felmess:

 

Exception occurred.

/filmtoppen/main.asp, line 160

 

 

 

MKT tacksam för svar!

MVH

 

/Niklas

 

Länk till kommentar
Dela på andra webbplatser

Om "sida" är ett fält i din tabell borde följande fungera:

 

Do While RecSet("sida") = "on"

 

'Här ligger du in kod för den data som skall skrivas ut

 

Loop

 

Du kan även prova följande:

 

Do While Not RecSet.EOF

 

sida = RecSet("sida")

 

If sida = "on" Then

 

'Här ligger du in kod för den data som skall skrivas ut

 

End If

 

Loop

 

Sedan finns ju alltid möjligheten att i din sqlfråga direkt välja ut de poster där fältet sida har värdet on

 

sql = "SELECT * FROM 'tabellens namn' WHERE sida = 'on'"

[inlägget ändrat 2003-04-15 18:01:44 av Mr Orange]

Länk till kommentar
Dela på andra webbplatser

sida är inte ett fält, utan en variabel som pekar på ett fält.

Jag har provat att sätta sida till ett fast värde RecSet("FältNamn") men det blir samma fel!

 

HJÄLP!

 

 

 

Utdrag ur filen

 

<%If mitt="Random" Then

 

Session.LCID=1053

 

SQLL = "SELECT * from Filmer order by '" & sida & "' Desc"

RecSet.Open SQLL, Connect,adOpenStatic, adLockOptimistic

 

Do While RecSet(sida) = "on"

Antal = Antal + 1

RecSet.MoveNext

Loop

RecSet.Close

If Antal=0 Then%>

 

Tyvärr finns det inga inlagda filmer under kategorin <%=sida%> ännu.

 

<%Else

 

Randomize

randFilm = Int(Rnd * Antal)+1

 

Session.LCID=1053

 

SQLL = "SELECT * from Filmer order by '" & sida & "' "

RecSet.Open SQLL, Connect,adOpenStatic, adLockOptimistic

 

antal2=0

Do While randFilm > antal2

antal2=antal2+1

RecSet.MoveNext

Loop%>

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Om jag har förstått rätt så syftar 'sida' på en filmkategori.

 

Hur ser din tabell ut?

 

Så här hade jag gjort:

 

Filmer

filmId: 1,2

film: The Bourne Identity, Mullholland Drive ..osv

kategori: action, thriller ...osv

 

Antal = 0

SQLL = "SELECT * from Filmer WHERE Kategori = '" & sida & "'"

RecSet.Open SQLL, Connect,adOpenStatic, adLockOptimistic

 

Do While Not RecSet.EOF

Antal = Antal + 1

RecSet.MoveNext

Loop

RecSet.Close

If Antal=0 Then%>

 

Tyvärr finns det inga inlagda filmer under kategorin <%=sida%> ännu.

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Jo men då får jag inte funktionen som jag vill.

 

Det skall vara såhär:

 

Du har rätt i att det handlar om filmer i olika kategorier. men den är uppbyggd så här:

 

titel action drama svenskt .....

 

Bamse on "" on

jägarna on "" on

 

Funktionen som jag inte får att fungera är en radom funktion. Jag vill slumpvis ta fram en film, under en specifik kategori (filmerna kan innefattas av fler än 1 kategori).

 

 

Därför gjorde försökte jag att först sortera efter den specifika kategorin (tex: svenskt). Då kommer alla dom svenska först, sedan räknar jag hur många det finns mha:

sida=kategorins namn (tex: svenskt)

 

SQLL = "SELECT * from Filmer order by '" & sida & "' Desc"

RecSet.Open SQLL, Connect,adOpenStatic, adLockOptimistic

 

Do While RecSet(sida) = "on" <!--FELAKTIGA RADEN

Antal = Antal + 1

RecSet.MoveNext

Loop

RecSet.Close

If Antal=0 Then%>

 

Tyvärr finns det inga inlagda filmer under kategorin <%=sida%> ännu.

 

 

 

Sedan bestäms ett tal från ett till antal mha:

 

<%Else

 

Randomize

randFilm = Int(Rnd * Antal)+1

 

Session.LCID=1053

 

 

Ordnar dom igen efter kategorin

 

SQLL = "SELECT * from Filmer order by '" & sida & "' "

RecSet.Open SQLL, Connect,adOpenStatic, adLockOptimistic

 

 

och räknar upp till den som random har bestämt!

 

 

antal2=0

Do While randFilm > antal2

antal2=antal2+1

RecSet.MoveNext

Loop%>

 

 

men som sagt så fungerar ju detta inte så bra!!

 

Exception occurred.

/filmtoppen/main.asp, line 160

 

Kan man göra det på nåt annat sätt eller någon som vet varför det blir fel?

 

MKT tacksam för hjälp

 

//Niklas

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...