Avatar billede peppino Nybegynder
22. marts 2003 - 17:04 Der er 5 kommentarer og
1 løsning

Hjælp til banner system

Hej.

Jeg har lavet denne kode:

<%
Set banner = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("db.mdb")
banner.Open DSN

arrDay = Array("Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag")

dato = date()
dag = arrDay(WeekDay(dato)-1)

datoStr = date()

response.write dag &"<br>"& datoStr &"<br>"& time() &"<br>"

'Her finder den dem som er valgt til at blive vist i dag
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * from banner where dage LIKE '%," & dag &",%' and startdato <= #" & datoStr & "# and slutdato >= #" & datoStr & "# and starttid <= #" & time() & "# and sluttid >= #" & time() & "#"
rs.Open strSQL, banner, 1, 3
'set rs = Banner.Execute("SELECT * from banner where dage LIKE '%," & dag &",%' and startdato <= #" & datoStr & "# and slutdato >= #" & datoStr & "# and starttid <= #" & time() & "# and sluttid >= #" & time() & "#")

if rs.eof then

    randomize
    linie = int(rs.RecordCount * rnd)

    rs.MoveFirst
    rs.Move(linie)

    Response.Write rs("banner")

else

    Response.Write ("Desværre, ingen banner")

end if%>

Men jeg får denne fejl:

ADODB.Recordset fejl '800a0bcd'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/bannersystem/banner.asp, linje 27

Linie 27: rs.MoveFirst

Er der nogen som kan hjælpe


/Peppino
Avatar billede mortrr Praktikant
22. marts 2003 - 18:02 #1
if not rs.eof then
Avatar billede mortrr Praktikant
22. marts 2003 - 18:03 #2
Ikke som du har nu:
if rs.eof then
Avatar billede mortrr Praktikant
22. marts 2003 - 18:10 #3
Det er forøvrigt bedre at lade databasen finde ud af det med datoer:

strSQL = "SELECT * from banner where dage LIKE '%," & dag &",%' and startdato <= Date() and slutdato >= Date() and starttid <= Now() and sluttid >= Now()"
Avatar billede peppino Nybegynder
22. marts 2003 - 18:39 #4
<%
Set banner = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("banner.mdb")
banner.Open DSN

arrDay = Array("Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag")

dato = date()
dag = arrDay(WeekDay(dato)-1)

datoStr = date()

response.write dag &"<br>"& datoStr &"<br>"& time() &"<br>"

'Her finder den dem som er valgt til at blive vist i dag
set rs = banner.execute("SELECT * from banner where dage LIKE '%," & dag &",%' and startdato <= Date() and slutdato >= Date() and starttid <= Time() and sluttid >= Time()")

if not rs.eof then

    randomize
    linie = int(rs.RecordCount * rnd)

    rs.MoveFirst
    rs.Move(linie)

    Response.Write rs("banner")

else

    Response.write "Desværre, ingen banner."

end if%>


Fejl:
Microsoft OLE DB Provider for ODBC Drivers fejl '80040e24'

Rowset does not support fetching backward.

/bannersystem/banner.asp, linje 25

Linie 25: rs.Move(linie)
Avatar billede mortrr Praktikant
22. marts 2003 - 18:47 #5
Enten skal du fjerne din rs.MoveFirst (som egentlig ikke er nødvendig), eller bruge client-side cursors.

Client-side cursor:
Set banner = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("banner.mdb")
banner.CursorLocation=3
banner.Open DSN
Avatar billede peppino Nybegynder
22. marts 2003 - 18:52 #6
Takker mange gange
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