Empfohlen: Implementierung der ASP -Stapel -Dateneingabe Der Batch -Eintrag wird in Datenbanken häufig verwendet, und es gibt viele Methoden für den Stapeleintrag. Als nächstes werde ich darüber sprechen, wie ich es basierend auf meiner tatsächlichen Anwendung erreicht habe. Die Hauptverwendung ist das Konzept der Formsammlung, das alle Daten in der Sammlung durch Schleife nimmt. In Anbetracht der Tatsache, dass es für alle bequem zu sehen ist, habe ich es in eine Seite integriert. Unten finden Sie den spezifischen Code
Verschiedene Möglichkeiten, gespeicherte Prozeduren mit Parametern aufzurufen
1 Dies ist auch die einfachste Methode mit zwei Eingabeparametern, ohne Rückgabewert:
set Connection = Server.createObject (adodb.Connection)
connection.open Somedsn
Connection.execute Procname VarValue1, varValue2
'Alle Objekte in nichts löschen, Ressourcen frei machen
Verbindung.CLOSE
Setzen Sie die Verbindung = Nichts
2 Wenn Sie den Recordset -Satz zurückgeben möchten:
set Connection = Server.createObject (adodb.Connection)
connection.open Somedsn
Setzen Sie rs = server.createObject (adodb.Recordset)
Rs.open Exec Procname VarValue1, VarValue2, Verbindung
'Alle Objekte in nichts löschen, Ressourcen frei machen
rs.close
Verbindung.CLOSE
Setzen Sie Rs = nichts
Setzen Sie die Verbindung = Nichts
3 Die beiden oben genannten Methoden können keinen Rückgabewert haben (außer Datensatz). Wenn Sie den Rückgabewert erhalten möchten, müssen Sie die Befehlsmethode verwenden.
Zunächst gibt es zwei Arten von Rückgabewerten. Einer besteht darin, einen Wert in der gespeicherten Prozedur direkt zurückzugeben, genau wie die Funktionen von C- und VB -Rückgabewerten. Die andere ist, mehrere Werte zurückzugeben,
Die Variablennamen, die diese Werte speichern, müssen zuerst im Anrufparameter angegeben werden.
In diesem Beispiel handelt es sich um mehrere Parameter, Eingabeparameter, Ausgabeparameter, Rückgabeaufzeichnungen und einen direkten Rückgabewert (ist alles genug?)
Das gespeicherte Verfahren ist wie folgt:
Pubs verwenden
GEHEN
- Erstellen Sie gespeicherte Verfahren
Erstellen Sie die Prozedur SP_PUBSTEST
- Definieren Sie drei Parametervariablen, beachten Sie die dritte, die spezielle Marke für die Ausgabe wird verwendet
@au_lname varchar (20),
@intid int,
@Intidout int Ausgabe
ALS
Wählen Sie @Intidout = @Intid 1
WÄHLEN *
Von Autoren
Wo au_lname wie @au_lname '%' wie @au_lname '
-Einen Wert direkt zurückgeben
Return @intid 2
Das ASP -Programm, das die gespeicherte Prozedur aufruft, lautet wie folgt:
< %@ Sprache = vbScript %>
<%
Dimes CMDSP
Dunkelne Abors
Dim ADCMDSPRORDPROC
Dimer adparamreturnValue
Dimer Adparaminput
Dimer adparamoutput
Dimer Adinteger
Dimer Ival
Dim Oval
Dimes Adofield
Dimer Advarchar
'Diese Werte sind vordefinierte Konstanten in VB und können direkt aufgerufen werden, aber in VBSScript nicht vordefiniert werden
ADCMDSPRORDPROC = 4
adparamReturnValue = 4
adparaminput = 1
adparamoutput = 2
Adinteger = 3
Advarchar = 200
Ival = 5
oval = 3
'Erstellen Sie ein Befehlsobjekt
Setzen Sie cmdsp = server.createObject (adodb.command)
'Erstellen Sie einen Link
Cmdsp.ActiveConnection = Driver = {SQL Server}; Server = (lokal); uid = sa; pwd =; Datenbank = Pubs
'Definieren Sie den Befehlsobjekt -Anrufnamen
Cmdsp.commandtext = sp_pubstest
'Befehlsanruftyp als gespeicherte Prozedur festlegen (ADCMDSPROREDPROC = 4)
CMDSP.CommandType = ADCMDSPRORDPROC
'Fügen Sie dem Befehlsobjekt Parameter hinzu
'Definieren Sie die gespeicherte Prozedur hat einen direkten Rückgabewert und ist eine Ganzzahl, der Standardwert beträgt 4
CMDSP.Parameters.Append CMDSP.CreateParameter (return_value, Adinteger, adparamreturnValue, 4)
'Definieren Sie einen Zeicheneingangsparameter
CMDSP.PARAMETERS.Append CMDSP.CreateParameter (@au_lname, Advarchar, Adparaminput, 20, m)
'Definieren Sie einen Ganzzahleingangsparameter
CMDSP.Parameters.Append CMDSP.CreateParameter (@Intid, Adinteger, Adparaminput, Ival)
'Definieren Sie einen Ganzzahlausgangsparameter
CMDSP.Parameters.Append CMDSP.CreateParameter (@Intidout, Adinteger, Adparamoutput, Oval)
'Führen Sie die gespeicherte Prozedur aus und erhalten Sie den Return Record Set
Setzen Sie adors = cmdsp.execute
„Drucken Sie jede Datensätze aus, die Felder, die virtuell sind
Während nicht adors.eof
für jedes adofield in adors.fields
Response.write adofield.name & = & adofield.value & <br> & vbcrlf
Nächste
Response.write <br>
adors.Movenext
Wend
'Drucken Sie zwei Ausgabewerte:
Response.write <p> @Intidout = & cmdsp.parameters (@Intidout) .Value & </p>
Antwort.Write <P> return value = & cmdsp.Parameters (return_value) .Value & </p>
'Große Reinigung
Adors einstellen = nichts
Setzen Sie cmdsp.ActiveConnection = nichts
Setzen Sie CMDSP = nichts
%>
Es gibt andere Möglichkeiten, die ein bisschen abgeschöpft sind, und ich werde später darüber sprechen
In diesem Artikel wurde auf viele Artikel verwiesen und wird hier nicht aufgeführt.
Anteil: Mehrere wiederholte Einreichungen von eingeschränkten Formen in ASP Im Internet begegnen wir jeden Tag auf unzählige Formulare, und wir sehen auch, dass die meisten von ihnen Benutzer nicht mehrmals das gleiche Formular einreichen. Das Fehlen solcher Einschränkungen kann manchmal einige unerwartete Ergebnisse erzielen, z. B. das doppelte Abonnement für E -Mail -Dienste oder doppelte Abstimmung. In diesem Artikel wird eine einfache Methode in ASP -Anwendungen vorgestellt, mit denen Benutzer während der aktuellen Sitzung mehrmals das gleiche Formular einreichen