webForumDet fria alternativet

Radera flera poster ur databas

ASP

7 svar · 254 visningar · startad av Inferis

Medlem sedan sep. 2000667 inlägg
Frågan#1

Ok. Har sökt, men inte hittat något svar...

Denna koden fungerar, men raderar bara en post. Hur raderar man allt som QueryString("ID") har lagt in?

	Set Connect = Server.CreateObject("ADODB.Connection")
	connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("../databas/db1.mdb")
	Set RecSet = Server.CreateObject("ADODB.Recordset")
	Radera = "SELECT * FROM kommentar WHERE till = '" & Request.QueryString("ID") & "' "
'	Radera = "SELECT * FROM kommentar WHERE till = IN('"& request.QueryString("ID") &"')" 
	RecSet.Open Radera, Connect, adOpenStatic, adLockOptimistic 

	RecSet.Delete
Medlem sedan dec. 200012 464 inlägg
#2

till är alltså av typen text!?

if request.querystring("id") <> "" then
ids = "'" & replace(replace(request.querystring("id"),"'","''"),",","','") & "'"
connect.execute "delete from kommentar where till in (" & ids & ")"
end if

Den borde inte ta bort något alls då den andra sql-satsen är felaktig.

Medlem sedan juni 200032 967 inlägg
#3

Vad är det för datatyp på fältet 'till'? Är det texttyp? I så fall, läs det här inlägget.

Mvh,

Medlem sedan sep. 2000667 inlägg
#4

Japp, "till" är av typen text.

Satte jag ihop det där rätt egentligen? Raderade bara en post igen.

' Radera även kommentarer
'On Error Resume Next
	Set Connect = Server.CreateObject("ADODB.Connection")
	connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("../databas/db1.mdb")
	Set RecSet = Server.CreateObject("ADODB.Recordset")

if request.querystring("id") <> "" then
ids = "'" & replace(replace(request.querystring("id"),"'","''"),",","','") & "'"
connect.execute "delete from kommentar where till in (" & ids & ")"
end if

'	Radera = "SELECT * FROM kommentar WHERE till = '" & Request.QueryString("ID") & "' "
'	Radera = "SELECT * FROM kommentar WHERE till = IN('"& request.QueryString("ID") &"')" 
'	RecSet.Open Radera, Connect, adOpenStatic, adLockOptimistic 

'	RecSet.Delete

' Slut på radera kommentarer
Medlem sedan sep. 2000667 inlägg
#5

@nders:

Har provat med både ' och ". Ska tydligen vara '" & Request.QueryString("ID") & "' om jag fattat det hela rätt?

Medlem sedan dec. 200012 464 inlägg
#6

vad innehåller request.querystring("id")? Kan du göra en response.write på det. Jag förutsatta att det var en kommaseparerad lista av värden.

Medlem sedan sep. 2000667 inlägg
#7

Response.write gav samma värde som i adressfältet på Explorer.
101, vilket alla poster hade som jag ville radera.

Medlem sedan sep. 2000667 inlägg
#8

Hmm. Nu funkade det plötsligt?

Tack för hjälpen! :-)

Denna koden fungerar alltså:

' Radera även kommentarer
	Set Connect = Server.CreateObject("ADODB.Connection")
	connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("../databas/db1.mdb")
	Set RecSet = Server.CreateObject("ADODB.Recordset")

if request.querystring("id") <> "" then
ids = "'" & replace(replace(request.querystring("id"),"'","''"),",","','") & "'"
connect.execute "delete from kommentar where till in (" & ids & ")"
end if

' Slut på radera kommentarer
266 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)