يدعو ASP برنامج تخزين SQLServer
المصدر http://www.bmj2000.com/vb/techniccolumn/subdetail.asp؟mainid=2&board=asp&itemid=٪CA٪FD٪DD٪BF٪E2٪B2٪D9٪F7&Recid=2216
استدعاء إجراءات قاعدة البيانات المخزنة
<٪
setDataconn = server.createBject ("adodb.connection")
"إنشاء كائن اتصال
dataconn.open "dsn = sinotrans ؛ server = app_server ؛ uid = sa ؛ pwd = ؛ app = microsoft (r) developerStudio ؛ wsid = app_server ؛ regional = yes"
setCmdTemp = server.createBject ("adodb.command")
"إنشاء كائن أمر
setRST = server.createObject ("adodb.recordset")
"إنشاء كائن مجموعة سجلات
cmdtemp.commandtext = "dbo.pd_test" اسم الإجراء المخزن
cmdtemp.CommandType = 4
فئة الأوامر هي 4 ، يشار إليها كإجراء مخزن
setCmdTemp.ActivEconnection = dataconn
settMpparam = cmdtemp.createparameter ("ReturnValue" ، 3،4،4)
cmdtemp.parameters.appendtmpparam
SettMpparam = cmdtemp.createparameter ("@begindate" ، 135،1،16 ، RIQI)
'إنشاء كائن معلمة الإدخال
cmdtemp.parameters.appendtmpparam
rst.opencmdtemp ،، 1،3
إنشاء نتائج الاستعلام
٪>
الإجراء المخزن المسمى هنا هو pd_test ، وهي طريقة قياسية مقدمة في ADO. ومع ذلك ، هناك مشكلة ، أي عندما يكون هناك أكثر من بيانين مختارين في الإجراء المخزن ، ولكن من المستحيل تنفيذها منطقيًا في نفس الوقت ، فإن ADO سوف يطالبك بوجود الكثير من العبارات المحددة في الإجراء المخزن. يتمثل الحل في تنفيذ الإجراء المخزن مباشرة باستخدام طريقة التنفيذ لكائن اتصال ADO ، على النحو التالي:
<٪
setDataconn = server.createBject ("adodb.connection")
"إنشاء كائن اتصال
dataconn.open "dsn = sinotrans ؛ server = app_server ؛ uid = sa ؛ pwd = ؛ app = microsoft (r) developerStudio ؛ wsid = app_server ؛ regional = yes"
ss = "eventedbo.pd_test" و "" و riqi1 & "" "" "
setRs = dataconn.execute (ss)
٪>