易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP调用带参数存储过程的几种方式

  最近有很多的朋友问到调用存储过程的问题,这里简单介绍几种ASP调用带参数存储过程的方法。
  1. 这也是最简单的方法,两个输入参数,无返回值:
  set connection = server.createobject("adodb.connection")
  connection.open someDSN
  Connection.Execute "procname varvalue1, varvalue2"
  '将所有对象清为nothing,释放资源
  connection.close
  set connection = nothing
  
  2. 如果要返回 Recordset 集:
  set connection = server.createobject("adodb.connection")
  connection.open someDSN
  set rs = server.createobject("adodb.recordset")
  rs.Open "Exec procname varvalue1, varvalue2",connection
  '将所有对象清为nothing,释放资源
  rs.close
  connection.close
  set rs = nothing
  set connection = nothing
  
  3. 以上两种方法都不能有返回值,(Recordset除外),如果要得到返回值,需要用Command的方法。
  首先说明,返回值有两种。一种是在存储过程中直接return一个值,就象C和VB的函数返回值那样;另一种是可以返回多个值,存
  储这些值的变量名称需要在调用参数中先行指定。
  这个例子要处理多种参数,输入参数,输出参数,返回记录集以及一个直接返回值(够全了吧?)
  存储过程如下:
  use pubs
  GO
  -- 建立存储过程
  create procedure sp_PubsTest
  -- 定义三个参数变量,注意第三个,特别标记是用于输出
  @au_lname varchar (20),
  @intID int,
  @intIDOut int OUTPUT
  AS
  SELECT @intIDOut = @intID + 1
  SELECT *
  from authors
  WHERE au_lname LIKE @au_lname + '%'
  --直接返回一个值
  RETURN @intID + 2
  
  调用该存储过程的asp程序如下:
  <%@ Language=VBScript %>
  <%
  Dim CmdSP
  Dim adoRS
  Dim adCmdSPStoredProc
  Dim adParamReturnValue
  Dim adParaminput
  Dim adParamOutput
  Dim adInteger
  Dim iVal
  Dim oVal
  Dim adoField
  Dim adVarChar
  ‘这些值在 VB 中是预定义常量,可以直接调用,但在 VBScript 中没有预定义
  adCmdSPStoredProc = 4
  adParamReturnValue = 4
  adParaminput = 1
  adParamOutput = 2
  adInteger


相关文档:

ASP中十大常用程序代码.:第一节〈我的心得〉

第一节:注册系统
 
       注册几乎是每个网站都要使用的,去论坛要注册,聊天要注册,几乎无处不注册,所以注册是所有ASP应用程序中最常见的。
                     & ......

ASP中十大常用程序代码.:第六节〈我的心得〉

用ASP实现支持附件的EMail系统(1)
  
  大家经常探讨使用asp,而不使用其他组建能否实现文件的上传,从而开发出支持邮件附件的邮件系统,答案是可以的。
  以下是发送邮件的页面,邮件的帐号是员工号,假设是5位的数字,sendmail.asp当然是在合法登陆后才能够看到的
<html>
<head>
<meta http-eq ......

ASP实现语音分时问候

<bgsound src="wen.mid" loop="0">
  <% dim weh
  If Time >=#1:00:00 AM# And Time < #6:00:00 PM# Then
   weh = "<bgsound src="1.mid" loop="0">"
  Else If Time >#6:00:00 AM# And Time < #9:00:00 PM#
   weh = "<bgso ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号