ASP编程教程(三)

楼主
ASP编程教程(三)
通过前两篇的学习,相信各位已经对ASP的动态网站设计有了一个基本的概念和整体的印象。从本篇开始作者将从脚本语言的使用着手,由浅入深地带领大家探索ASP动态网站设计的真正奥秘。

 

 本文第二篇刊登后,很多朋友给我发了“妹儿”,希望能尽快看到本文的第三、第四、乃至第……篇,甚至有位朋友焦急地要我将ASP篇的全文发给他。看到有如此之多志同道合的朋友,令我精神大振。虽然ASP早在两年前就已经推出了,但直到今年它才以其灵活便捷的开发过程、良好的WEB数据库连接功能受到了国人的重视,然而由于目前国内尚缺乏关于ASP开发WEB应用程序的详尽教材,因此使得国内广大WEB开发者们仍处在闭门啃E文的阶段,也包括作者本人。也正因为如此,作者才蒙发了写文章的念头,在得到Chinabyte网络学院翁斌先生的大力支持后,各位才得以见到此文。

  作者殷切希望能通过此文为广大WEB开发者和爱好者提供便利,使大家共同来参加ASP的学习和交流,为了顾全不同层次读者的需求作者还是决定从最基本的脚本语言的编制着手,随后再一步一步地讲解ASP内建对象、ActiveX组件以及用ASP开发WEB应用程序的实例,相信通过一段时间持续的学习,不出几个月各位都能够得心应手地开发自己的动态网站。下面就先请大家跟我来学习一些ASP中应用脚本语言(以VBScript为主)的基础知识。

  在开始学习脚本语言之前,你应该理解一些简单的概念--变量、进程。所谓变量是计算机内存中已命名的存储位置,其中包含了数字或字符串等数据,它使用户便于理解脚本操作的名称,为用户提供了一种存储、检索和操作数据的途径。程序是由一个或多个进程组成的,在VBScript中,进程就是“指令块”,通常意义上的进程,如Sub,只是为了简单的数据处理。

  在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*frommessageWheremessage.creatimeBetween#"&date&"#And#"&ite
mp&"#"


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

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

电脑版 Page created in 0.1016 seconds with 4 queries.