天天看点

vbscript 学习笔记

第三章

1.       建立列表

1.无序列表:列表项目作为一个整体,与上下文各有一段空白

格式为:

ul和 li的属性:type=disc,circle,square

ul 的属性设置到</UL>,LI的属性设置到</UL>       

<ul type=符号类型>

           <li type=符号类型1>表项1

           <li type=符号类型2>表项2

           …

      </ul>

   2.有序列表:带序号的列表

格式为:<ol type=符号类型>

           <li type=符号类型1>表项1

           <li type=符号类型2>表项2

           …

        </ol>

type类型:  1, A, a, I, I

3.  定义列表标记: 具有交互凹进的特点

1.  表的嵌套:分为多个层次,给人很强的层次感

<ul>

<li>中国古典文学</li>

<ul type=circle>

<li>红楼梦</li>

<li>三国演义</li>

<li>水浒传</li>

<li>西游记</li>

</ul>

<li>中国近现代文学</li>

<ol type=a>

<li>阿Q正传</li>

<li>围城</li>

</ol>

</ul>

效果:

第四章

1.VBScript的特点和简单例子:

l  客户端编程语言:在浏览器上编译执行的语言

l  服务器端编程语言:在服务器上编译执行的语言

      创建ASP网页,将用VBSCript作为服务器端语言

特点:

1.  Vbscript代码写在标记<script></script>

2.  最好把脚本代码放在head部分中

3.  可以把语句放在说明<!--  -->中执行

对象的行为:

2.VBScript的输入和输出

一、document.write()

二、VBScript信息框和输入框函数

Msgbox(信息内容,对话框类型,对话框标题)

例:msg=msgbox(“请确认数据是否正确”,3+48+0,”数据检查”)

Inputbox(信息内容,对话框标题,默认内容)

对话框类型:指定对话框中出现的按纽和图标,一般有三个参数:

表 1  参数1——出现按钮

常量 说明
vbOKOnly 确定按钮
1 VbOKCancel 确定和停止按钮
2 VbAbortRetryIgnore 终止、重试和忽略按钮
3 vbYesNoCancel 是、否和取消按钮
4 vbYesNo 是和否按钮
5 vbRetryCancel 重试和取消按钮

表 2  参数2——图表类型

常量 说明
16 VbCritical 停止图标
32 VbQuestion 问号图标
48 VbExclaimation 感叹号图标
64 VbInformation 信息图标

表 3 参数3——默认按钮

常量 说明
VbDefaultButton1
256 VbDefaultButton2
512 VbDefaultButton3

Msgbox函数的返回值

返回值 常量 说明
1 vbOK 确认按钮
2 vbCancel 取消按钮
3 vbAbort 终止按钮
4 vbRetry 重试按钮
5 vbIngore 忽略按钮
6 vbYes
7 vbNo

3.数组

dim a(10),共11个元素

dim Mytable(5,10),是二维数组

动态数组:dim Myarray()  括号内不包含数字

          redim preserve Myarray(30)

随后使用redim确定数组的每一维的大小,preserve在调整大小的同时保留数组内容

4.常数

[public/private] const 变量=表达式

public:所有脚本中使用,private:只是一个过程使用

日期和时间包含在俩个井号之间

  const cutoffdate=#6-1-97#

运算符

°üº¬´íÎóºÅ¡£
Error
°üº¬¶ÔÏó¡£
Object
°üº¬±ä³¤×Ö·û´®£¬×î´ó³¤¶È¿ÉΪ20ÒÚ¸ö×Ö·û¡£
String
°üº¬±íʾÈÕÆÚµÄÊý×Ö£¬ÈÕÆÚ·¶Î§´Ó¹«Ôª100Äê1ÔÂ1ÈÕµ½¹«Ôª9999Äê12ÔÂ31ÈÕ¡£
Date (Time)
°üº¬Ë«¾«¶È¸¡µãÊý£¬¸ºÊý·¶Î§´Ó-1.79769313486232E308µ½-4.94065645841247E-324£¬ÕýÊý·¶Î§´Ó4.94065645841247E-324µ½1.79769313486232E308¡£
Double
°üº¬µ¥¾«¶È¸¡µãÊý£¬¸ºÊý·¶Î§´Ó-3.402823E38µ½-1.401298E-45£¬ÕýÊý·¶Î§´Ó1.401298E-45µ½3.402823E38¡£
Single
°üº¬-2,147,483,648µ½2,147,483,647Ö®¼äµÄÕûÊý¡£
Long
-922,337,203,685,477.5808µ½922,337,203,685,477.5807¡£
Currency
°üº¬-32,768µ½32,767Ö®¼äµÄÕûÊý¡£
Integer
°üº¬0µ½255Ö®¼äµÄÕûÊý¡£
Byte
°üº¬True»òFalse¡£
Boolean
²»°üº¬ÈκÎÓÐЧÊý¾ÝµÄVariant¡£
Null
δ³õʼ»¯µÄVariant¡£¶ÔÓÚÊýÖµ±äÁ¿£¬ÖµÎª 0£»¶ÔÓÚ×Ö·û´®±äÁ¿£¬ÖµÎªÁ㳤¶È×Ö·û´®£¨" "£©¡£
Empty
描述
子类型
^
乘方 A^b
Mod 求余 A mod b
\ 整数除法 A\b
/ 浮点除法 A/b
<>  不等与 A<>b
And
Or
Not
Xor 异或 A,b全为真或假时:false
Equ 逻辑等价 A,b同为真或假时:true
Imp 逻辑隐含

5.函数

1.         数学运算函数

函数 说明 函数 说明
Sin Log Lg
Cos Sgn 数的符号
Atn Arctan Sqr 平方根
Tan Tan (x) Int 不大于给定数的最大整数
Abs 绝对值 Fix 返回数的整数部分
Exp E的指定次幂

2.         字符串函数

函数 说明 函数 说明
Ltrim Instr 返回字符串在给定字符串中位置
Rtrim Space 指定数目的空格的字符串
Trim 返回删除空格后的字符串 String 一个字符重复指定次数的字符串
Left 从左开始的指定数目的字符 Lcase 变成小写
Right 从左开始的指定数目的字符 Ucase 变成大写
mid 从指定位置开始的指定数目的字符 Len 长度

3.         日期和时间函数

函数 说明 函数 说明
Now Hour
Date 当前日期 Minute
Day 1~31 Second
Weekday 返回:1~7 Timer
Month Time 当前时间
Year Weekdayname(int) 返回星期几

4.         随机数函数

函数 说明
Randomize 产生随机数种子
rnd 产生0~1 的随机数

产生1~10的随机数: rnd*10+1

5.         数据类型转换函数

函数 返回子类型 函数 返回子类型
Asc Integer Clng
Cbool Bool csng Single
Cbyte 0~255 Chr String
ccur Currency(很大) Hex String
Cdate oct String
Cdbl Double
Cint

6.         测试函数

函数 说明 函数 说明
isarray Boolean Isdate
isempty 变量是否已初始化 nulll 表达式是否不包含任何有效数据
Isnumeric isobject 表达式是否引用了有用对象

NULL表示变量不包含有效数据,empty表变量没有初始化

6.语句

每个语句以回车作为结束

几个语句放在一行:”:”

语句的续行:“-”

第五章

IF 语句的嵌套:

If   then   elseif   then    else   end if

多分支选择结构

select case <测试条件>

    case  表达式,表达式,表达式

       语句列

    case else

       语句列

end select

     测试条件是必要参数,是数值或字符表达式

循环结构

l  do while/until [条件]…exit do ….  Loop

l  do ….  Loop while/until [条件] :至少执行一次

l  for next I=1 to 5 by step 2 :知道执行次数

….

   Exit for

….

Next

l  For each <元素> in <名称> …..  next

不知道集合只能感的元素数目

byval 和bydef : 值传递和地址传递

function 有返回值

可将变量放在括号内,就变为表达式,可进行值传递,如:(a)

第六章

1.事件过程的调用方法:

1.    <script for=”对象名”  event=”on事件名”  language=”vbscript”>

2.    调用事件过程

<script language=”vbscript”>

  sub mysub()

…………

end sub

</script>

<input type=”button”  οnclick=mysub  value=”确定”>

2.        HTML对象模型

1.  Window对象

属性: event   status(状态栏信息)

    注意:event必须表明window对象:window.event. event 对象的常用属性有 altkey, ctrlkey, shiftkey, keycode

方法: close ,  open(一个新的浏览窗口) , settimeout

    settimeout的方法: settimeout(“命令或过程”,毫秒数)

    open的方法:

window.open "til.htm",null,"toolbar=no,status=no,channelmod=no"  '不加括号

事件: load , unload, resize

    例: <body  οnlοad=leaving (函数名)>  </body>

2.  Document 对象

属性:  bgColor,  fgColor (页面文本的颜色),  cookie,  title (浏览器的标题)

方法:  clear   open(一个新文档) write   writeIn

事件:  click  dblclick  keydown  keypress  keyup  mousedown  mouseover

        mouseout  mouseup

例: <body  οnclick= leaving (函数名)>

3.  History 对象

属性:  length (访问过的URL的个数)

方法:  back : history.back n ;   forward ,  go :  history.go  n | url

4.  Navigator对象

属性:  appName(浏览器类型名称), appVersion(版本号),cookieEnabled (是否支持cookie )

方法:  javaEnabled :是否支持JAVA语言

5.  Location 对象

属性:  href (动态切换) :   location.href=www.sohu.com

        search : 返回URL中嵌入的参数,通过参数实现网页间的信息交互

  例: www.some.com/userregeister.exe?user=”yangling” 查找用户,由userregister.exe返回结果

3.        DHTML的内部控件

<input type=””, name=”” >

type属性的取值

取值 说明
Button
Text
Password
Radio
Checkbox
Image 图象
File 多行文本框
Submit 与form一起使用
Reset
hidden

通用的属性

名称 说明
Disabled 是否响应用户事件
Style 内嵌样式
Title 鼠标在控件上的提示信息
Value

通用的事件

focus  ,blur,  click  dblclick  mouseover  mousemove   mouseover  mousedown

mouseup  keypress  keydown  keyup

event 常用属性

名称 说明
AltKey 返回alt是否按下
CtrlKey
Shiftkey
keycode 返回事件发生时的按键

Button 控件

 属性

1.  Readonly 可接受焦点,但不能使用

2.  Outertext 将控件动态更新为字符串

      Button.outertext=”欢迎进入聊天室”

3.  Outerhtml 更新为控件或HTML标记

Button.outerhtml=”<input type=text value=”还原”>”

Text 控件

 属性

1.    Maxlength

2.    Size 文本框的宽度

 事件

1.   Change

2.   Select 选择文本内容时触发

Password 控件(同text)

Radio 控件

 属性: checked 是否选中: radio(i).checked

checkbox 控件(同 radio)

image 控件:显示图形信息:类似 img

file 控件

 属性: value 返回找到的文件及路径名

submit,reset 控件

 属性: value 表单的内容

 事件: afterupdate(提交后)  beforeupdate  errorupdate

select 控件

<select  size=x name=”” multiple>

<option selected value=选项值1>选项文本</option>

<option value=选项值2>选项文本</option>

</select>

列表框的属性

名称 说明
Size 滚动条列表中一次可见的列表项数
Name 同 input
Style 同input
Multiple 可选项,是否支持多选
Length 选项的个数
Selectedindex 返回或设置哪个选项被选中

Option对象的属性

名称 说明
Selected 只能有一个
Value 指定选项的植
Text 指定选项文本

Textarea 控件

<textarea name=名称 rows=行数 cols=列数> … </textarea>

行数和列数指不用滚动符能看到的内容

<textarea>…</textarea>间为初始值

第七章

1.Asp程序

asp只是一种编程环境,可以使用vbscript, javascript 语言编写ASP

作为输入语句:

l  document.write()

l  <%= %>

l  直接使用html输出

l  response.write()

asp 的包含文件

<!-- #include virtual | file=”firename”-->

被包含文件多以:.inc 作为扩展名

virtual: 表示虚拟目录,file 表示相对路径:

<!-- # include virtual =”/myapp/footer.inc ”-->

<!-- # include file =”headers/footer.inc ”-->

2.response 对象

   方法:

输出到浏览器: 

response.write  ;可混合使用HTML标记,但不能输出html标记

   response.write "&quot;&nbsp;"

重定向网址:

  respose.redirect path

结束程序的运行:可结束ASP程序的运行

  response.end

清空缓冲区HTML输出,需要 response.buffer=true

    response.clear    response.flush

属性:

 buffer属性:是否输出缓冲页

 cachecontrol属性:是否允许代理服务器取回页面

 contenttype属性:调用相应程序打开文件

 expire:  确定网页过期时间,可设置:response.expire=0确保安全性

 isclientconnected: 检查浏览器是否和服务器仍然连接

 pics:  指明网页的内容级别,如暴力和色情的程度

 status 设置状态行

集合:

 cookies

3.  server对象

作用:

一些与服务器的环境和处理活动相关的任务

属性:

 scripttimeout: 决定一个页面脚本运行的最长时间,防止死机,必须在asp程序前设置

方法:

 createobject: 创建服务器组件的示例

 mapmath:  将指定的虚拟路径转化为实际的物理路径

     realmath=server.mapmath(“unralmath”)

  htmlencode:  将字符串进行HTML编码,可输出一些HTML的特殊标记,引号不能编码输出

      response.write server.htmlencode("<p align=")

          response.write "&quot;&nbsp;"

          response.write server.htmlencode(">欲输出的文本</p>") %>

   显示结果:

      <p align=" >欲输出的文本</p>

 urlencode:  进行url编码,用在查询字符串中

   编码输出:

      response.write server.urlencode("嘿,你好吗?"&"<br>")

      response.write "<br>"

      response.write server.urlencode("http://www.baidu.com")

   显示结果:

嘿,你好吗?

http://www.baidu.com

%BA%D9%A3%AC%C4%E3%BA%C3%C2%F0%A3%BF%3Cbr%3E

http%3A%2F%2Fwww%2Ebaidu%2Ecom

第八章

1.Request对象

Form 集合

l  读取特定元素

request.form(element)

    例: response.write("您的性别是:"&request.form("性别")&"<br>

l  读取所有元素对象

for each in  request.form  next

<%  for each ele in request.form

     response.write(ele&":"&request.form(ele)&"<br>")

      next

%>

for  I=1 to request.form.count  next

l  某元素对象的特定值   如:select  checkbox控件

request.form(element)(index)

    例:<%  response.write("您的第二个爱好是:"&request.form("爱好")(2)) %>

l  某元素对象的全部参数值

for each in request.form(element)

querystring 集合

l  读取表单元素: method=”get”

l  读取http查询字符串的参数

设定联接值: asp83.asp?mz=赵一&tel=123212&add=北京

读取: <%  response.write("<h4>"&request.querystring("mz")&"的通信录</h4>") %>

<br>

电话:<%= request.querystring("tel") %> &nbsp; 住址:<%= request.querystring("add") %>

cookies 集合

作用:

n  跟踪特定访问者的次数、时间等

n  广告点击次数

n  不需要键入密码和用户名

n  统计用户资料以实现个性化服务

属性:

使用:

1.  不带key的cookie的创建和读取

创建  <% response.cookies("mybox")="this is mybox"

          response.cookies("mybox").expires=date()+7

          %>

   读取   <%= request.cookies("mybox") %>

2.  带key的cookie的创建和读取

创建  response.cookies("mydesk")("length")=35

读取  request.cookies("mydesk")("length")

3.  Cookie的重建

      Response.cookies(“name”)=value

form1.submit: 表单的提交函数

第九章

application对象

作用:

1.  统计网站的点击数

2.  统计广告的点击数

3.  创建聊天室

4.  读取数据库中的数据

集合:

1.  Contents 集合:用于存储非对象变量,可与一般变量互相赋值,当服务器关机时,application 对象丢失,可采用序号读取,如:application.contents(i)

变量的初始值为空,判断时为:application.contents(“count”)=empty

2.  Staticobjects集合:通过<object>标记在global.asa中创建,如下:

<object  runat=server  scope=application  id=priconn  progid=”adobd.conncetion” >

3.  存储数组:先建立一副本,对其操作后,再将其存放到application对象

例:<% dim book()

      redim book(3)

  book(1)="英语书"

  book(2)="数学书"

  book(3)="语文书"

  application.contents("book")=book

  bk=application.contents("book")

  response.write bk(1)&bk(2)&bk(3) %>

方法:(常用于可能多个用户访问同一变量)

application.lock      application.unlock

确保同一时刻只有一个用户可以修改和存储application变量

事件:

onstart:服务器开始运行

onend:服务器关闭时

只能在global.asa中创建

session对象

结束方法

1.       隐式:当超过 sesstion.timeout的时间限制时

2.       显式:利用 session.abandon来中止

集合:

1.  Contents集合

2.  Staticobject集合

3.  存放数组

属性:

1.  Session.sessionid

2.  在用户在设定的时间未进行任何操作,则自动撤消该用户:session.timeout

3.  动态文本显示时采用的格式:session.lcid=localid

4.  ASP应用程序使用的字库:session.codepage=codeid

方法:

session.abandon:完成当前的网页后结束session对象

contents.remove(item):删除contents中的变量

contents.removeall:删除contents中所有变量

事件:

session_onstart:打开浏览器时

session_onend:关闭浏览器时

所以,application和session 变量的寿命也不一样

与cookies的关系

存储用户的首选项

global文件

作用:存放事件脚本和全局使用的对象。

Global.asa存放在应用程序的根目录中,且是唯一的

第十章: ASP的内置组件

使用ASP组件必须先

1.    Server.createobject : 创建组件的一个实例

2.    在global.asa文件中使用<object>创建该组件的一个实例,然后把它作为一个ASP内置对象

广告轮显组件

作用:在网页上轮换显示广告

1.  创建实例对象

set 名称=server.createobject(“MSWC.AdRotator”)

2. adrotator 的属性和方法

3.使用广告轮显组件

1)  创建一adrotator轮换计划文件,结构:

2)  创建一adrotator重定向文件

读取URL: url=request(“url”),再调用网页 response.redirect url

3)  创建ASP网页来显示和轮换广告

创建一adrotator对象:

set obj=server.createobject(“mswc.adrotator”)

           在哪个框架中打开:

           obj.targetframe=”TARGET=new”

如101.asp

内容轮显组件

作用:随机变换的是页面内容,可用与每日新闻,广告显示,随机联接

步骤:

1.  创建实例对象

set 对象名=server.createobject("mswc.content rotator”)

2.  内容安排文件(文件名不限)

格式:

%%[#n][//注释]

显示内容

3.  属性和方法

没有属性,方法:读取一个条目choosecontent(<内容安排文件>), 读取所有条目getallcontents(<内容安排文件>),显示的是相对或虚拟路径

4.  使用内容轮显组件:例102.asp

文件访问组件

作用:在服务器端对文件和文件夹进行存取访问

1.  创建实例:

    set 对象名=server.createobject("scripting.filesystemobject”)

2.文件系统对象模型:包括若干对象

1)filesystemobject的方法

2)   folder对象的属性和方法

filesystemobject.createfolder():创建一个新folder对象

filesystemobject.getfolder:返回一个已存在的folder对象

folder对象的方法

3)file对象的属性和方法

filesystemobject的getfile返回一已存在的file对象

file对象的属性

file对象的方法

4)textstream对象的属性和方法

filesystemobject.createtextfile :创建并返回一新的代表文件的textstream对象,operntextfile打开一个文件

textstream对象的属性

textstream对象的方法

3.管理文件夹

   建立、移动或重命名、删除和复制

4.管理文件

5.读写文件

 创建一textstream对象相当于打开一文本文件,使用textstream的方法进行读、写

网页计数器组件

作用:统计每个网页被访问的次数,该组件定期把统计的数据写入一个文本文件

1.  创建对象: mswc.PageCounter

2.  方法

3.  使用PageCounter组件,先创建实例,然后调用方法

第十一章: ASP与数据库

ado的特点

1.  支持批处理Batch updating

2.  支持存储过程Stored procedures

ado的概念

ado对象模型包括7个对象和3个集合,如图:

ado对象

ado集合

最重要的三个对象:connection  command  recordset,关系:

connection 对象:

作用:在应用程序和数据库中建立一条数据传输连线

常用属性

常用方法

1)open方法:打开如数据库的连接

格式:connobject.open  connectionstring , user , password

2)close方法:关闭与数据源的连接,但并没有删除资源,还可以用open打开

格式: connobject.close

要释放资源: set connobject=nothing

3)execute方法:执行SQL命令或存储过程

有返回记录:

set rs=connobject.execute (commandtext ,  recordsaffected ,  options)

无返回记录:

connobject.execute ( commandtext ,  recordsaffected ,  options)

commandtext:包括一个表名,或将被执行的SQL语句

recordsaffected:返回影响的记录数

options:表示ADO如何解释commandtext

options参数的取值和意义

command对象

作用:定义数据库的查询动作

常用属性

属性:commandtype类似于 options

方法:execute

有返回格式:

set rs=comm..execute (recordsaffected ,  parameters ,  options)

无返回格式:

comm..execute (recordsaffected ,  parameters ,  options)

parameters :表示SQL语句的参数集合

recordset对象

作用:对应command对象的查询结果,并通过简单的方法访问每一个记录内每一字段的数据

常用属性

cursortype::共有4中光标类型

0:前滚光标:光标只能向前移动,默认值

1:键盘光标:同步反映其他用户所做的修改和删除、但不能反映增加的记录

2:动态光标:同步反映其他用户的任何操作

3:静态光标:无法同步反映

locktype:四种取值

0:只读锁定,记录只读

1:悲观锁定,编辑记录开始立刻锁定,直到提交给数据提供者

2:乐观锁定,一次锁定一条记录,只有调用UPDATE才锁定记录

3:允许同时更新多条记录

filter:2种使用方式

1:关系表达式

   rs.filter=”bh”>30

2:使用准则常量

   0-清除以前的filter,看到所有记录

   1-只允许查看已修改还未提交的记录

   2-允许查看最后修改的记录

   3-允许查看数据库最后读取结果的数据

   例:rs.filter=1

4) bookmark:需要创建一个允许bookmark属性的recordset对象

5)status:查看更新记录的失败原因

recordset的方法

open:打开一个recordset对象

rs.open  [source ][, activeconnection][,cursortype][,]locktype][,option ]

close ,释放资源:set rs=nothing

3)move n [, start ]

 n 可去正负值,start 表示移动的起点

4)movfirst  movelast  moveprevious  movenext

5)GetRows 用来读取大量的数据,如:myarray=rs.GetRows (rows , start , fields)

访问数据库

1 连接到数据源

1)创建连接字符串

2)连接到数据源

创建connection对象

set conn=server.createobject (“adodb.connection”)

使用ODBC打开连接

  conn.open “driver={Microsoft access driver(*.mdb)};dbq=c:\market\rsg1.mdb”

创建connection对象

set conn=server.createobject (“adodb.connection”)

创建ODBC连接字符串

  cs=” driver={Microsoft access driver(*.mdb)};dbq=c:\market\rsg1.mdb”

  conn.conncetionstring=cs

打开连接

  conn.open

3.  使用RecordSet对象处理结果

创建recordset对象

  set rs=server.createobject (“adodb.recordset”)

打开recordset对象

  rs.open “职工工资” , conn , 2, 3, 2

第十二章:SQL简介

sql 命令动词

SQL语句的执行

1.  在记录集中使用SQL

创建connection对象并打开连接

创建recordset 对象

定义SQL语句

  sSQL=”SELECT * FROM  职工工资”

打开 recordset对象

  rs.open sSQL , connobj , 1 ,1 ,1

2.  在连接对象的Execute使用SQL

创建connection对象并打开连接

定义SQL语句

  sSQL=”SELECT * FROM  职工工资”

返回并打开recordset对象

  set rs=conn.execute (sSQL)

3.  在命令对象的Execute使用SQL

创建connection对象并打开连接

创建command 对象,并使用activeconnection附加连接

  set cmm=server.createobject (“adodb.command”)

  set cmm.activeconnection=conn

定义SQL语句

  sSQL=”SELECT * FROM  职工工资”

设置command对象的查询字符串

  cmm.commandtext=sSQL

返回并打开recordset对象

  set rs=cmm.execute ( , , 1)

继续阅读