




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ASP 脚本变量、函数、过程和条件语句在上一期中作者向诸位简要介绍了 ASP 脚本语言之一 VBScript 的一些基本常识,本期将继续给大家讲解 VBScript 的脚本编写方法,并通过展示 VBScript 在 ASP 程序编写过程中的一系列实例使大家对 VBScript 有更进一层的理解。大家在学习了脚本语言 VBScript 的变量、常量和过程的基本概念后,本期将继续向各位介绍 VBScript 的函数和语法。函数和过程一样都是命名了的代码块,但它们却有很大的区别,过程完成程序任务,函数则返回值。我们可以这样理解,过程象一个完整的句子,而函数则象一个单词。举个例子,当你想获取某个数的平
2、方根,你只要将该数传给 VBScript 的 Sqr( 函数,此函数会立即返回该数的平方根。如: A=sqr(9则 A=3。熟练掌握脚本语言的函数将给你编写 ASP 程序带来极大的方便,就以上一期结尾处作者布置给大家的课后练习来说,如果你对脚本语言的函数掌握不够全面,那么解决如此之小的一个问题将很有可能花费你相当大的精力。现在让我们来回顾一下这道课后练习。“作者正在用 ASP 制作一套基于 WEB 的 BBS 系统,希望能在其中添加一项特殊功能,即当任何用户登陆该 BBS 后都能够查阅近七天来所有新发布的信息。”如果你不熟悉 VBScrip,就不会知道 VBScrip 本身提供了一个用来取得日
3、期之间的差或和的函数 DateSerial,它的语法如下:DateSerial(year, month, day如果你要指定一个日期,例如:1998 年 11 月 10 日,那么 DateSerial 函数中每个参数的取值范围都应该是可接受的,即日的取值应在 1 和 31 之间,月的取值应在 1 和 12 之间。但是,也可以使用表示某日之前或之后的年、月、日数目的数值表达式为每个参数指定相对日期。以下样例中使用了数值表达式代替绝对日期。在这里,DateSerial 函数返回 1998 年 11 月 10 日之前二十年 (1990-20 零两个月 (11-2 又一天 (10-1 的日期:即 19
4、78 年 9 月 9 日。程序如下:Datep=DateSerial(1998-20, 11-2,10-1对于 year 参数,若取值范围是从 0 到 99,则被解释为 1900 到 1999 年。对于此范围之外的 year 参数,则使用四位数字表示年份(例如 1800 年)。当任何一个参数的取值超出可接受的范围时,则会适当地进位到下一个较大的时间单位。例如,如果指定了 35 天,则这个天数将被解释成一个月加上多出来的日数,多出来的日数取决于其年份和月份。但是如果参数值超出 -32,768 到 32,767 的范围,或者由三个参数指定(无论是直接还是通过表达式指定)的日期超出了可以接受的日期范
5、围,就会发生错误。当我们了解并掌握了函数 DateSerial 的使用方法后,再来看看作者布置的这道题目,一切就迎刃而解了。下面我将程序中的此部分代码公布如下: itemp=DateSerial(Year(date, month(date, day(date-7itemp=DateValue(itempsql="Select * from message Where message.creatime Between #"&date&"# And #"&itemp&"# "在这里我们又接触到了一组函数 Y
6、ear,month,day,它们是用来得到一个日期的年、月、日。date 是常数,表示今天日期,而函数 DateValue 则是将字符串变量转化为日期格式的变量。在本段程序的第三行,我们第一次接触到了标准的 SQL 查询语句,这句语句是什么意思呢?“Select”是标准的 SQL 数据库查询命令,通过 SELECT 语句我们可以在数据库中检索数据,并将查询结果提供给用户,此处的“*”表示查询该名为“message”的数据库中的所有记录,而“where”的作用是设定一个查询条件,是为了将数据库中符合条件的记录取出来,“message.creatime”是一个储存了数据库中记录创建日期的变量。将整
7、句语句连起来理解就是:查询名为 message 的数据库中的所有记录,并将其中创建日期在今天和今天以前七日以内的所有记录存储在变量 sql 中。可能由于大家第一次接触 SQL 语句,一时间无法完全理解它的作用,不过不用担心在今后的章节中作者将专门用一期给大家介绍 SQL 的使用方法。通过上面的学习,大家应该已经能够理解函数在程序中的作用,当然我们不必去死背函数,但要做到熟练运用只有一条捷径 - 多实践。接下来让我们来看看 VBScript 的基本语法。了解编程语言的朋友一定知道在程序中控制程序流程的语句主要可以分为条件语句和循环语句,在 VBScript 中可使用以下条件语句:If.Then.
8、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
9、="#FFFFFF">< form action="if2.asp" method=get>Your First Name< INPUT NAME="FirstName" MaxLength=20>< p>Your Last Name< INPUT NAME="LastName" MaxLength=20>< p>< INPUT TYPE=submit>< INPUT TYPE=reset>< /form><
10、 /body>< /html>将以下语句剪贴到记事簿中,并保存为 if2.asp < html>< head>< TITLE>ifrespond.asp< /TITLE>< /head>< % fname=request.querystring("Firstname"lname=request.querystring("Lastname"If fname="George" and lname="Washington" then %&
11、gt;Hi.You must be the first president!< % else %>Hi!Nice to Meet You< %end if %>< /body> < /html>asp1.asp 产生一个文本输入框,要求用户输入姓、名,如下图:asp2.asp 则是用 IF 语句判断用户输入的姓名是否为“GeorgeWashington”, 并做出相应的反馈。在此我们遇到了一个 ASP 的内建对象 request,通过使用 request 对象可以访问任何用 HTTP 请求传递的信息,包括从 HTML 表格中用 POST 方法或
12、GET 方法传递的参数、cookie 和用户认证。而 QueryString 集合检索 HTTP 查询字符串中变量的值,HTTP 查询字符串由问号 (? 后的值指定。如:http:/localhost/if2.asp?Firstname=George&Lastname=Washington 生成值为 "Firstname=George&Lastname=Washington" 的变量名字符串。关于 ASP 对象作者将在今后的几篇里重点讲述。If.Then.Else 语句的一种变形允许您从多个条件中选择,即添加 ElseIf 子句以扩充 If.Then.Els
13、e 语句的功能,使您可以控制基于多种可能的程序流程。我们将 asp2.asp 的程序部分扩充如下: < %fname=lcase(request.querystring("Firstname"lname=lcase(request.querystring("Lastname"If fname="george" and lname="washington" then %>Hi.You must be the first president!< p>< % elseIf fname=&qu
14、ot;ronald" and lname="reagan" then %>Hi.You must be the actor president!< p>< % elseIf fname="jimmy" and lname="carter" then %>Hi.You must be the peanut farmer president!< p>< % elseIf fname="naoko" or fname="charles" the
15、n %>Hi.Your name reminds me of someone,but I am not sure who!< p>< % else %>Hi!Nice to Meet You < % end if %>可以添加任意多个 ElseIf 子句以提供多种选择。但使用多个 ElseIf 子句经常会使程序变得很累赘。在多个条件中进行选择的更好方法是使用 Select Case 语句。Select Case 结构提供了 If.Then.ElseIf 结构的一个变通形式,可以从多个语句块中选择执行其中的一个。Select Case 语句提供的功能与
16、If.Then.Else 语句类似,但是可以使代码更加简练易读。Select Case 结构在其开始处使用一个只计算一次的简单测试表达式。表达式的结果将与结构中每个 Case 的值比较。如果匹配,则执行与该 Case 关联的语句块,我们同样可以用 Select Case 语句来写 asp2.asp 文件:< %fname=lcase(request.querystring("Firstname"lname=lcase(request.querystring("Lastname"name=fname+lnameSelect case namecase
17、 "georgewashington"response.write "Hi.You must be the first president!< p>" case "ronaldreagan"response.write "Hi.You must be the actor president!< p>" case "jimmycarter"response.write "Hi.You must be the peanut farmer president!<
18、 p>" case "naokocharles"response.write "Hi.Your name reminds me of someone,but I am not sure who!< p>"case elseresponse.write "Hi!Nice to Meet You"End Select %>请注意 Select Case 结构只计算开始处的一个表达式,并且只计算一次,而 If.Then.ElseIf 结构计算每个 ElseIf 语句的表达式,这些表达式可以各不相同。因此仅当每个 ElseIf 语句计算的表达式都相同时,才可以使用 Select Case 结构代替 If.Then.ElseIf 结构。Select Case 语句也是可以是嵌套的,每一层嵌套的 Select Case 语句必须有与之匹配的 End Select 语句。以上给大家介绍的脚本语言 VBScript 的函数和条件语句的使用方法,由于篇幅的缘故不能详细展开,希望各位有志学习 ASP 的朋友,能在课后进行一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 计算机三级数据库相关法规解读试题及答案
- 公司职工体检管理制度
- 刑侦部门分级管理制度
- 制定信息安全管理制度
- 公司员工吵架管理制度
- 单位设备器材管理制度
- 宿舍设备安全管理制度
- 印刷费用成本管理制度
- 加压泵站维护管理制度
- 宾馆管理日常管理制度
- 农行反洗钱与制裁合规知识竞赛考试题库大全-上下
- DGTJ08-202-2020钻孔灌注桩施工规程 上海市
- 充电桩基本知识课件
- 中职电子类面试题及答案
- 作风建设学习教育读书班交流发言提纲
- 2025年社会工作者职业水平考试中级实务模拟试卷:社会工作专业能力与团队协作能力试题
- 2025年《AI人工智能知识竞赛》题库及答案解析
- 全国公开课一等奖人教版小学数学五年级下册《数学广角-找次品》课件
- 2022年高中物理同步讲义(选修性必修3)第11讲-热力学第一定律(原卷版)
- 电工电焊工安全培训
- 红色体育知到智慧树章节测试课后答案2024年秋西安体育学院
评论
0/150
提交评论