webForumDet fria alternativet

Delete procedur

7 svar · 325 visningar · startad av Gimbo

GimboMedlem sedan dec. 20001 626 inlägg
#1

hejsan,

har en databas med en massa poster dar varje post har ett unikt id nummer, jag vill att da man matcher ID nr med sin email sa skall posten raderas, problemet e hur gor jag om ngn skriver in ngt som inte matchar att programmet skriver ut, du har inte ratt att radera denna post:

if request.querystring("action") = "delete" then

call OpenDB()

SQL = "DELETE FROM dealingOther WHERE ID = "&Request.Form("ID")&" AND eMail = "&Request.Form("eMail")

response.write SQL

set rs = connect.execute(SQL)
@ndersMedlem sedan juni 200032 969 inlägg
#2

För det första; skapa inte ett recordset när du lägger till, tar bort eller uppdaterar poster. Det är onödigt.

SQL = "DELETE FROM dealingOther WHERE ID = "&Request.Form("ID")&" AND eMail = '"&Request.Form("eMail") & "'"

connect.execute SQL, intRowsAffected, 128

if intRowsAffected = 0 then
     Response.write "Du kan ju inte göra så här, din gamle bäver!"
End if

Se också till att fixa ersättning av apostrofer i fältvärdena dock, så du inte blir utsatt för SQL injections.

GimboMedlem sedan dec. 20001 626 inlägg
#3

ok det va en lasvard laxa... men det funkar inte, nar jag knappar in fel varden far jag detta felmeddelande:
Microsoft JET Database Engine error '80040e10'

No value given for one or more required parameters.

/deleteAd.asp, line 26

rad 26 e denna rad:

connect.execute SQL, intRowsAffected, 128
@ndersMedlem sedan juni 200032 969 inlägg
#4

Vad menar du med "fel värden"? Innebär det att du skickar en sträng istället för ID från formuläret? Hur ser SQL-frågan ut då?

GimboMedlem sedan dec. 20001 626 inlägg
#5

jupp, alltsa nar jag skriver in en siffra pa id sa funkar det fint, men nar man skriver in en strang istallet for ett ID sa far jag det felmeddelandet, gar det inte att gora sa att man slipper felmeddelande, for det ser inte sa speciellt proffsigt ut

@ndersMedlem sedan juni 200032 969 inlägg
#6

Om ID är ett värde man själv kan fylla i, då måste du kontrollera att det som fyllts i är numeriskt innan du ställer SQL-frågan.

GimboMedlem sedan dec. 20001 626 inlägg
#7

har nu gjort en ny tabell, dar det unika IDt befinner sig i en kolumn som heter securityID och ar utav formen text, den innehaller bade siffror och bokstaver som slumpas fram och laggs i dar da anvandaren postar ngt

GimboMedlem sedan dec. 20001 626 inlägg
#8

fick det att funka la bara apostrof runt id't pa @nders kod

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