Empfohlen: Verwenden Sie ASP, um das Online -Prüfungssystem zu implementieren Mit der Entwicklung der Internet-Technologie wird der Online-Lehre zur Hauptform der Umbauung der Menschen und der lebenslangen Bildung. In Online -Schulen können Menschen überall und überall, überall, überall, ohne nach Zeit und Raum eingeschränkt zu werden. Die Entwicklung von Online -Schulen schlägt die Entwicklung von Online -Prüfungen vor
5. RückgabewertDie Verarbeitung von Funktionsrückgabewerten unterscheidet sich von der Verarbeitung gespeicherter Verfahren, was häufig zu Verwirrung führt. In Funktionen wird häufig ein boolescher Wert zurückgegeben, um anzuzeigen, ob die Funktion erfolgreich ausgeführt wird oder nicht.
Wenn ein bisschen Funktionname () = true dann
'Funktion erfolgreich
Beim Aufrufen einer gespeicherten Prozedur kann dieselbe Methode jedoch nicht verwendet werden, da der Speicher mit der Ausführungsmethode ausgeführt wird und einen Datensatzsatz zurückgibt.
Setzen Sie rsauthors = cmdauthors.execute
Wenn Sie keinen Rückgabewert erhalten, wie können Sie feststellen, ob die gespeicherte Prozedur korrekt ausgeführt wurde? Wenn ein Fehler auftritt, wird ein Fehler gemeldet, damit der im vorherige Kapitel bereitgestellte Fehlerbehandlungscode zum Umgang mit dem Fehler verwendet werden kann. Aber was tun mit einigen nicht tödlichen logischen Fehlern?
Erwägen Sie beispielsweise einen neuen Mitarbeiter zur Mitarbeitertabelle hinzu. Möglicherweise möchten Sie zwei Mitarbeiter nicht daran hindern, denselben Namen zu haben, aber Sie möchten diese Situation angeben. Anschließend kann ein Rückgabewert verwendet werden, um anzugeben, ob ein Angestellter mit demselben Namen bereits vorhanden ist. Das gespeicherte Verfahren ist wie folgt:
Erstellen Sie die Prozedur USP_ADDEMPLET
@Emp_id char (9),
@Fname varchar (20),
@Minit char (1),
@Lname varchar (30),
@Job_id smallint,
@Job_lvl Tinyint,
@Pub_id char (4),
@Hire_date datetime
ALS
BEGINNEN
Deklarieren @Exists int - Rückgabewert
- Sehen Sie, ob ein Mitarbeiter mit demselben Namen existiert
Wenn existiert (auswählen *
Vom Mitarbeiter
Wo fname = @fname
Und minit = @minit
Und lname = @lname)
Wählen Sie @Exists = 1
ANDERS
Wählen Sie @Exists = 0
In die Mitarbeiter einfügen (emp_id, fname, minit, lname,
job_id, job_lvl, pub_id, Hire_date)
Werte (@emp_id, @fname, @minit, @lname, @job_id,
@Job_lvl, @pub_id, @hire_date)
Kehren @exists zurück
ENDE
Der Prozess prüft zunächst, ob Mitarbeiter mit demselben Namen vorhanden sind, und legt die entsprechende Variable fest. Wenn der gleiche Name vorhanden ist, wird es auf 1 gesetzt, andernfalls ist es 0. Dann fügen Sie das Personal zur Tabelle hinzu und geben den Wert von existieren als Rückgabewert zurück.
Beachten Sie, dass zwar ein Wert zurückgegeben wird, er jedoch nicht als Parameter für die gespeicherte Prozedur deklariert wird.
Der ASP -Code, der diese Prozedur aufruft, lautet wie folgt:
<!-#include Datei = ../include/Connection.asp->
<%
Dim CMDOPhor
Dunkle lngrecs
Dumm lngaded
Setzen
'Setzen Sie die Eigenschaften des Befehls
Mit CMDPer
.ACTIVECONNECTION = strconn
.CommandText = usp_addEmpause
.CommandType = adcmdStoredProc
'Erstellen Sie die Parameter
Beachten Sie, dass der Rückgabewert der erste Parameter ist
.Parameters.Append .CreateParameter (return_value, Adinteger, _
adparamreturnValue)
.Parameters.Append .CreateParameter (@emp_id, adchar, adparaminput, 9)
.Parameters.Append .CreateParameter (@fname, Advarwchar, Adparaminput, 20)
.Parameters.Append .CreateParameter (@minit, adchar, adparaminput, 1)
.Parameters.Append .CreateParameter (@lname, Advarwchar, Adparaminput, 30)
.Parameters.Append .CreateParameter (@job_id, adsmallint, adparaminput)
.Parameters.Append .CreateParameter (@job_lvl, adunsignedTinyint, adparaminput)
.Parameters.Append .CreateParameter (@pub_id, adchar, adparaminput, 4)
.Parameters.Append .CreateParameter (@hire_date, addbtimestamp, _
Adparaminput, 8)
'Setzen Sie die Parameterwerte
.Parameters (@emp_id) = request.form (txtempid)
.Parameters (@fname) = request.form (txtfirstname)
.Parameters (@minit) = request.form (txtinitial)
.Parameters (@lname) = request.form (txtlastName)
.Parameters (@job_id) = request.form (lstjobs)
.Parameters (@job_lvl) = request.form (txtjoblevel)
.Parameters (@pub_id) = request.form (lstpublisher)
.Parameters (@hire_date) = request.form (tXthiredate)
'Führen Sie das gespeicherte Verfahren aus
.Exezierte lngrecs, ateExecutenorecords
'Extrahieren Sie den Rückgabewert
lngadded = .Parameters (return_value)
Enden mit
Response.write New Mitarbeiter hinzugefügt. <p>
Wenn lngaded = 1 dann
Antwort. Schreiben Sie einen Mitarbeiter mit demselben Namen bereits.
Ende wenn
Setzen Sie CMDOPPLET = nichts
%>
Es ist zu beachten, dass der Rückgabewert als erster Parameter im Satz erstellt werden sollte. Auch wenn der Rückgabewert in der gespeicherten Prozedur nicht als Parameter angezeigt wird, ist er immer die ersten Parameter in der Parametersammlung.
Aktien: ASP 3.0 Advanced Programing (sechsunddreißig) Kapitel 8 Grundlagen von ADO In den ersten 7 Kapiteln dieses Buches wurden bereits über den Inhalt von ASP gesprochen und wie ASP dynamische Inhalte auf die Website bringt. Es wurde festgestellt, dass sein Skriptprogramm benutzerdefinierte Webseiten ermöglicht, sodass wir leistungsfähigere ASP -Seiten erstellen können. Jetzt wird ASP untersucht