ja?
vad är det du behöver veta?
börja göra en sida som har lösenordskydd...
fortsätt med att göra en kopia av gästboken, fast med möjligheten att kunna radera och svara.. dvs två knappar där du hämtar ID:et på på gästboksinlägget..
du kanske får lägga till ett till fält i databasen som heter nånting liknande SvarID..
<%
Select Case = Request("cmd")
Case ""
If Session.Contents("Admin") = Empty Then
Response.Redirect("gb.asp")
SQL=" select titel, innehall, id from gb order by id DESC
set rs = Conn.Execute(SQL)
Dim id, titel, innehall
id = rs("id")
titel = rs("titel")
Response.write "Här är listan på alla inlägg"
While NOT rs.EOF
response.write titel &" ||| "_
"<a href=""admin.asp?cmd=tabort&id=" & id & ">kasta</a> | "_
"<a href=""admin.asp?cmd=svara&id=" & id & ">svara</a>"
rs.movenext
wend
Lite skillnad blir det (om man bortser från prestandavinsten): ;)
[b]Recordset-variant[/b]
<!-- #include file="adovbs.inc" -->
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Radera = "SELECT * FROM tblGastbok WHERE ID = " & Request.QueryString("id_nr") & " "
RecSet.Open Radera, Connect, adOpenStatic, adLockOptimistic
RecSet.Delete
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%>
Posten är nu borttagen...
[b]Utan recordset[/b]
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db.mdb")
Connect.Execute("DELETE FROM tblGastbok WHERE ID = " & Request.QueryString("id_nr")),,128
Connect.Close
Set Connect = nothing
%>
Posten är nu borttagen...
Men frågan är hur mycket han som skrev inlägget har lärt sig, igenom att skriva hela lösningen kommer han bara komma och fråga nästa gång också... Tycker man iaf får försöka själv, och sen kan man komma hit och fråga om kodspecifika fel eller lösningar, men inte få dom upp och ner.
[b]Utan recordset[/b]
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("db.mdb")
Connect.Execute("DELETE FROM tblGastbok WHERE ID = " & Request.QueryString("id_nr")),,128
Connect.Close
Set Connect = nothing
%>
Posten är nu borttagen...
Häftigt.. ska testa detta också.. yey lärt mej något nytt idag :)
Connect.Execute("DELETE FROM tblGastbok WHERE ID = " & Request.QueryString("id_nr")),,128
Om man gör på ovanstående sätt (utdrag ur Pace:s kod), så har iallafall jag den bestämda uppfattningen och erfarenheten av att sidan exekveras snabbare, ja.
Detta med tanke på att execute är mer effektiv än update-metoden samt att ,,128 används, som gör att inget tomt recordset skapas, som det annars gör.
Skillnaden är försumbar vid låg belastning. Att man ser till att den kod man använder är hyfsat optimerad på de flesta ställen kan vara skillnaden mellan liv och död på en välanvänd applikation.
Skriv bra kod, och du skall belönas. ;)
256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25