webForumDet fria alternativet

Delete procedur

ASP

7 svar · 325 visningar · startad av Gimbo

Medlem sedan dec. 20001 626 inlägg
Frågan#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)
Medlem sedan juni 200032 967 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.

Medlem 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
Medlem sedan juni 200032 967 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å?

Medlem 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

Medlem sedan juni 200032 967 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.

Medlem 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

Medlem sedan dec. 20001 626 inlägg
#8

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

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)