webForumDet fria alternativet

SQL å If fel

4 svar · 161 visningar · startad av KoTTeN

KoTTeNMedlem sedan sep. 20011 722 inlägg
#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?

------------------
// KoTTeN

LarsGMedlem 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

------------------
essentitia preter non sans multiplicandum

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

------------------
Ronny "KoTTeN" Andersson [GameStyle]

emissionMedlem 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

KoTTeNMedlem 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?

------------------
// Ronny "KoTTeN" Andersson

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)