欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP调用SQL SERVER存储程序

程序员文章站 2023-10-20 12:57:52
asp调用sql server存储程序  出处   http://www.bmj2000.com/vb/technicco...
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)
%>