虎虎漫画小说

繁体版 简体版
虎虎漫画小说 > > asp基础入门篇最新章节 > 第 3 章

第 3 章 免费阅读

名的存储位置,其中包含了数字或字符串等数据,它使用户便于理解脚本cāo作的名称,为用户提供了一种存储、检索和cāo作数据的途径。程序是由一个或多个进程组成的,在 VBScript 中,进程就是“指令块”,通常意义上的进程,如 Sub,只是为了简单的数据处理。

在 VBScript 中,严格的来讲变量是不用声明的,

如:< % Mystring="This is my string" % >

然而,即使在使用变量前不需要去声明变量,也应养成在编程时声明变量的良好习惯,因为这样有助于防止错误发生。声明一个变量意味着告诉脚本引擎,有一个特定名称的变量,这样就可以在脚本中引用该变量。在 VBScript 中声明一个变量可以使用“Dim”语句,如下:

< script language="VBScript" >

< !--

Option Explicit \' 要求在脚本中声明所有的变量

Dim Mystring

Mystring="This is my string"

-- >

< /script>

变量的作用域即生命期,决定哪些脚本命令可访问变量。在过程内部声明的变量具有局部作用域。每执行一次过程,变量就被创建然后消亡。而过程外部的任何命令都不能访问它。在过程外部声明的变量具有全局作用域,其值能被 ASP 页上的任何脚本命令访问和修改。声明变量时,局部变量和全局变量可以有相同的名称。而改变其中一个的值并不会改变另一个的值。如果没有声明变量,则可能不小心会改变一个全局变量的值。例如,以下脚本命令返回值 1,虽然有两个名为 Y 变量:

< %

Dim YY = 1Call SetLocalVariableResponse.Write Y

Sub SetLocalVariable

Dim Y

Y = 2End Sub % >

由于变量没有显式声明,以下的脚本命令将返回 2。当过程调用将 Y 设置为 2 时,脚本引擎认为该过程是要修改全局变量:

ASP基础教程:ASP脚本变量、函数、过程和条件语句

在上一期中作者向诸位简要介绍了 ASP 脚本语言之一 VBScript 的一些基本常识,本期将继续给大家讲解 VBScript 的脚本编写方法,并通过展示 VBScript 在 ASP 程序编写过程中的一系列实例使大家对 VBScript 有更进一层的理解。

大家在学习了脚本语言 VBScript 的变量、常量和过程的基本概念后,本期将继续向各位介绍 VBScript 的函数和语法。

函数和过程一样都是命名了的代码块,但它们却有很大的区别,过程完成程序任务,函数则返回值。我们可以这样理解,过程象一个完整的句子,而函数则象一个单词。举个例子,当你想获取某个数的平方根,你只要将该数传给 VBScript 的 Sqr() 函数,此函数会立即返回该数的平方根。如:

A=sqr(9)

则 A=3。熟练掌握脚本语言的函数将给你编写 ASP 程序带来极大的方便,就以上一期结尾处作者布置给大家的课后练习来说,如果你对脚本语言的函数掌握不够全面,那么解决如此之小的一个问题将很有可能花费你相当大的精力。现在让我们来回顾一下这道课后练习。

“作者正在用 ASP 制作一套基于 WEB 的 BBS 系统,希望能在其中添加一项特殊功能,即当任何用户登陆该 BBS 后都能够查阅近七天来所有新发布的信息。”

如果你不熟悉 VBScrip,就不会知道 VBScrip 本身提供了一个用来取得日期之间的差或和的函数 DateSerial,它的语法如下:

DateSerial(year, month, day)

如果你要指定一个日期,例如:1998 年11月10日,那么 DateSerial 函数中每个参数的取值范围都应该是可接受的,即日的取值应在1和31之间,月的取值应在1和12之间。但是,也可以使用表示某日之前或之后的年、月、日数目的数值表达式为每个参数指定相对日期。以下样例中使用了数值表达式代替绝对日期。在这里,DateSerial 函数返回1998年11月10日之前二十年 (1990-20) 零两个月 (11-2) 又一天 (10-1) 的日期:即 1978 年9月9日。程序如下:

Datep=DateSerial(1998-20, 11-2,10-1)

对于 year 参数,若取值范围是从 0 到99,则被解释为 1900 到 1999 年。对于此范围之外的 year 参数,则使用四位数字表示年份(例如 1800 年)。当任何一个参数的取值超出可接受的范围时,则会适当地进位到下一个较大的时间单位。例如,如果指定了35 天,则这个天数将被解释成一个月加上多出来的日数,多出来的日数取决于其年份和月份。但是如果参数值超出 -32,768 到 32,767 的范围,或者由三个参数指定(无论是直接还是通过表达式指定)的日期超出了可以接受的日期范围,就会发生错误。

当我们了解并掌握了函数 DateSerial 的使用方法后,再来看看作者布置的这道题目,一切就迎刃而解了。下面我将程序中的此部分代码公布如下:itemp=DateSerial(Year(date), month(date), day(date)-7)

itemp=DateValue(itemp)

sql="Select * fromcomssage Wherecomssage.creatcom Between #"&date&"# And #"&itemp&"# "

在这里我们又接触到了一组函数 Year,month,day,它们是用来得到一个日期的年、月、日。date 是常数,表示今天日期,而函数 DateValue 则是将字符串变量转化为日期格式的变量。在本段程序的第三行,我们第一次接触到了标准的 SQL 查询语句,这句语句是什么意思呢?

“Select”是标准的 SQL 数据库查询命令,通过 SELECT 语句我们可以在数据库中检索数据,并将查询结果提供给用户,此处的“*”表示查询该名为comssage”的数据库中的所有记录,而“where”的作用是设定一个查询条件,是为了将数据库中符合条件的记录取出来,comssage.creatcom”是一个储存了数据库中记录创建日期的变量。将整句语句连起来理解就是:查询名为comssage 的数据库中的所有记录,并将其中创建日期在今天和今天以前七日以内的所有记录存储在变量 sql 中。可能由于大家第一次接触 SQL 语句,一时间无法完全理解它的作用,不过不用担心在今后的章节中作者将专门用一期给大家介绍 SQL 的使用方法。

通过上面的学习,大家应该已经能够理解函数在程序中的作用,当然我们不必去死背函数,但要做到熟练运用只有一条捷径 -- 多实践。接下来让我们来看看 VBScript 的基本语法。

了解编程语言的朋友一定知道在程序中控制程序流程的语句主要可以分为条件语句和循环语句,在 VBScript 中可使用以下条件语句: If...Then...Else 语句

Select Case 语句

If...Then...Else 语句用于计算条件是否为 True 或 False,并且根据计算结果指定要运行的语句。通常,条件是使用比较运算符对值或变量进行比较的表达式,If...Then...Else 语句可以按照需要进行嵌套。

让我们来创建两个范例文件:if1.asp 和 if2.asp

将以下语句剪贴到记事簿中,并保存为 if1.asp( 注意:请将程序中“<”后的空格去掉 ) < html>

< head>

< TITLE>if1.asp< /TITLE>

< /head>< body bgcolor="#FFFFFF">

< form action="if2.asp"comthod=get>

Your First Ncom< INPUT NAME="FirstNcom" MaxLength=20>< p>

Your Last Ncom< INPUT NAME="LastNcom" MaxLength=20>< p>

< INPUT TYPE=submit>< INPUT TYPE=reset>

< /form>

< /body>

< /html>

将以下语句剪贴到记事簿中,并保存为 if2.asp

< html>

< head>

< TITLE>ifrespond.asp< /TITLE>

『加入书签,方便阅读』