ASP ruft ein SQLServer -Speicherprogramm auf
Quelle http://www.bmj2000.com/vb/techniccolumn/subdetail.asp?mainid=2&boardid=asp&itemid=%ca%fd%dd%bf%e2%b2%d9%d7%f7&recid=2216
Aufrufen von Datenbank -gespeicherten Prozeduren
<%
SetDataconn = server.createObject ("adodb.Connection")
'Erstellen Sie ein Verbindungsobjekt
DataConn.open "dsn = sinotrans; server = app_server; uid = sa; pwd =; app = microsoft (r) affingStudio; wsid = app_server; regional = yes"
SetCmdtemp = server.createObject ("adodb.command"))
'Erstellen Sie ein Befehlsobjekt
SetRst = server.createObject ("adodb.recordset")
'Erstellen Sie ein Rekord -Set -Objekt
cmdtemp.commandtext = "dbo.pd_test" 'gespeicherter Prozedurname
cmdtemp.commandType = 4
Die Befehlskategorie ist 4, bezeichnet als gespeicherte Prozedur
SetCmdtemp.ActiveConnection = DataConn
Settmpparam = cmdtemp.createParameter ("returnValue", 3,4,4)
cmdtemp.parameters.appendtmpparam
Settmpparam = cmdtemp.createParameter ("@Begindate", 135,1,16, Riqi)
'Erstellen Sie ein Eingabeparameterobjekt
cmdtemp.parameters.appendtmpparam
rst.opencmdtemp ,, 1,3
'Erzeugen Sie Abfragenergebnisse
%>
Die hier genannte gespeicherte Prozedur ist pd_test, eine in ADO bereitgestellte Standardmethode. Es gibt jedoch ein Problem, das heißt, wenn mehr als zwei ausgewählte Aussagen in der gespeicherten Prozedur vorhanden sind, aber es ist logisch unmöglich, gleichzeitig auszuführen. ADO fordert Sie auf, dass zu viele ausgewählte Aussagen in der gespeicherten Prozedur vorhanden sind. Die Lösung besteht darin, die gespeicherte Prozedur direkt mithilfe der Ausführungsmethode des Verbindungsobjekts von ADO wie folgt auszuführen:
<%
SetDataconn = server.createObject ("adodb.Connection")
'Erstellen Sie ein Verbindungsobjekt
DataConn.open "dsn = sinotrans; server = app_server; uid = sa; pwd =; app = microsoft (r) affingStudio; wsid = app_server; regional = yes"
ss = "executedbo.pd_test" & "'" & riqi1 & "'" ""
Setrs = dataconn.execute (SS)
%>