ASP调用SQL SERVER存储程序
程序员文章站
2023-11-29 18:04:34
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)
%>
出处 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)
%>
上一篇: 利用PHP动态生成VRML网页