Denken wir oft über einige Probleme nach, wenn wir ASP lernen, gespeicherte Verfahren aufzurufen? Wie kann man beispielsweise die Methode des Aufrufs gespeicherter Prozeduren bedienen? Was sind die Parameter, die an gespeicherte Prozeduren usw. übergehen. Der neue Technologiekanal des Fehlers führt Sie zum folgenden Artikel, um dieses Wissen zu erlernen. Ich hoffe, es wird für Ihr Lernen hilfreich sein!
1. Allgemeine Methoden zur Aufrufspeicherverfahren
Nehmen wir zunächst an, dass es auf dem SQL -Server eine gespeicherte Prozedur DT_USERS befindet:
Prozedur erstellen [DBO]. [DT_USERS]
ALS
Wählen Sie * von Benutzern aus
Zurückkehren
GEHEN
Die erste Methode besteht darin, das RecordSet -Objekt zu verwenden, ohne das Befehlsobjekt zu verwenden.
Setzen Sie rs = server.createObject ("adodb.recordset")
SQL = "Exec DT_USERS"
Rs.open SQL, Conn, 1,1
Die zweite Methode besteht darin, das Befehlsobjekt zu verwenden
Setzen Sie comm = server.createObject ("adodb.command")
Comm.Commantype = 4
setze comm.activeConnection = conn
comm.commandtext = "dbo.dt_users"
Setzen Sie rs = server.createObject ("adodb.recordset")
Rs.open Comm ,, 1,1
2. Übergeben Sie Parameter an gespeicherte Prozeduren
Wenn es keine Parameter im gespeicherten Prozedur gibt, sondern eine einzige SQL -Anweisung, können die Vorteile der aufgerufenen gespeicherten Prozeduren nicht angezeigt werden!
Zum Beispiel kann eine BBS -Abfrage vom Autor und des Themas abgefragt werden! Dann kann das gespeicherte Verfahren wie folgt festgelegt werden:
Das Parameterschlüsselwort ist das Schlüsselwort und wählen Sie die Methode zur Auswahl der Abfrage.
Prozedur erstellen [dbo]. [Dt_bbs]
@Keyword varchar (20) = null,
@choose int = null
als
Wenn @wählen Sie = 1
Wählen Sie * aus BBS, wobei der Name @Keyword wie @Keyword
anders
Wählen Sie * aus BBS, wobei ein Betreff @Keyword wie @Keyword
Zurückkehren
gehen
Auf diese Weise müssen wir, wenn wir gespeicherte Prozeduren anrufen, nur die Parameter übergeben und ein Programm in ASP auslassen
Verwenden Sie die erste Methode:
Setzen Sie rs = server.createObject ("adodb.recordset")
SQL = "Exec DT_BBS '" & Keyword & "'," & wählen & "" "
Rs.open SQL, Conn, 1,1
Verwenden Sie die zweite Methode:
Setzen Sie comm = server.createObject ("adodb.command")
Comm.Commantype = 4
comm.parameters.Append Comm.CreateParameter ("@keyword", adchar, adparaminput, 50, Schlüsselwort)
comm.parameters.Append Comm.CreateParameter ("@keyword", Adinteger, adparaminput ,, wählen)
setze comm.activeConnection = conn
comm.commandtext = "dbo.dt_bbs"
Setzen Sie rs = server.createObject ("adodb.recordset")
rs.cursortype = 3
Rs.open Comm ,, 1,1
3. Weitere Diskussion
Vergleich der beiden oben erwähnten Methoden, um gespeicherte Verfahren in ASP aufzurufen,
Die erste Methode erfordert weniger Objekte, aber das Recordset -Objekt unterstützt viel weniger Eigenschaften, wie z.
Keiner von ihnen unterstützt es, daher gibt es Einschränkungen bei der Verwendung der ersten Methode. Wenn Sie beispielsweise Datensätze auf Seiten anzeigen möchten, müssen Sie die zweite Methode verwenden.
Der Zweck der Verwendung gespeicherter Prozeduren auf dem SQL -Server besteht darin, zu beschleunigen. Wenn jedoch viele SQL -Anweisungen in einer gespeicherten Prozedur vorhanden sind, sind die Vorteile besonders offensichtlich. Wenn es nicht viele SQL -Anweisungen gibt,
Wenn wir die zweite Methode verwenden, müssen wir ein zusätzliches Befehlsobjekt erstellen, das sich verlangsamen kann! Daher müssen wir die Interessen aller Aspekte in Einklang bringen, um gespeicherte Verfahren zu verwenden.
Ich denke jedoch, dass die Geschwindigkeit so gut ist. Durch die Verwendung gespeicherter Prozeduren kann das Programm modularer, einfach zu ändern und debuggen zu werden (Sie können den SQL -Server direkt debuggen, ohne die Ergebnisse von ASP unter IE zu betrachten).
Die oben genannte ist eine Einführung in die gespeicherten Verfahren für ASP -Anrufe. Ich hoffe, es wird für Sie hilfreich sein, dieses Wissen zu erlernen. Ich hoffe auch, dass jeder weiterhin den falschen neuen Technologiekanal unterstützen wird!