webForumDet fria alternativet

inte tillräckligt? avbryt...

ASP

6 svar · 269 visningar · startad av Qimen

Medlem sedan juni 20015 009 inlägg
Frågan#1

Hej

Man kan uppdatera ett fält i en db med ex. fält = fält + 20 såvidare det är tal. Man kan göra likadant med minus.

Har en kod som går in och och drar av 20 ifrån fältet pixlar (är min valuta) och efter det går den inte och uppdaterar dbn med ett värde.

SQL = "Update anvandare Set pixlar = pixlar - 20 WHERE namn = '"&session("username")& "' "
connect.execute sql,,128

SQL = "Update anvandare Set gubbe = '" & request.form("bilden") & "' WHERE namn = '"&session("username")& "' "
connect.execute sql,,128

Men om man inte har så mycket pixlar som det krävs så går man istället på minus. Hur gör man för att förhindra det? Typ om man inte har tillräckligt retuneras man och får en js alert ruta.

:)

Medlem sedan juni 20015 009 inlägg
#2

ojdå fel forum... humm man tar lätt fel

Medlem sedan apr. 20012 266 inlägg
#3

hihi... fixat

Medlem sedan dec. 200012 464 inlägg
#4
SQL = "Update anvandare Set pixlar = pixlar - 20 " &_
" WHERE pixlar >= 20 " & _
" and namn = '"&session("username")& "' "
connect.execute sql,rows,128
if rows = 0 then
   'för lite pixlar
else
  'fortsätt
end if
Medlem sedan juni 20015 009 inlägg
#5

jag löste det genom:

SQL = "SELECT * FROM anvandare where namn = '"&session("username")& "' "

RecSet.Open SQL, Connect, 3,3

If RecSet("pixlar") < 20 Then
'vidare till fel
else

SQL = "Update anvandare Set pixlar = pixlar - 20 WHERE namn = '"&session("username")& "' "
connect.execute sql,,128

SQL = "Update anvandare Set gubbe = '" & request.form("bilden") & "' WHERE namn = '"&session("username")& "' "
connect.execute sql,,128

end if

Gör det någon skillnad vilken man använder, vilken går snabbast?

Medlem sedan aug. 20013 824 inlägg
#6

LarsG´s variant är en del effektivare ;)

/ Mikul

Medlem sedan apr. 20012 266 inlägg
#7

Definitivt

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)