电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 网络编程
ASP教程:第五篇 脚本变量、函数、过程和条件语句
作者:未知 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
在上一期中作者向诸位简要介绍了 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 * from message Where message.creatime Between #"&date&"# And #"&itemp&"# "

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

   “Select”是标准的 SQL 数据库查询命令,通过 SELECT 语句我们可以在数据库中检索数据,并将查询结果提供给用户,此处的“*”表示查询该名为“message”的数据库中的所有记录,而“where”的作用是设定一个查询条件,是为了将数据库中符合条件的记录取出来,“message.creatime”是一个储存了数据库中记录创建日期的变量。将整句语句连起来理解就是:查询名为 message 的数据库中的所有记录,并将其中创建日期在今天和今天以前七日以内的所有记录存储在变量 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" 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>
  < /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 %>
  Hi.You must be the first president!
  < % else %>
  Hi!Nice to Meet You
  < %end if %>
  < /body>
  < /html>

   asp1.asp 产生一个文本输入框,要求用户输入姓、名,如下图:

 

   asp2.asp 则是用 IF 语句判断用户输入的姓名是否为“George Washington”, 并做出相应的反馈。在此我们遇到了一个 ASP 的内建对象 request,通过使用 request 对象可以访问任何用 HTTP 请求传递的信息,包括从 HTML 表格中用 POST 方法或 GET 方法传递的参数、cookie 和用户认证。而 QueryString 集合检索 HTTP 查询字符串中变量的值,HTTP 查询字符串由问号 (?) 后的值指定。如:
   http://localhost/if2.asp?Firstname=George&Lastname=Washington

   生成值为 "Firstname=George&Lastname=Washington" 的变量名字符串。关于 ASP 对象作者将在今后的几篇里重点讲述。

   If...Then...Else 语句的一种变形允许您从多个条件中选择,即添加 ElseIf 子句以扩充 If...Then...Else 语句的功能,使您可以控制基于多种可能的程序流程。

   我们将 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="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" then %>
  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 语句提供的功能与 If...Then...Else 语句类似,但是可以使代码更加简练易读。Select Case 结构在其开始处使用一个只计算一次的简单测试表达式。表达式的结果将与结构中每个 Case 的值比较。如果匹配,则执行与该 Case 关联的语句块,我们同样可以用 Select Case 语句来写 asp2.asp 文件:
  < %
  fname=lcase(request.querystring("Firstname"))
  lname=lcase(request.querystring("Lastname"))
  name=fname+lname
  Select case name
  case "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!< p>"
  case "naokocharles"
  response.write "Hi.Your name reminds me of someone,but I am not sure who!< p>"
  case else
  response.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 的朋友,能在课后进行一定程度的自学和练习。在日常开发 ASP 应用程序的过程中作者本人日渐体会到了脚本语言的重要性,灵活运用脚本语言将非但可以大大提高 ASP 应用程序的开发过程,给广大网站制作人员节省大量的时间,而且还能够增强 ASP 应用程序的执行率和功能。欲善其事必先利其器,因此作者在此强烈建议诸君,熟练掌握脚本语言,这将对你的 ASP 程序开发大有帮助。由于本文不是 VBScript 教程,因此只能用较小的篇幅给大家简要介绍一些 VBScript 基本常识,在下一期介绍完 VBScript 的循环语句后,我们将正式开始学习 ASP 的内建对象,要深入 VBScript,建议大家找些教材进行自学。如果你在看完本文后有任何问题请及时 Mail 我,如果你有什么好的建议也请来信告知,谢谢。
   
文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·ASP教程:第五篇 脚本变量、函数、过程和条件语句
·ASP教程:第十八篇 堵住ASP漏洞
· ASP教程:第十七篇 ADO 存取数据库时如何分页显示
·ASP教程:第十六篇 其它的ASP常用组件
· ASP教程:。
·ASP教程:第十四篇 ActiveX 组件
· ASP教程:第十三篇 数据库查询语言(2)
·ASP教程:第十二篇 数据库查询语言(1)
· ASP教程:第十一篇 ASP内建对象Server
·ASP教程:第十篇 Global.asa文件的使用及Chat程序

最新文章
·FreeBSD上面的Proftpd安装与配置
·用Sendmail在Linux下架设邮件服务器
·Linux操作系统中如何安装MySQL数据库
·WinXP+Mac OS X+Linux的多操作系统安装
·Linux和Windows共存的模式下分区要小心
·Linux系统下的C语言开发都需要学些什么
·Linux操作系统中安装JAVA JDK1.6的方法
·Linux操作系统程序启动引导过程详细剖析
·Linux操作系统Vim/Vi编程提速
·用户认证功能的SQUID代理服务器


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号