webForumDet fria alternativet

Ta bort många samtidigt?

ASP

10 svar · 457 visningar · startad av webbSAJTEN

Medlem sedan jan. 2002992 inlägg
Frågan#1

Tjenare!
Skulle vilja ta bort många poster samtidigt genom checkboxar.
har använt denna kod förut

sql = "DELETE FROM mail WHERE M_ID IN ('" & Request.Form("radera") & "')"
	Connect.execute(sql),,128

..

nu funkar den dock inte på samma sätt )=..

Den tar inte bort alla markerade utan vara en post..

Hur kan jag gör?

Medlem sedan juni 200032 967 inlägg
#2

Du måste visa mer kod, annars har vi inte en aning om vad ditt problem är. Vad innehåller Request.Form("radera")?

Innehåller det en lång lista på ID-nummer? I så fall ska du ta bort apostroferna runt den kommaseparerade listan.

Medlem sedan jan. 2002992 inlägg
#3
<form method="post" action="mail_inkorg.asp?do=radera&M_ID=<%=RS("M_ID")%>&ID=<%=session("ID")%>">

<input type="checkbox" name="radera" value="<%=RS("M_ID")%>">

</form>

Sådär ser själva formuläret ut..

if request.QueryString("do") = "radera" then

	sql = "DELETE FROM mail WHERE M_ID IN (" & Request.Form("radera") & ")"
	Connect.execute(sql),,128

Response.redirect("mail_inkorg.asp?ID="&session("ID")&"")

end if

Jag får felmess:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'bort)' at line 1
/com/mail_inkorg.asp, line 31

Medlem sedan juni 200032 967 inlägg
#4

Det där hjälper inte. Vad innehåller Request.Form("radera")?

I den koden du postar nu ser det visserligen ut som att du har ett formulär för varje checkbox, inte är det väl så? Alla checkboxar ligger väl i samma formulär? Varför har du M_ID även i querystring i formulärets action?

Medlem sedan jan. 2002992 inlägg
#5

Den innehåller en massa ID, från alla mail som man vill ta bort,,

Medlem sedan juni 200032 967 inlägg
#6

Skriv då ut SQL-frågan, för den verkar ju inte innehålla det!

Medlem sedan jan. 2002992 inlägg
#7

få inte ut den, felmesset kommer innan..
sql = "DELETE FROM mail WHERE M_ID IN (" & Request.Form("radera") & ")"
response.Write(SQL)
Connect.execute(sql),,128

Det syns ingen utskriven rad..
Satte ett ' framför redirecten också..

Medlem sedan juni 200032 967 inlägg
#8

Får du felmeddelande även om du kommenterar bort execute?

Medlem sedan jan. 2002992 inlägg
#9

hmm..

DELETE FROM mail WHERE M_ID IN (13, 12, Skicka fråga)

Medlem sedan juni 200032 967 inlägg
#10

Då har du väl en submit-knapp som heter "radera" av någon outgrundlig anledning?

Medlem sedan jan. 2002992 inlägg
#11

Så var de :D
TACKAR!!!

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