ASP Calls SQLServer Storage Program
SUMBER http://www.bmj2000.com/vb/techniccolumn/subdetail.asp?mainid=2&boardId=asp&itemid=%CA%FD%BECDDD%BF%E2%B2%D9%F7&RECID=2216
Memanggil Database Prosedur Tersimpan
<%
SetDataConn = server.CreateObject ("adodb.connection")
'Buat objek koneksi
DataConn.open "dsn = sinotrans; server = app_server; uid = sa; pwd =; app = microsoft (r) develviderstudio; wsid = app_server; regional = ya"
SetCmdtemp = server.CreateObject ("adodb.command")
'Buat objek perintah
SetRST = server.CreateObject ("adodb.recordset")
'Buat Objek Set Rekam
cmdtemp.CommandText = "dbo.pd_test" '' nama prosedur yang disimpan
cmdtemp.CommandType = 4
'Kategori perintah adalah 4, dilambangkan sebagai prosedur tersimpan
SetCmdTemp.ActiveConnection = DataConn
Setmpparam = cmdtemp.createParameter ("returnValue", 3,4,4)
cmdtemp.parameters.appendtmpparam
Setmpparam = cmdtemp.createParameter ("@begindate", 135,1,16, riqi)
'Buat objek parameter input
cmdtemp.parameters.appendtmpparam
rst.opencmdtemp ,, 1,3
'Menghasilkan hasil kueri
%>
Prosedur tersimpan yang disebut di sini adalah PD_TEST, yang merupakan metode standar yang disediakan dalam ADO. Namun, ada masalah, yaitu, ketika ada lebih dari dua pernyataan terpilih dalam prosedur tersimpan, tetapi secara logis tidak mungkin untuk dieksekusi pada saat yang sama, ADO akan meminta Anda bahwa ada terlalu banyak pernyataan terpilih dalam prosedur tersimpan. Solusinya adalah dengan secara langsung menjalankan prosedur tersimpan menggunakan metode eksekusi objek koneksi ADO, sebagai berikut:
<%
SetDataConn = server.CreateObject ("adodb.connection")
'Buat objek koneksi
DataConn.open "dsn = sinotrans; server = app_server; uid = sa; pwd =; app = microsoft (r) develviderstudio; wsid = app_server; regional = ya"
ss = "executedbo.pd_test" & "'" & riqi1 & "'" ""
SetRs = DataConn.Execute (SS)
%>