webForumDet fria alternativet
Logga in / Bli medlem

SQL å If fel

ASP

4 svar · 165 visningar · startad av KoTTeN

Medlem sedan sep. 20011 722 inlägg
Trådstart#1

Hallå!
Jag har en db med följande fält: ID, Spel (ex Half Life) och System (ex PC).
Med en SQL å en if-sats tänkte jag ta reda på om det redan finns en post i databasen med det aktuella spelet och systemet. Koden för de ser ut så här:

'Söker efter ett likadant spel namn i databasen
  Set RecSet = Server.CreateObject("ADODB.Recordset")	
  visa = "SELECT spel, id, system FROM spel WHERE spel='" & Request.QueryString("spel") & "' AND system='" & Request.QueryString("system") & "'"
  RecSet.Open Visa, Connect2, adOpenStatic, adLockOptimistic

'Om det inte fanns ett exakt likadant namn gör så här...
If RecSet.EOF Then
  Response.Redirect "efterlys.asp?vad=addera2A&spelet=" & Request.QueryString("spel") & "&system=" & Request.QueryString("system") & "" 

'Om ett exakt likadant namn fanns gör så här...
Else 
  Response.Redirect "efterlys.asp?vad=addera4&id=" & Request.QueryString("id") & "&spel=" & Request.QueryString("spel") & "&upp=nej" 
End If
RecSet.Close

De funkar utan felmedelanden, men om man tex gör en sökning på spelet Half Life till systemet pc så räcker det bara med att det finns en post i databasen där ett spelnamn börjar på H, tex Halo så säger den att spelet redan finns. Fattar ni? Alltså blir de ju helt fel, nån som vet varför?

Medlem sedan dec. 200012 464 inlägg
#2

Jag tycker att din sql-sats och övrig kod ser helt ok ut. Får du in riktiga värden i request.querystring?

Du kan ju lägga till en kontrollutskrift av visa för att se om det är korrekt

Medlem sedan sep. 20011 722 inlägg
#3

Du hade alldeles rätt, de ä inga problem just där...
Problemet var tydligen att jag har flera sidor i en fil eller va man ska säga... Ex så har jag ett formulär och själva uppdaten i samma fil, åtskilda med if satser.
Så då va de en annan sql som det skulle vara ett =-tecken istället för LIKE... När jag ändrade så funkade de...
Jaja tack LarsG för all hjälp, för de här å allt annat du har hjälp mig med...

Medlem sedan dec. 19996 721 inlägg
#4

En sak till...

Response.Redirect "efterlys.asp?vad=addera2A&spelet=" & Server.Urlencode(Request.QueryString("spel")) & "&system=" & Server.Urlencode(Request.QueryString("system")) & ""

...för säkerhets skull

Medlem sedan sep. 20011 722 inlägg
#5

Ok vad gör Server.Urlencode? Vad jag har hört gör den om ovanliga tecken till kod, eller har ja fel?

Måste man lägga till något särskilt när man tar emot QueryString me Urlencode för att typ "packa upp de” eller är det bara att tuta och köra?

263 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)