Avatar billede webbe Nybegynder
29. marts 2001 - 08:31 Der er 16 kommentarer og
1 løsning

Syntax fejl i Case!

Hejsa!

Jeg får en (for mig at se) underlig fejl i mit script.

Jeg har lavet en fil der bliver linket til via cases....dvs. når jeg vælge januar skal den vise \'Case \"januar\"\', men den melder følgende fejl:

Microsoft VBScript compilation error \'800a03ea\'

Syntax error

/new/Scanbox_com_ny/jupiter/dvdlist.asp, line 17

Case \"januar\"

Mit script ser således ud:

Case \"januar\"

Set Connect = Server.CreateObject(\"ADODB.Connection\")
Connect.Open \"jupiter\"

Set rs = Server.CreateObject(\"ADODB.Recordset\")
rs.Open \"SELECT * FROM DVD_main_dk WHERE Maaned=\'Januar\'\", Connect, 1, 3

Response.Write(\"<table border=\"\"0\"\" cellpadding=\"\"0\"\" cellspacing=\"\"0\"\" width=\"\"611\"\" height=\"\"586\"\" align=\"\"center\"\">\" &_
                \"<tr>\" &_
                    \"<td height=\"\"28\"\">&nbsp</td>\" &_
                    \"<td height=\"\"13\"\"><font face=\"\"Verdana\"\" size=\"\"5\"\" color=\"\"#E34425\"\"><b>Januar Releases</b></font></td>\" &_
                \"</tr>\" &_
                \"<tr>\" &_
                    \"<td height=\"\"420\"\">&nbsp</td>\" &_
                    \"<td height=\"\"420\"\" valign=\"\"top\"\">\" &_
                        \"<table border=\"\"0\"\" cellpadding=\"\"0\"\" cellspacing=\"\"0\"\" width=\"\"400\"\" align=\"\"left\"\">\" &_
                            \"<tr>\" &_
                                \"<td valign=\"\"middle\"\" align=\"\"left\"\" width=\"\"50\"\"><font face=\"\"Verdana\"\" size=\"\"2\"\"><b>Varenr.</b></font></td>\" &_
                                \"<td valign=\"\"middle\"\" align=\"\"left\"\" width=\"\"350\"\"><font face=\"\"Verdana\"\" size=\"\"2\"\"><b>Titel</b></font></td>\" &_
                            \"</tr>\" &_
                        \"</table><br>\")
do until rs.EOF
Response.Write(\"<table border=\"\"0\"\" cellpadding=\"\"0\"\" cellspacing=\"\"5\"\" width=\"\"400\"\" align=\"\"left\"\">\" &_
                    \"<tr>\" &_
                        \"<td valign=\"\"middle\"\" align=\"\"left\"\" width=\"\"50\"\"><font face=\"\"Verdana\"\" size=\"\"2\"\">\"&rs(\"Varenr\")&\"</font></td>\" &_
                        \"<td valign=\"\"middle\"\" align=\"\"left\"\" width=\"\"350\"\"><font face=\"\"Verdana\"\" size=\"\"2\"\">\"&rs(\"Titel\")&\"</font></td>\" &_
                    \"</tr>\" &_
                \"</table>\")
rs.MoveNext
loop
Response.Write(\"<p>&nbsp;</p>\" &_
                \"<p>&nbsp;</p>\" &_
                \"<p><br>\" &_
                \"<br>\" &_
                \"</p>\" &_
                \"</div>\" &_
                \"<p>&nbsp;</p>\" &_
                \"<p>&nbsp;</p>\" &_
                \"<p>&nbsp;</p>\" &_
                \"<p>&nbsp;</p>\" &_
                    \"</td>\" &_
                \"</tr>\" &_
                \"<tr>\" &_
                    \"<td height=\"138\">&nbsp;</td>\" &_
                    \"<td height=\"138\"><object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0\" width=\"610\" height=\"130\" align=\"middle\">\" &_
                        \"<param name=movie value=\"MENUSDK1.swf\">\" &_
                        \"<param name=quality value=high>\" &_
                        \"<embed src=\"MENUSDK1.swf\" quality=high pluginspage=\"http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash\" type=\"application/x-shockwave-flash\" width=\"610\" height=\"130\" align=\"middle\">\" &_
                        \"</embed>\" &_
                        \"</object>\" &_
                    \"</td>\" &_
                \"</tr>\" &_
                \"</table>\")

Nogen der kan fortælle mig hvad der er galt???
Avatar billede sone Nybegynder
29. marts 2001 - 08:36 #1
Vis lige starten af SELECT-linien.
Er det linie 17 som er CASE-linien ?
Avatar billede webbe Nybegynder
29. marts 2001 - 08:40 #2
Ja - linie 17 er case-linien!

Det der står inden er bare mine variable, altså Connect og rs....der står ikke noget der skulle have betydning!

Jeg bruger \'Select Case Request.QueryString(\"action\")!

Der hvor jeg linker fra hedder linket <a href=\"dvdlist.asp?action=januar\">Januar</a>
Avatar billede sone Nybegynder
29. marts 2001 - 08:57 #3
Du har vel ikke en ! som sidste tegn i din linie ?
Avatar billede webbe Nybegynder
29. marts 2001 - 08:59 #4
Nej nej......selvfølgelig ikke!
Avatar billede sone Nybegynder
29. marts 2001 - 09:04 #5
Du spørger jeg lige dumt: Hvorfor skal du bruge en CASE?

Der hvor der står januar i teksten kan du vel bare indsætte indholdet af Request.QueryString(\"action\")
Avatar billede webbe Nybegynder
29. marts 2001 - 09:09 #6
Det er fordi jeg skal generere en liste af film der udkommer i januar måned....men der er jo som bekendt 12 måneder i et år og jeg vil ikke sidde og lave 12 forskellige filer!

Vil kun have én fil til det!

Har ikke postet hele koden da det ville fylde ca. herfra og til berlin!
Men de sidste 11 cases (februar-december) er sådan set identiske med \'Case \"januar\"\', bortset fra at de vælger poster hvor måneden er lig med februar-december!
Avatar billede sone Nybegynder
29. marts 2001 - 09:10 #7
rs.Open \"SELECT * FROM DVD_main_dk WHERE Maaned=\'Januar\'\", Connect, 1, 3

kan da omskrives til:

rs.Open \"SELECT * FROM DVD_main_dk WHERE Maaned=\'\" & Request.QueryString(\"action\") & \"\'\", Connect, 1, 3

så hvorfor behøver du en CASE ?
Avatar billede webbe Nybegynder
29. marts 2001 - 09:17 #8
Fordi jeg har alle måneder i samme fil.....hvis jeg bare bruger dit forslag kan den ikke finde ud af hvad den skal gøre....der linkes jo ikke fra et ID eller noget....så derfor skal jeg have cases!
Avatar billede gitrian Nybegynder
29. marts 2001 - 10:14 #9
Prøv evt. med enkelt-plinger \'januar\'.
Avatar billede webbe Nybegynder
29. marts 2001 - 10:29 #10
zbs!

Så er det jo bare en kommentar!!!!!
Avatar billede burningice Nybegynder
29. marts 2001 - 12:43 #11
nu har du vel en end select i bunden af dit dokument??
Avatar billede webbe Nybegynder
29. marts 2001 - 12:45 #12
cyberfessor!

Selvfølgelig!
Avatar billede burningice Nybegynder
29. marts 2001 - 12:50 #13
nå ja, man kan jo aldrig vide :)

well...

select case request.querystring(\"action\")
case \"januar\"
response.write \"Januar måned\"
case \"februar\"
response.write \"Febraur måned\"
end select

hvis det ikke virker, ja så melder jeg pas
Avatar billede strickie Nybegynder
29. marts 2001 - 15:01 #14
Nu er jeg ikke den store VBScript haj, men i Java kan man ikke bruge en CASE på andet end char og numre-datatyper, altså kon enklet bogstaver (eks x ikke xxx) og på heltal.
Er det ikke det samme der gør sig gældende her ?
Avatar billede burningice Nybegynder
29. marts 2001 - 15:26 #15
du kan sagtens lave case på laaange ord
Avatar billede webbe Nybegynder
29. marts 2001 - 15:47 #16
Droppe spørgsmålet og laver en fil for hver måned selv om det absolut ikke er det jeg har mest lyst til!
Avatar billede webbe Nybegynder
29. marts 2001 - 15:48 #17
Spørgsmålet er hermed lukket!
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