Heute werden wir ein Message-Board-Programm mit Verwaltungsfunktionen schreiben. Die sogenannte Verwaltungsfunktion bedeutet eigentlich, dass sich vor jeder Nachricht ein Auswahlfeld befindet. Klicken Sie auf die zu löschende Nachricht oder klicken Sie auf „Alle Nachrichten löschen“, um den Stapellöschvorgang abzuschließen. Durch dieses Beispiel können wir ein vorläufiges Verständnis der grundlegenden Operationen der Datenbank in ASP erlangen.
1. Erstellen Sie eine Datenbank (ACCESS2000 chinesische Version)
myid Texttyp 20 Bytes Dies ist das einzige Zeichen der Sprache
myname Texttyp 10 Bytes Dies ist der Name der Person, die die Nachricht hinterlassen hat
nowtime Datums-/Uhrzeittyp Hier wird die Uhrzeit der Nachricht aufgezeichnet
mytitle-Texttyp 30 Bytes Dies ist der Titel der Nachricht
Mein Körper kommentiert den Nachrichteninhalt
Das Myid-Feld ist der Schlüssel, es ist das einzige Zeichen für die Löschung.
Code
des Verwaltungsprogramms
manage.asp
'Zuerst Variablen definieren
dim listrs,conn,cmd
„Die Anzahl der Zyklen von i kann entsprechend der tatsächlichen Anzahl der Nachrichten geändert werden.“
für i=1 bis 100
if request("delit"&i)<>empty then
'Die obige Anweisung ist der Schlüsselteil. Überprüfen Sie, ob die i-te Nachricht ausgewählt ist. Führen Sie den folgenden Löschvorgang aus.
Setze conn = Server.CreateObject("ADODB.Connection")
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("guestbook.mdb")&";"
„Die Funktion „mappath“ verwendet einen Parameter „guestbook.mdb“, der die zu verbindende Datenbank angibt. Achten Sie auf das Pfadproblem.
conn.Öffnen Sie sConnection
'Verbinden Sie die Datentabelle erneut
set cmd=Server.Createobject("ADODB.Command")
setze cmd.activeconnection=conn
cmd.commandtext="vom Gast löschen, wobei myid='"&request("delit"&i)&"'"
„Der Gast oben ist der Tabellenname der Datentabelle und myid ist der Feldname.“
cmd.execute
set conn=Nichts
set cmd=Nichts
'SQL-Anweisungen ausführen und Objekte freigeben
Ende wenn
nächste
'Geben Sie das Formular aus. Beachten Sie, dass das Aktionsattribut auf manage.asp verweist
Antwort.write ""
'Mit Datenbank verbinden
set conn=Server.CreateObject("ADODB.Connection")
set listrs=server.createobject("ADODB.Recordset")
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("guestbook.mdb")&";"
conn.Öffnen Sie sConnection
listrs.open "select * from Guest",conn,2,2
'Oben wird die Gasttabelle der Datenbank geöffnet
i=1
„Variable i beginnt zu zählen.“
während nicht listrs.eof
Response.write "From:"&listrs("myname")&"----"&listrs("mytitle")&"Time:"&listrs("nowtime")&"
"&listrs("mybody")&"
"
i=i+1
Die beiden oben genannten Schritte sind die wichtigsten Punkte bei der Ausgabe jeder Nachricht. Die Funktion dieses Kontrollkästchens besteht darin, unterschiedliche Werte zurückzugeben, wenn es aktiviert oder deaktiviert ist.
listrs.movenext
wenden
set listrs=Nothing
'Senden-Schaltfläche und Formular-Ende-Flag ausgeben
Response.write
3. Code-Analyse
Der Code ist nicht leicht zu verstehen, also lassen Sie mich erklären:
1. Wenn das Programm zum ersten Mal ausgeführt wird, gibt if request("delit"&i)<>empty dann immer einen falschen Wert zurück, da das Kontrollkästchen nicht aktiviert ist, und dann werden alle Meldungen ausgegeben.
2. Nachdem Sie die zu löschende Nachricht ausgewählt haben, klicken Sie auf die Schaltfläche „Löschen“ und führen Sie den Vorgang erneut aus.
3. Nachdem Sie alle ausgewählten Nachrichten gelöscht haben, geben Sie das Message Board aus.