Es gibt viele Artikel zu ASP und gespeicherten Verfahren, aber ich bezweifle, dass die Autoren es tatsächlich geübt haben. Ich habe viele relevante Informationen gelesen, als ich am Anfang war, und stellte fest, dass viele der bereitgestellten Methoden in der Praxis nicht der Fall waren. Bei einfachen Anwendungen können diese Materialien hilfreich sein, aber nur, weil sie einfach gleich sind und sich gegenseitig plagiieren, und etwas komplexere Anwendungen sind vage.
Jetzt greife ich im Grunde genommen auf SQLServer zu, indem ich gespeicherte Prozeduren aufruft. Der folgende Text ist eine Zusammenfassung der Praxis, und ich hoffe, dass es für alle hilfreich sein wird.
Eine gespeicherte Prozedur ist eine oder mehrere SQL -Befehle, die in der Datenbank als ausführbare Objekte gespeichert sind.
Definition ist immer abstrakt. Speichernde Prozeduren sind tatsächlich eine Reihe von SQL -Anweisungen, die bestimmte Vorgänge ausführen können. Diese Reihe von Anweisungen wird jedoch in der Datenbank platziert (wir werden hier nur über SQLServer sprechen). Wenn wir gespeicherte Prozeduren erstellen und gespeicherte Prozeduren in ASP aufrufen, können wir vermeiden, SQL -Anweisungen mit ASP -Code zu mischen. Es gibt mindestens drei Vorteile, dies zu tun:
Erstens verbessern Sie die Effizienz erheblich. Die gespeicherte Prozedur selbst ist sehr schnell, und das aufgereichere Verfahren kann die Anzahl der Interaktionen mit der Datenbank erheblich verringern.
Zweitens verbessern Sie die Sicherheit. Wenn SQL -Anweisungen im ASP -Code gemischt werden, bedeutet dies, dass die Bibliotheksstruktur verloren geht.
Drittens ist es der Wiederverwendung von SQL -Aussagen förderlich.
In ASP werden gespeicherte Prozeduren allgemein über Befehlsobjekte aufgerufen. Nach verschiedenen Situationen führt dieser Artikel auch andere Anrufmethoden ein. Aus Gründen der Erläuterung erfolgt die folgende einfache Klassifizierung basierend auf der Eingabe und Ausgabe des gespeicherten Prozedur:
1. Rückgabeverfahren für einen einzelnen Datensatzsatz nur zurückgegeben
Angenommen, es gibt die folgende gespeicherte Prozedur (der Zweck dieses Artikels besteht darin, die T-SQL-Syntax nicht zu beschreiben, daher gibt die gespeicherte Prozedur nur Code an und erklärt nicht):
/*Sp1*/
Die Codekopie lautet wie folgt:
CreateReProceduredBo.getUserList
als
setNocounton
Beginnen
Wählen Sie*Fromdbo. [UserInfo]
Ende
gehen
Die oben gespeicherte Prozedur erhält alle Datensätze in der Tabelle userInfo und gibt einen Datensatzsatz zurück. Der ASP -Code zum Aufrufen der gespeicherten Prozedur über das Befehlsobjekt lautet wie folgt:
'** Aufrufe Prozedur über das Befehlsobjekt **
Dimmycomm, Myrst
SetMycomm = server.createObject ("adodb.command")
Mycomm.activeConnection = myconstr'myconstr ist die Datenbankverbindungszeichenfolge
Mycomm.commandtext = "getUserList" 'Geben Sie den gespeicherten Prozedurnamen an
MyComm.CommandType = 4 'zeigt an, dass dies ein gespeicherter Verfahren ist
Mycomm.preparared = true 'erfordert, dass SQL -Befehle zuerst zusammengestellt werden können
SetMyrst = mycomm.execute
SetMycomm = nichts
Der durch die gespeicherte Prozedur erhaltene Datensatzsatz wird Myrst zugeordnet. Als nächstes kann Myrst betrieben werden.
Im obigen Code gibt die Befehlstyp -Eigenschaft den Typ der Anforderung an. Der Wert und die Beschreibung sind wie folgt: