ASP 3.0高级编程(四十二)

2016-01-29 19:17 1 1 收藏

ASP 3.0高级编程(四十二),ASP 3.0高级编程(四十二)

【 tulaoshi.com - ASP 】

  5.  返回值
对函数返回值的处理不同于存储过程返回值的处理,这常常导致混淆。在函数中,经常是返回一个布尔值来表明函数运行的成功与否。
If SomeFunctionName() = True Then
       ' Function succeeded
但在调用一个存储过程时,却不能使用同样的方法,因为存储是用Execute方法运行的,同时返回一个记录集。
Set rsAuthors = cmdAuthors.Execute
如果得不到一个返回值,如何确定是否已正确执行存储过程?当发生错误时,会报告错误,这样就可使用前一章提供的错误处理代码来处理错误。但对于一些非致命的逻辑错误怎么办?
例如,考虑向employee表添加一个新职员的情形。你可能不想防止两个职员同名的情况,但想注明这个情况。那么,可以使用一个返回值以表明是否已有同名的职员存在。存储过程如下:
CREATE PROCEDURE usp_AddEmployee
       @Emp_ID             Char(9),
       @FName               Varchar(20),
       @Minit                  Char(1),
       @LName               Varchar(30),
       @Job_ID                     SmallInt,
       @Job_Lvl              TinyInt,
       @Pub_ID              Char(4),
       @Hire_Date           Datetime
AS
BEGIN
       DECLARE @Exists       Int                 -- Return value

       -- See if an employee with the same name exists
       IF EXISTS(SELECT *
                      FROM          Employee
                      WHERE FName = @FName
                      AND            MInit = @MInit
                      AND            LName = @LName)
          SELECT @Exists = 1
       ELSE
          SELECT @Exists = 0

       INSERT INTO Employee (emp_id, fname, minit, lname,
                                   job_id, job_lvl, pub_id, hire_date)
       VALUES (@Emp_Id, @FName, @MInit, @LName, @Job_ID,
                      @Job_Lvl, @Pub_ID, @Hire_Date)
       RETURN @Exists
END

来源:https://www.tulaoshi.com/n/20160129/1508965.html

延伸阅读
标签: ASP
  1.    操作HTTP报头 我们已经在几处见到ASP如何创建或修改在响应页面请示时被发送到客户的HTTP报头。在Response对象中有几个属性和方法可帮助我们做到一点。下面是一些报头方法: · 控制缓存和有效期。 · 创建状态和定制的HTTP报头。 · 指定MIME类型或内容类型。 · 添加PICS标签。 接下来将简要地研究每一个方...
标签: ASP
  第3章 ASP应用程序与会话 在前面的章节中介绍了ASP提供的访问一个客户请求和产生响应的方法,本章将讨论ASP的另两个对象。就是Application和 Session对象。这两个对象不是直接地与请求和响应的管理有关,而是更多地与ASP网页运行环境的管理相关。 与建立Web站点或Web应用程序有关的共同问题之一,是使用HTTP协议时没有状态。...
标签: ASP
  2.  创建Variant数组 在Session和Application对象中创建和使用一个Variant数组来存储值的方法目前尚未讨论,在这里作为一个非常有用的技术进行讨论。正如已经看到的那样,一个Variant数据类型可以包含一个数组,而不仅仅是一个值。 一个数组只是在内存的一个连续区域中以指定的次序存储二进制值的一个长行。要安排Variant,...
标签: ASP
  5.4.1 FileSystemObject对象成员概要        FileSystemObject对象提供一个属性和一系列方法,可用它们来操纵FileSystemObject对象实现的一些从属对象。这里提供了全部的内容概要,然后介绍每一个从属对象。 1.  FileSystemObject的属性 FileSystemObject对象只有一个属性,它用于得到当...
标签: ASP
  (1)  遍历Contents集合的代码 为了遍历Contents集合,可使用一个For Each ... Next结构。集合中的每一项可以是一个简单的Variant类型变量、一个Variant数组或者一个对象的引用。因为需要对每种类型的值进行不同的处理,所以就不得不对每一个进行检查来判别其类型。 在VBScript中可使用VarType函数完成这个工作。这里使用IsObj...

经验教程

290

收藏

64
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部