ASP调用SQL SERVER存储程序
            网络编程 发布日期:2025/10/31 浏览次数:1
         
        
            正在浏览:ASP调用SQL SERVER存储程序
            ASP调用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  
调用数据库存储过程 
<% 
    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)  
    '创建输入参数对象 
    cmdTemp.Parameters.Append tmpParam 
    rst.Open cmdTemp, , 1, 3     
    '生成查询结果 
%> 
这里调用的存储过程为pd_test,这种是ADO中提供的标准方法,但存在一个问题,就是当在存储过程中有两个以上的SELECT语句,但从逻辑上又不可能同时执行的时候,ADO会提示你存储过程中SELECT语句太多,解决方法是直接用ADO的CONNECTION对象的EXECUTE方法直接执行存储过程,如下: 
<% 
    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) 
%>