asp调用存储过程

1.

<%

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)

%>

 

2.

<!-- #include file="../PUBLIC/database.asp" -->

<%'=====在ASP脚本中调用数据库存储过程=============================================

openDB '====打开数据库连接====

Set Comm=server.CreateObject("ADODB.Command")

Set Comm.ActiveConnection=objconn 

Comm.CommandType=adCmdStoredProc '==调用类型未存储过程==

Comm.CommandText="RegisterUser"  '===存储过程名称======%>

 

<% '=======创建存储过程返回参数对象====

'Set RetCode=Comm.CreateParameter("RetCode",adInteger,adParamReturnValue,4)

 %> 

 

<% '=======创建存储过程输入参数对象====

Comm.Parameters.Append Comm.CreateParameter("@usrname",200,1,100,txt_qyname)

Comm.Parameters.Append Comm.CreateParameter("@usrcode",200,1,50,txt_qycode)

%>

 

 

<%

 set rs3= Comm.Execute  '====创建记录集对象======

 ReValue=rs3("ReValue")

 Qy_id=rs3("Qy_id")

 Qy_pwd=rs3("Qy_pwd")

%>

<%'====根据数据库存储过程返回代码判断注册是否成功==== %>

<% if ReValue< 0 then %> 

<%   response.Write("<center>注册失败,可能是系统太忙或网络故障,请重新注册!<a href=javascript:history.go(-1)>返回</a></center>") %>

<%else %>

<% response.Write("<center>恭喜您,企业注册成功!<br/></center>")

   response.write("<center>您的用户名为:"&Qy_id&"<br/></center>")

   response.write("<center>您的密码为:"&Qy_pwd&"<br/></center>")

   response.write("<center>为了方便和安全,请登录系统后更改您的用户名和密码并且牢记他们!<a href=qy_login.htm>登录系统</a><br/></center>")  

  end if

 %>

<%  '=========释放资源===========

  closeDB

  set rs3=nothing

  set Comm.ActiveConnection=nothing

  set Comm=nothing

'=====================================存储过程调用结束=========================== %>

 

 

3.<%@ Language=VBScript %>
<%

'---开始链接数据库
Dim strConnString
strConnString = "driver={SQL Server};server=songhp;uid=sa;pwd=;database=XVZDemo"
set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open strConnstring
'---结束链接数据库

'---开始为输入参数赋值
Dim SelectSql , SelectRs
Dim SelectID , SelectName , SelectReturn
SelectSql = "Select Max(CompanyID) From Dim_Company"
Set SelectRs = Conn.Execute(SelectSql)
SelectID = SelectRs(0)
'---结束为输入参数赋值

Dim TiggerType
TiggerType = 3

Set Cmd = Server.CreateObject("ADODB.Command")
Set Cmd.ActiveConnection = Conn
Cmd.CommandType = 4   '---声明此过程为存储过程

If TiggerType = 1 then
 
 '---开始一个输入参数的存储过程调用
 Cmd.CommandText = "TransCompany1"
 
 Set CmdParam = Cmd.CreateParameter("@TransID",3,1)
 Cmd.Parameters.Append CmdParam
 Cmd("@TransID") = SelectID
 Cmd.Execute
 '---结束一个输入参数的存储过程调用
 
Elseif TiggerType = 2 then

 '---开始一个输入参数,一个输出参数的存储过程调用
 Cmd.CommandText = "TransCompany2"
 
 Set CmdParamID = Cmd.CreateParameter("@TransID",3,1)
 Cmd.Parameters.Append CmdParamID
 Cmd("@TransID") = SelectID
 Set CmdParamName = Cmd.CreateParameter("@TransName",202,2,50)
 Cmd.Parameters.Append CmdParamName
 Cmd.Execute
 SelectName = Cmd("@TransName")
 '---结束一个输入参数,一个输出参数的存储过程调用

Elseif TiggerType = 3 then

 '---开始一个输入参数,一个输出参数,一个返回值的存储过程调用
 Cmd.CommandText = "TransCompany3"
 Set CmdParamReturn = Cmd.CreateParameter("Return_Value",3,4)
 Cmd.Parameters.Append CmdParamReturn
 Set CmdParamID = Cmd.CreateParameter("@TransID",3,1)
 Cmd.Parameters.Append CmdParamID
 Cmd("@TransID") = SelectID
 Set CmdParamName = Cmd.CreateParameter("@TransName",202,2,50)
 Cmd.Parameters.Append CmdParamName
 
 Cmd.Execute
 SelectName = Cmd("@TransName")
 SelectReturn = Cmd("Return_Value")
 '---结束一个输入参数,一个输出参数,一个返回值的存储过程调用

End if

Conn.Close
Set Conn = Nothing
Set Cmd = Nothing
Set CmdParamID = Nothing
Set CmdParamname = Nothing
Set CmdParamReturn = Nothing

%>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值