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

If-sats verkar inte fungera korrekt, konstigt?


sww

Rekommendera Poster

Hej!

Har ett konstigt problem (tycker jag).

Jag får inget felmeddelane, men scriptet verkar inte komma längre första if-satsen. Elseif'arna verkar stoppa det....

Hoppas ni hittar ngt fel som inte scriptet ser, eller så har jag helt enkelt bara gjort fel.

 

 

 

[MÄRK]<%[/MÄRK]...				[color="#0000ff"]Set[/color] Connect = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.Connection"[/GRÅ])
				Connect.Open [GRÅ]"driver={Microsoft Access driver (*.mdb)};dbq=C:\Inetpub\wwwroot\rstudios\db\db.mdb"[/GRÅ]
				[color="#0000ff"]Set[/color] RecSet = [b]Server[/b].[color="#0000ff"]CreateObject[/color]([GRÅ]"ADODB.RecordSet"[/GRÅ])



	[color="#0000ff"]If[/color] [b]Request[/b].QueryString([GRÅ]"files"[/GRÅ]) = [GRÅ]"Ovrigt"[/GRÅ] [color="#0000ff"]Then[/color]
		Addera = [GRÅ]"SELECT * FROM Files WHERE Type =  'Ovrigt' "[/GRÅ] 
		[color="#006400"]'Hit kommer scriptet, inte längre än så. Inga 'felmeddelanden dyker upp[/color]
	[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"files"[/GRÅ]) = [GRÅ]"bilder"[/GRÅ] [color="#0000ff"]Then[/color]
		Addera = [GRÅ]"SELECT * FROM files WHERE Type =  'Bild'  "[/GRÅ] 

	[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"files"[/GRÅ]) = [GRÅ]"mp3"[/GRÅ] [color="#0000ff"]Then[/color]
		Addera = [GRÅ]"SELECT * FROM files WHERE Type =  'mp3'  "[/GRÅ] 

	[color="#0000ff"]ElseIf[/color] [b]Request[/b].QueryString([GRÅ]"files"[/GRÅ]) = [GRÅ]"ljud"[/GRÅ] [color="#0000ff"]Then[/color]
		Addera = [GRÅ]"SELECT * FROM files WHERE Type =  'ljud'  "[/GRÅ]




				RecSet.Open Addera, Connect, adLockOptimistic, adOpenStatic
				[MÄRK]%>[/MÄRK]

				<table border=[GRÅ]"0"[/GRÅ] cellpadding=[GRÅ]"0"[/GRÅ] cellspacing=[GRÅ]"0"[/GRÅ] width=[GRÅ]"211"[/GRÅ]>
				<%Do Until RecSet.EOF...

 

[inlägget ändrat 2006-01-19 20:47:50 av sww]

Länk till kommentar
Dela på andra webbplatser

Var har du End If någonstans?

 

EDIT: Vad menar du f.ö med

"'Hit kommer scriptet, inte längre än så. Inga 'felmeddelanden dyker upp"

 

Hur vet du att den kommer dit?

[inlägget ändrat 2006-01-19 20:55:32 av Anjuna Moon]

Länk till kommentar
Dela på andra webbplatser

Du kanske har mer kod mellan dina block men om du inte har det är det väl bättre utan if-sater:

 

Addera = "SELECT * FROM Files WHERE Type = '" & Request.QueryString("files") & "'"

 

/OZn

_______________________________________________________

Microchips - De små potatisflingorna du äter allra sist i chipspåsen

 

Länk till kommentar
Dela på andra webbplatser

OZn, du har faktiskt rätt. Jag tänkte på det också. Jag vet faktiskt inte varför jag inte bara gjorde det också =).

 

EDIT: Vad menar du f.ö med

"'Hit kommer scriptet, inte längre än så. Inga 'felmeddelanden dyker upp"

 

Hur vet du att den kommer dit?

Med response.write. Sätter jag det efter IF satsten skriver den. Sätter jag response.write efter nåågon av ELSEIF händer inget. Självklart ändrar jag querystringen också då. Det konstiga är att det inte dyker upp några felmeddelanden. Just nu vill jag bara veta varför det inte funkar, för att det är så märkligt.

 

Var har du End If någonstans?

Det finns längre fram. Detta är bara ett utdrag ur scriptet. Ville inte göra er illamående av mitt röriga script =). Ska ändra nu till det OZn sa.

 

Men försök gärna hjälpa mig att lösa detta ändå, för jag är nyfken!

 

 

Länk till kommentar
Dela på andra webbplatser

Men försök gärna hjälpa mig att lösa detta ändå, för jag är nyfken!

Jag har ingen förklaring, för koden är korrekt. Den enda logiska förklaringen jag kan se just nu är att den medskickade querystringsdatan är felaktigt stavad. (Förutsatt att det är VBScript under IIS du kör. Där har If-konstruktionen sett likadan ut sedan version 1)

 

För ytterligare förtydligad felsökning, testa att tilldela strängen till en variabel först och använd en case-sats. Fungerar det då?

 

[log]

s=Request.QueryString("files") 
Select Case s
Case 'Ovrigt'
' Gör ngt
Case 'bilder'
' Gör ngt
Case 'mp3'
' Gör ngt
End Case

[/log]

 

Länk till kommentar
Dela på andra webbplatser

  • 10 months later...

Sitter och läser mina gamla inlägg, och tänkte bara skriva att jag kom på felet själv nu när jag läste igenom koden.

 

Felet är nog att quary-stränger skiljer på små och stora bokstäver, vilket jag inte hade gjort...tror jag iaf, kommer itne ihåg säkert.

 

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...