ASP調(diào)用SQL SERVER存儲程序
更新時間:2007年03月12日 00:00:00 作者:
ASP調(diào)用SQL SERVER存儲程序
出處 http://www.bmj2000.com/vb/techniccolumn/subDetail.asp?MainId=2&BoardId=asp&ItemId=%CA%FD%BE%DD%BF%E2%B2%D9%D7%F7&RecId=2216
調(diào)用數(shù)據(jù)庫存儲過程
<%
Set Dataconn = Server.CreateObject("ADODB.Connection")
'建立連接對象
Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft(R) Developer Studio;WSID=APP_SERVER;Regional=Yes"
Set cmdTemp = Server.CreateObject("ADODB.Command")
'建立命令對象
Set rst = Server.CreateObject("ADODB.Recordset")
'建立記錄集對象
cmdTemp.CommandText = "dbo.pd_test" '存儲過程名稱
cmdTemp.CommandType = 4
'命令類別為4,表示為存儲過程
Set cmdTemp.ActiveConnection = Dataconn
Set tmpParam = cmdTemp.CreateParameter("Return Value", 3, 4, 4)
cmdTemp.Parameters.Append tmpParam
Set tmpParam = cmdTemp.CreateParameter("@BeginDate", 135, 1, 16, riqi)
'創(chuàng)建輸入?yún)?shù)對象
cmdTemp.Parameters.Append tmpParam
rst.Open cmdTemp, , 1, 3
'生成查詢結(jié)果
%>
這里調(diào)用的存儲過程為pd_test,這種是ADO中提供的標(biāo)準(zhǔn)方法,但存在一個問題,就是當(dāng)在存儲過程中有兩個以上的SELECT語句,但從邏輯上又不可能同時執(zhí)行的時候,ADO會提示你存儲過程中SELECT語句太多,解決方法是直接用ADO的CONNECTION對象的EXECUTE方法直接執(zhí)行存儲過程,如下:
<%
Set Dataconn = Server.CreateObject("ADODB.Connection")
'建立連接對象
Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft(R) Developer Studio;WSID=APP_SERVER;Regional=Yes"
ss = "EXECUTE dbo.pd_test " & "'" & riqi1 & "'"
Set rs = dataconn.Execute(ss)
%>
出處 http://www.bmj2000.com/vb/techniccolumn/subDetail.asp?MainId=2&BoardId=asp&ItemId=%CA%FD%BE%DD%BF%E2%B2%D9%D7%F7&RecId=2216
調(diào)用數(shù)據(jù)庫存儲過程
<%
Set Dataconn = Server.CreateObject("ADODB.Connection")
'建立連接對象
Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft(R) Developer Studio;WSID=APP_SERVER;Regional=Yes"
Set cmdTemp = Server.CreateObject("ADODB.Command")
'建立命令對象
Set rst = Server.CreateObject("ADODB.Recordset")
'建立記錄集對象
cmdTemp.CommandText = "dbo.pd_test" '存儲過程名稱
cmdTemp.CommandType = 4
'命令類別為4,表示為存儲過程
Set cmdTemp.ActiveConnection = Dataconn
Set tmpParam = cmdTemp.CreateParameter("Return Value", 3, 4, 4)
cmdTemp.Parameters.Append tmpParam
Set tmpParam = cmdTemp.CreateParameter("@BeginDate", 135, 1, 16, riqi)
'創(chuàng)建輸入?yún)?shù)對象
cmdTemp.Parameters.Append tmpParam
rst.Open cmdTemp, , 1, 3
'生成查詢結(jié)果
%>
這里調(diào)用的存儲過程為pd_test,這種是ADO中提供的標(biāo)準(zhǔn)方法,但存在一個問題,就是當(dāng)在存儲過程中有兩個以上的SELECT語句,但從邏輯上又不可能同時執(zhí)行的時候,ADO會提示你存儲過程中SELECT語句太多,解決方法是直接用ADO的CONNECTION對象的EXECUTE方法直接執(zhí)行存儲過程,如下:
<%
Set Dataconn = Server.CreateObject("ADODB.Connection")
'建立連接對象
Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft(R) Developer Studio;WSID=APP_SERVER;Regional=Yes"
ss = "EXECUTE dbo.pd_test " & "'" & riqi1 & "'"
Set rs = dataconn.Execute(ss)
%>