/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Banner problem
Fra : AHR


Dato : 22-04-03 11:16

Hej NG

Jeg kan ikke få nedenstående kode til at virke og får denne fejl

----------------------------------------------------------------------------
---
Error Type:
Microsoft VBScript compilation (0x800A0401)
Expected end of statement
/test.asp, line 18, column 56
arrBannerPic = arrBannerPic & strSep & Response.Write rs("Billede")
----------------------------------------------------------------------------
---

strSQL = "Select * from reklame"
Set rs = Conn.Execute(strSQL)

Do While Not rs.EOF

arrBannerPic = arrBannerPic & strSep & Response.Write rs("Billede")
arrBannerSize = arrBannerSize & strSep & Response.Write rs("Størrelse")
arrBannerURL = arrBannerURL & strSep & Response.Write rs("Url")

rs.MoveNext

Loop

Conn.Close
Set Conn = Nothing
----------------------------------------------------------------------------
---

Kan nogen give lidt hjælp.

Tak



 
 
Jens Gyldenkærne Cla~ (22-04-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 22-04-03 11:58

AHR skrev:

> Expected end of statement
> /test.asp, line 18, column 56
> arrBannerPic = arrBannerPic & strSep & Response.Write
> rs("Billede")

Response.write er en kommando i sig selv - den må ikke stå midt i
en strengsammensætning.

Når du sætter strenge sammen skal du bare bruge "&" og tekster
eller variable med tekster:

   arrBannerPic = arrBannerPic & strSep & rs("Billede")

(hvis du altså vil hæfte rs("billede") bag på arrBannerPic)

Hvis du bagefter vil udskrive arrBannerPic skal du gøre det med
Response.write.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

AHR (22-04-2003)
Kommentar
Fra : AHR


Dato : 22-04-03 12:26

> arrBannerPic = arrBannerPic & strSep & rs("Billede")

Ok, tak.

Nu får jeg bare fejlen:

----------------------------------------------
Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'Ubound'
/banner.asp, line 36
----------------------------------------------

Her er hele koden. Håber du kan hjælpe mig videre

Fejlen ligger i denne sætning:

For intBanner = 1 to Ubound(arrBannerPic)

----------------------------------------------

<%
' TILFØJ BANNERE HER
'-----------------------------------------------
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("admin/bh.mdb")
Conn.Open DSN

strSep = "#" ' Separator til arrays

strSQL = "Select * from reklame"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

Do While Not rs.EOF

' Her tilføjes banner nr. 1
arrBannerPic = arrBannerPic & strSep & rs("Billede")
arrBannerSize = arrBannerSize & strSep & rs("Størrelse")
arrBannerURL = arrBannerURL & strSep & rs("Url")

rs.MoveNext

Loop

Conn.Close
Set Conn = Nothing

' FUNKTIONEN SOM VISER BANNER
'-----------------------------------------------

Function Banner(strformat)
' Find de bannere som har det rigtige format.
For intBanner = 1 to Ubound(arrBannerPic)
If arrBannerSize(intBanner) = strformat Then
arrBanners = arrBanners & strSep & intBanner
End If
Next
arrBanners = Split(arrBanners,strSep)

' Vælg tilfældigt banner.
Randomize
intRandom = Int((Ubound(arrBanners) * Rnd) + 1)
intShow = arrBanners(intRandom)
arrSize = Split(arrBannerSize(intShow),"x")

' Skriv HTML koden for banneret til klienten.
Response.Write "<a target=_blank href='" & arrBannerURL(intShow) & "'>"
Response.Write "<img src='" & arrBannerPic(intShow) & "' alt='Klik for at
se mere!' "
Response.Write "width='" & arrSize(0) & "' height='" & arrSize(1) &
"'></a>"
End Function
%>



Jens Gyldenkærne Cla~ (22-04-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 22-04-03 13:26

AHR skrev:

> Nu får jeg bare fejlen:

> Type mismatch: 'Ubound'

Det er fordi Ubound kun virker på et array - og arrBannerPic er en
streng.

Sæt linjen herunder ind før linjen med ubound.

   arrBannerPic = Split(arrBannerPic, "#")
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

AHR (22-04-2003)
Kommentar
Fra : AHR


Dato : 22-04-03 15:10

> Sæt linjen herunder ind før linjen med ubound.
>
> arrBannerPic = Split(arrBannerPic, "#")

Er ordnet, men nu kommer denne fejl:

Error Type:
Microsoft VBScript runtime (0x800A0009)
Subscript out of range: 'intRandom'
/banner.asp, line 48

Det er denne linie:

intShow = arrBanners(intRandom)

Nu mangler jeg ikke så meget så håber i igen gider hjælpe



Jens Gyldenkærne Cla~ (22-04-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 22-04-03 15:34

AHR skrev:

> Subscript out of range: 'intRandom'

Du bruger følgende løkke:

For intBanner = 1 to Ubound(arrBannerPic)

Men løkken skal starte med 0.

Du kan slippe for at tænke over grænserne hvis du blot skriver

   For each element In arrBannerPic
       ' element svarer til arrBannerPic(intBanner)
   Next


--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

AHR (22-04-2003)
Kommentar
Fra : AHR


Dato : 22-04-03 15:57

> Men løkken skal starte med 0.
>
> Du kan slippe for at tænke over grænserne hvis du blot skriver
>
> For each element In arrBannerPic
> ' element svarer til arrBannerPic(intBanner)
> Next

Tak Jens.

Det virker



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408935
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste