webForumDet fria alternativet

Radera inlägg = fel!

ASP

8 svar · 279 visningar · startad av webbSAJTEN

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

På admin ligger koden:

  <%
Dim objConn, rs, SQL
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas_gastbok.mdb")
SQL="SELECT * FROM inlagg"
Set rs=objConn.execute(SQL)
Do until rs.EOF
%>
  <b>Namn:</b> <%=rs("namn")%><br>
  <b>Inl<pi>gg:</b> <%=rs("mess")%><br>
  <a href="gastbok_tabort.asp?id=<%=rs("id")%>">Ta bort</a><p>
  <%
rs.MoveNext
Loop
rs.Close : Set rs = nothing
objConn.Close : Set objConn = nothing 
%>

och på gastbok_tabort.asp ligger:

<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas_gastbok.mdb")
SQL="select * from inlagg "%>
<% Radera = "SELECT * FROM inlagg WHERE id = "&Request.QueryString("id") & " " 
%>

När jag ska ta bort ett inlägg så kommer jag bara till en vit sida, inga felmess eller nått.. Inget inlägg raderas heller.. Vad är det som är fel?

Medlem sedan juni 200032 967 inlägg
#2

Du kör ju bara en SELECT, med vars resultat du gör ingenting, så det är ganska givet att inget raderas och inget skrivs ut.

SELECT hämtar, DELETE raderar.

Medlem sedan aug. 20012 349 inlägg
#3

Glöm inte bort att verifiera att den som vill ta bort ett inlägg verkligen får det. Annars kan ju vem som helts skriva in länken i sin webbläsare och pilla med querystringen och radera inlägg hejvilt.

Medlem sedan jan. 2002992 inlägg
#4

Jag ändrade så nu är det:

<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas_gastbok.mdb")
SQL="select * from inlagg "%>
<% Radera = "DELETE * FROM inlagg WHERE id = "&Request.QueryString("id") & " "
%>

Nu står det och laddar hela tiden, den går aldrig vidare och tar bort inlägget..

Medlem sedan juni 200032 967 inlägg
#5

Hur ser koden ut som ligger efter den koden du visar?

Medlem sedan jan. 2002992 inlägg
#6

Det finns ingen mer kod.. Det där är det som ligger på gastbok_tabort.asp

Medlem sedan juni 200032 967 inlägg
#7

Du exekverar inte SQL-frågan.

Medlem sedan aug. 20012 349 inlägg
#8

lägg till

objConn.execute(radera)

så du exekverar koden.

Medlem sedan jan. 2002992 inlägg
#9

Jag löste det...
Jag la in:

<%
Dim objConn, rs, SQL
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("databas_gastbok.mdb")
SQL="DELETE from inlagg where id=" & Request.Querystring("id")
objConn.Execute SQL,,128
objConn.Close
Set objConn=Nothing
%>

RED. Glöm inte [kod]-taggarna! //OveRRidE

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)