服务器之家

服务器之家 > 正文

ASP调用SQL SERVER存储程序

时间:2019-10-18 11:16     来源/作者:asp代码网

调用数据库存储过程

  1. <%  
  2.     Set Dataconn = Server.CreateObject("ADODB.Connection")   
  3.     '建立连接对象  
  4.     Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft(R) Developer Studio;WSID=APP_SERVER;Regional=Yes"  
  5.     Set cmdTemp = Server.CreateObject("ADODB.Command")  
  6.     '建立命令对象  
  7.     Set rst = Server.CreateObject("ADODB.Recordset")   
  8.     '建立记录集对象  
  9.     cmdTemp.CommandText = "dbo.pd_test" '存储过程名称  
  10.     cmdTemp.CommandType = 4   
  11.     '命令类别为4,表示为存储过程  
  12.     Set cmdTemp.ActiveConnection = Dataconn  
  13.     Set tmpParam = cmdTemp.CreateParameter("Return Value", 3, 4, 4)  
  14.     cmdTemp.Parameters.Append tmpParam  
  15.     Set tmpParam = cmdTemp.CreateParameter("@BeginDate", 135, 1, 16, riqi)   
  16.     '创建输入参数对象  
  17.     cmdTemp.Parameters.Append tmpParam  
  18.     rst.Open cmdTemp, , 1, 3      
  19.     '生成查询结果  
  20. %>  

这里调用的存储过程为pd_test,这种是ADO中提供的标准方法,但存在一个问题,就是当在存储过程中有两个以上的SELECT语句,但从逻辑上又不可能同时执行的时候,ADO会提示你存储过程中SELECT语句太多,解决方法是直接用ADO的CONNECTION对象的EXECUTE方法直接执行存储过程,如下:

  1. <% 
  2.  
  3. SetDataconn=Server.CreateObject("ADODB.Connection"
  4.  
  5. '建立连接对象 
  6.  
  7. Dataconn.Open"DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;APP=Microsoft(R)DeveloperStudio;WSID=APP_SERVER;Regional=Yes" 
  8.  
  9. ss="EXECUTEdbo.pd_test"&"'"&riqi1&"'" 
  10.  
  11. Setrs=dataconn.Execute(ss) 
  12.  
  13. %> 

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部