Dreamweaver CC+ASP动态网站建设与典型实例
网站资深设计师教新手从基础到实战,8个典型网站案例+网站架构的精心讲解,即学即用
- 定价:¥59.00
- 校园优惠价:¥50.74 (86折) (马上了解)
- 评分:




(已有0条评价)
- 促销活动:
- 此商品暂时缺货(可留下联系方式,到货将第一时间通知您)
-
如果您急需团购,可点击“团购急调”按钮将此书加入购物车,由客服人员为您协调调货!
>> 查看详细说明
信息提示
关闭
如果您急需团购,可点击“团购急调”按钮将此书加入购物车,由我们的客服人员为您协调调货!
- 团购订单标准如下:
- 单品满30册可选择团购服务。
- 提交团购订单后,服务人员会主动和您联系,并根据您的会员等级、购买数量、金额、时间、配送要求等情况和您协商,以促成最终的成交。
- 有关团体购书的任何问题请随时联系:(010)63970506
编辑推荐
动态网站开发技术的全程讲解:以Dreamweaver CC为开发平台,重点介绍ASP动态网站开发技术以及Access网站数据库管理技术,从网页设计基础、网站开发流程及规划到交互程序的制作,教您创建一个能够正常运行的动态网站。
8个动态网站开发的常用系统和模块:个人网站、留言板网站、新闻发布网站、投票网站、论坛网站、博客网站、邮件收发系统、网上购物系统,拿来即用。
结合实际开发流程的案例讲解:每个典型的网站案例按照整体构思、网页设计、数据库连接以及后台管理的方式全面介绍动态网站的开发。
内容简介
书籍 计算机书籍
本书以Dreamweaver CC为平台,重点介绍ASP动态网站开发技术以及Access网站数据库管理技术,使读者能够通过Dreamweaver、ASP和Access的完美组合来创建一个动态网站。
本书讲述的主要技术包括个人网站、留言板网站、新闻发布网站、投票网站、论坛网站、博客网站、邮件收发系统以及购物类型网站的设计与开发。每一类型的网站都按照总体构思、页面设计、数据库连接与其后台管理的方式来组织篇幅,使读者能全面掌握动态网站开发的技术。
本书既可作为网页设计人员、网站建设与开发人员、大中专院校相关专业师生的参考用书,也可作为Dreamweaver的培训教材,同时也适合网站推广人员阅读参考。
目录
第1章 动态网站开发基础 1
1.1 网站建设工作流程 1
1.1.1 定位网站的主题 1
1.1.2 定位网站的CI形象 2
1.1.3 确定网站栏目 3
1.1.4 确定网站的整体风格 4
1.1.5 设计网站结构 4
1.1.6 首页的设计 8
1.1.7 拟定网站访问群体 9
1.1.8 搜集网站的资源 10
1.1.9 规划网站文件及目录 11
1.2 域名的申请与使用 12
1.2.1 网站的IP地址 12
1.2.2 域名的概念 13
1.2.3 域名类型 13
1.2.4 域名申请 14
1.2.5 域名解析 16
1.2.6 域名续费 18
1.2.7 如何利用域名赚钱 18
1.2.8 域名的选择对搜索引擎优化的影响 19
1.3 网站服务器空间的获取与使用 19
1.3.1 服务器托管 19
1.3.2 租用虚拟空间 20
1.3.3 网站空间、服务器的选择对搜索引擎优化的影响 20
1.4 在本地搭建ASP+IIS网站服务器平台 20
1.4.1 安装IIS 20
1.4.2 配置Web服务器 22
第2章 了解Dreamweaver CC 25
2.1 Dreamweaver CC的安装 25
2.2 Dreamweaver CC的工作界面 27
2.2.1 菜单栏 27
2.2.2 文档工具栏 27
2.2.3 文档窗口 28
2.2.4 面板组 28
2.2.5 “属性”面板 28
2.3 使用Dreamweaver CC创建基本网页 28
2.3.1 文本 29
2.3.2 图像 29
2.3.3 媒体 30
2.3.4 链接 31
2.3.5 表单 32
2.3.6 表格 35
2.4 模板、库的使用 39
2.4.1 模板 39
2.4.2 库 41
第3章 HTML语言基础 43
3.1 Dreamweaver CC中的HTML 43
3.2 常用的HTML标记 45
3.3 文字常用标签 51
3.4 表格标签 56
3.5 链接标签 58
第4章 VBScript语言和ASP基础知识 61
4.1 VBScript语言 61
4.1.1 VBScript概述 61
4.1.2 VBScript数据类型 62
4.1.3 VBScript变量 62
4.1.4 VBScript运算符 64
4.1.5 使用条件语句 64
4.1.6 使用循环语句 67
4.1.7 VBScript过程 68
4.2 ASP基础知识 69
4.2.1 ASP概述 69
4.2.2 ASP工作原理 69
4.2.3 ADO介绍 69
4.2.4 ASP的内置对象 71
4.2.5 ASP常用的组件 76
4.3 创建数据库的连接 79
4.3.1 Connection对象 79
4.3.2 用OLEDB连接数据库 79
4.3.3 用ODBC实现数据库连接 80
第5章 用户管理系统开发 82
5.1 系统的整体设计规划 82
5.1.1 页面设计规划 83
5.1.2 网页美工设计 83
5.2 数据库设计与连接 84
5.2.1 数据库设计 84
5.2.2 创建数据库连接 88
5.3 用户登录模块的设计 92
5.3.1 登录页面 93
5.3.2 登录成功和登录失败页面的制作 100
5.3.3 用户登录系统功能的测试 103
5.4 用户注册模块的设计 104
5.4.1 用户注册页面 104
5.4.2 注册成功和注册失败页面 108
5.4.3 用户注册功能的测试 109
5.5 用户注册资料修改模块的设计 110
5.5.1 修改资料页面 110
5.5.2 更新成功页面 113
5.5.3 修改资料功能的测试 114
5.6 密码查询模块的设计 114
5.6.1 密码查询页面 115
5.6.2 完善密码查询功能页面 118
5.7 数据库路径的修改 120
第6章 新闻发布系统开发 122
6.1 系统的整体设计规划 122
6.1.1 页面设计规划 123
6.1.2 网页美工设计 123
6.2 数据库设计与连接 124
6.2.1 数据库设计 124
6.2.2 创建数据库连接 127
6.3 系统页面设计 129
6.3.1 网站首页的设计 129
6.3.2 新闻分类页面的设计 137
6.3.3 新闻内容页面的设计 140
6.4 后台管理页面设计 142
6.4.1 后台管理入口页面 142
6.4.2 后台管理主页面 144
6.4.3 新增新闻页面 149
6.4.4 修改新闻页面 152
6.4.5 删除新闻页面 155
6.4.6 新增新闻分类页面 157
6.4.7 修改新闻分类页面 158
6.4.8 删除新闻分类页面 160
第7章 留言板管理系统开发 162
7.1 系统的整体设计规划 162
7.1.1 页面设计规划 163
7.1.2 页面美工设计 163
7.2 数据库设计与连接 164
7.2.1 数据库设计 164
7.2.2 创建数据库连接 167
7.3 留言板管理系统页面的设计 170
7.3.1 留言板管理系统主页面 170
7.3.2 访问者留言页面 174
7.4 网站后台管理功能的设计 179
7.4.1 管理者登录入口页面 179
7.4.2 后台管理主页面 181
7.4.3 回复留言页面 185
7.4.4 删除留言页面 187
7.5 留言板管理系统功能的测试 188
7.5.1 留言测试 188
7.5.2 后台管理测试 190
第8章 投票管理系统开发 192
8.1 系统的整体设计规划 192
8.1.1 页面设计规划 193
8.1.2 网页美工设计 193
8.2 投票数据库设计与连接 193
8.2.1 数据库设计 193
8.2.2 创建数据库连接 197
8.3 投票管理系统页面设计 199
8.3.1 开始投票页面的设计 199
8.3.2 计算投票页面的设计 203
8.3.3 显示投票结果页面的设计 205
8.3.4 防止页面刷新的设计 208
8.4 投票管理系统测试 210
第9章 BBS论坛系统开发 211
9.1 系统的整体设计规划 211
9.1.1 页面整体设计规划 212
9.1.2 网页美工设计 212
9.2 数据库的设计与连接 213
9.2.1 数据库设计 213
9.2.2 创建数据库连接 216
9.3 BBS论坛系统主页面设计 219
9.3.1 BBS论坛系统主页面 219
9.3.2 搜索主题功能制作 224
9.4 访问者页面的设计 225
9.4.1 讨论主题 225
9.4.2 设置点击次数 229
9.4.3 新增主题 230
9.4.4 回复讨论主题页面 232
9.5 后台管理设计 234
9.5.1 后台版主登入页面 235
9.5.2 后台版主管理页面 235
9.5.3 删除讨论页面 237
9.5.4 修改讨论主题页面 239
第10章 博客系统开发 241
10.1 博客系统的整体设计规划 242
10.1.1 页面设计规划 242
10.1.2 网页美工设计 243
10.2 数据库设计与连接 243
10.2.1 数据库设计 243
10.2.2 创建数据库连接 248
10.3 博客主要页面设计 251
10.3.1 博客主页面的设计 251
10.3.2 博客分类页面的设计 262
10.3.3 日志内容页面的设计 264
10.3.4 个人博客主页面的设计 269
10.3.5 日志分类内容页面的设计 274
10.4 后台管理页面设计 277
10.4.1 后台管理转向页面 277
10.4.2 一般用户管理页面 279
10.4.3 日志分类管理页面 285
10.4.4 修改日志分类页面 289
10.4.5 删除日志分类页面 290
10.4.6 日志列表管理主页面 292
10.4.7 修改日志列表页面 298
10.4.8 删除日志列表页面 300
10.4.9 博客分类管理页面 303
10.4.10 修改博客分类页面 306
10.4.11 删除博客分类页面 308
10.4.12 博客列表管理主页面 310
10.4.13 推荐博客管理页面 313
10.4.14 删除用户博客页面 315
第11章 ASP邮件收发系统开发 317
11.1 系统的整体设计规划 317
11.1.1 页面整体设计规划 318
11.1.2 页面设计 318
11.2 JMail组件的简介和安装 319
11.2.1 JMail组件的简介 319
11.2.2 JMail组件安装与卸载 319
11.2.3 JMail组件的常用对象 321
11.3 ASP邮件收发系统页面制作 323
11.3.1 ASP邮件收发系统主页面制作 323
11.3.2 邮箱设置保存页面制作 326
11.3.3 邮件接收页面制作 328
11.3.4 显示邮件内容页面制作 330
11.3.5 发送邮件页面制作 333
11.4 ASP邮件收发系统功能测试 337
第12章 网上购物系统开发 340
12.1 网上购物系统分析与设计 340
12.1.1 系统分析 340
12.1.2 模块分析 341
12.1.3 设计规划 341
12.2 数据库设计 344
12.3 首页的设计 348
12.3.1 数据库连接 348
12.3.2 注册及搜索功能的制作 349
12.3.3 导航条 352
12.3.4 首页的制作 353
12.4 商品动态页面的设计 360
12.4.1 商品罗列页面 360
12.4.2 商品细节页面的制作 362
12.4.3 商品搜索结果页面的制作 364
12.5 商品结算功能的设计 368
12.5.1 统计订单 368
12.5.2 清除订单 369
12.5.3 用户信息确认订单 369
12.5.4 订单确认信息 369
12.5.5 订单最后确认 370
12.6 订单查询功能 370
12.6.1 订单查询输入 370
12.6.2 订单查询结果 371
12.7 购物车后台管理系统的制作 371
12.7.1 后台登录 371
12.7.2 订单管理 372
12.7.3 商品管理 375
12.8 辅助页面的制作 379
第13章 网站推广与搜索引擎优化 380
13.1 搜索引擎基础 380
13.1.1 什么是搜索引擎 380
13.1.2 搜索引擎的基本结构 380
13.2 正确制作SEO方案 384
13.2.1 设定SEO目标 384
13.2.2 制定SEO方案 385
13.3 用SEO构建网站 386
13.3.1 构建目标 386
13.3.2 页面元素 387
13.3.3 网站优化 389
13.3.4 选取域名的技巧 390
13.3.5 链接对SEO的影响 390
13.4 网站的关键字 391
13.4.1 选择合适的关键字 391
13.4.2 关键字密度 392
13.4.3 避免关键字堆砌 393
13.5 SEO的问题和解决方法 393
13.5.1 网站被屏蔽 393
13.5.2 内容被剽窃 394
13.5.3 点击欺诈 394
前言
Dreamweaver以其方便的可视化编辑功能、强大的站点管理功能,让用户可以快速创建网页而无须编写任何代码,同时还可以方便地从其他软件(如Fireworks、Flash等)导入对象,大大优化了开发工作的流程,无疑是目前网页设计领域的最佳软件。
而ASP环境,因为语法简单而且功能强大,同时能与Windows的操作系统无缝结合,所以一经推出,就得到广大用户的欢迎,并迅速成为各类网站制作的主流开发环境。网络上大大小小的网站,大多都采用ASP技术制作。目前,各种类型的ASP网站源代码在网络上随处可见,这样大大降低网站制作的门槛。为了方便用户快速学会Dreamweaver+ASP动态网站开发,笔者特编写了本书。
本书以Dreamweaver CC网页制作与ASP动态功能模块开发为学习主线,并从网站设计师最基本但必须掌握的设计知识讲起,让读者了解什么是网页和网站设计、设计的原则和流程等;然后再详细、系统地剖析了使用Dreamweaver CC这个流行的网页制作软件来设计网页和ASP动态网站系统的知识,使读者能够通过Dreamweaver、ASP、Access的完美组合来创建一个动态网站并在搜索引擎中将网站进行优化。
本书讲述的主要技术包括Dreamweaver CC的新增功能、个人网站、留言板网站、新闻发布网站、投票网站、论坛网站、博客网站、邮件收发系统、购物类型网站的设计与开发及搜索引擎的优化。每一个类型的网站都按照总体构思、页面设计、数据库连接与其后台管理的方式来组织篇幅,使读者能够全面掌握动态网站建设的 技术。
本书语言通俗易懂,结构从易到难,从网站开发到网站优化,并将知识点以图文的形式融入到每一个案例中,使读者在学习理论知识的同时,动手能力也得到同步提高。另外,随书下载资源(网址为http://pan.baidu.com/s/1qYq02MK,注意区分字母的大小写以及数字和字母)还提供了书中所有实例的网站源代码和相关文件。
本书既可作为网页设计人员、网站建设与开发人员的参考用书,也可作为Dreamweaver和ASP动态网站开发的培训教材,同时还可供网站搜索引擎优化和网站推广人员阅读参考。
本书在短时间内得以出版,是大家努力的结果,在此,感谢在写作过程中给予我们帮助的朋友们,参与本书编写的除了署名作者外还有王进、徐淑芳、高淑青、许勇、王娟娟、王康明等。由于笔者水平有限,疏漏之处在所难免,希望广大读者批评指正。
衷心希望读者通过阅读本书,能够自行制订出满足企业或个人需求的网站设计方案、网站优化方案以及网络营销方案,从而使企业或个人产品能够在网络实践中有所收益。
编者
2016年7月
书摘
第4章 VBScript语言和ASP基础知识
VBScript是Microsoft公司推出的,其语法是Microsoft Visual Basic的简化版本,是Microsoft特意为在浏览器中进行工作而设计的,其编程方法和Visual Basic基本相同。它具有易学易用,既可编写服务器脚本,也可编写客户端脚本语言的特点。
本章重要知识点 >>>>>>>>>>
? VBScript数据类型
? VBScript变量
? VBScript运算符
? VBScript条件语句
? VBScript循环类型
? VBScript过程
? ASP基础知识
? ASP的内置对象
4.1 VBScript语言
VBScript是Microsoft公司推出的一种脚本语言,其目的是为了加强HTML的表达能力,提高网页的交互性,增进客户端网页上处理数据与运算的能力。
4.1.1 VBScript概述
VBScript一般情况下是和HTML结合在一起使用的,融入HTML或ASP文件当中。
在HTML代码中,必须使用标签才能使用脚本语言,格式如下:
语言主体信息
例如,可以用一个VBScript语句将一段欢迎词写入HTML页面中,代码如下:
.
Window.Document.Write("你好!欢迎你开始学习VBScript语言")
Document是Window中的子对象,Write是Document对象中的方法,language="VBscript"标识标签程序中是基于VBScript代码的。
从上面的代码可以看出VBScript代码是成双成对地出现在标记当中的,也就是说代码从开始到结束。其中,language属性代表的是脚本语言。
script可以出现在HTML中的任何位置。
4.1.2 VBScript数据类型
VBScript只有一种数据类型,即Variant。Variant是一种特殊的数据类型,根据使用的方式,可以包含不同类别的信息。因为Variant是VBScript中唯一的数据类型,所以它也是VBScript中所有函数的返回值的数据类型。
最简单的Variant可以包含数字或字符串信息。Variant用于数字上下文中时作为数字处理,用于字符串上下文中时作为字符串处理。这就是说,如果使用看起来像是数字的数据,则VBScript会假定其为数字并以适用于数字的方式处理。与此类似,如果使用的数据只可能是字符串,则VBScript将按字符串处理。也可以将数字包含在引号("")中使其成为字符串。
除简单的数字或字符串以外,还可以进一步区分数值信息的特定含义。例如,使用数值信息表示日期或时间。此类数据在与其他日期或时间数据一起使用时,结果也总是表示为日期或时间,而且也会按照最适用于其包含的数据的方式进行操作,也可以使用转换数据的子类型。
下面是几种在VBScript中通用的常数。
? True/False 表示布尔值。
? Empty 表示没有初始化的变量。
? Null 表示没有有效的数据。
? Nothing 表示不应用的变量。
在程序设计中,可以利用VarType返回数据的Variant子类型。
4.1.3 VBScript变量
(1)声明变量的一种方式是使用Dim、Public和Private在脚本中显式声明变量,例如:
Dim abc 声明一个abc的变量
声明多个变量时,使用逗号分隔变量,例如:
Dim abc,def,hij
另一种方式是通过直接在脚本中使用变量名这一简单方式隐式声明变量。这通常不是一个好习惯,因为这样有时会由于变量名被拼错而导致在运行脚本时出现意外的结果。因此,最好使用Option Explicit语句显式声明所有变量,并将作为脚本的第一条语句,一般放在页面代码的第一行。
(2)变量命名规则。
变量命名必须遵循VBScript的标准命名规则。
? 第一个字符必须是字母。
? 不能包含嵌入的句点。
? 长度不能超过255个字符。
? 在被声明的作用域内必须唯一。
(3)变量的作用域与存活期。
变量的作用域由声明它的位置决定。如果在过程中声明变量,则只有该过程中的代码可以访问或更改变量值,此时变量具有局部作用域并被称为过程级变量。如果在过程式之外声明变量,则该变量可以被脚本中所有的过程所识别,称为Script级变量,具有脚本级作用域。
变量存在的时间称为存活期。Script级变量的存活期从被声明的一刻起,直到脚本运行结束。对于过程级变量,存活期仅是该过程式运行的时间,该项过程结束后,变量随之消失。在执行过程时,局部变量是理想的临时存储空间。可以在不同过程中使用同名的局部变量,这是因为每个局部变量只被声明它的过程式识别。
(4)给变量赋值。
创建如下形式的表达式为变量赋值:变量在表达式左边,要赋的值则在表达式右边。例如:
Abc=100
(5)标量变量和数组变量。
多数情况下,只需为声明的变量赋一个值。只包含一个值的变量被称为标量变量。有时,将多个相关值赋给一个变量更为方便,因此可以创建包含一系列值的变量,即数组变量。数组变量和标量变量是以相同的方式声明的,唯一的区别是声明数组变量时变量名后面带有括号()。下例声明了一个包含5个元素的一维数组:
Dim abc(4)
虽然括号中显示的数字是4,但是在VBScript中所有数组都是基于0的,所以这个数组实际上包含5个元素。在基于0的数组中,数组元素的数目是括号中显示的数目加1,这种数组被称为固定大小的数组。
在数组中使用索引为数组的每个元素赋值(从0~4,将数据赋给数组的元素):
Dim abc(0)=10
Dim abc(1)=20
Dim abc(2)=30
Dim abc(3)=40
Dim abc(4)=50
依此类型,使用索引可以检索到所需的数组元素的数据,例如:
…
MyVariable = abc(3)
…
数组并不仅限于一维。数组的维数最大可以为60(尽管大多数人不能理解超过3或4的维数)。声明多维数组时用逗号分隔括号中每个表示数组大小的数字。在下例中,MyVariable变量是一个有4行和9列的二维数组:
Dim MyVariable(4,9)
在二维数组中,括号中第一个数字表示行的数目,第二个数字表示列的数目。
也可以声明动态数组,即在运行脚本时大小发生变化的数组。对数组的最初声明使用Dim语句或ReDim语句,但是对于动态数组,括号中不包含量任何数字,例如:
Dim MyVariable()
ReDim AnotherArray()
要使用动态数组,必须随后使用ReDim确定维数和每一维的大小。在下例中,ReDim将动态数组的初始大小设置为10,而后面的ReDim语句将数组的大小重新调整为15,同时使用ReDim关键字在重新调整大小时保留数组的内容。
ReDim MyVariable(10)
…
ReDim Preserve MyVariable(15)
重新调整动态数组大小的次数没有任何限制,将数组从大调到小时,将会丢失被删除元素的数据。
4.1.4 VBScript运算符
VBScript有一套完整的运算符,包括算术运算符、比较运算符、连接运算符和逻辑运算符。
运算符具有优先级:首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符。所有比较运算符的优先级相同,按照从左到右的顺序计算比较运算符。运算符及其优先级如表4-1所示。
表4-1 VBScript运算符及其优先级
算术运算符 比较运算符 逻辑运算符
描述 符号 描述 符号 描述 符号
求幂 ^ 等于 = 逻辑非 Not
负号 - 不等于 逻辑与 And
乘 * 小于 逻辑异或 Xor
整除 \ 小于等于 = 逻辑隐含 imp
加 + 对象引用比较 Is
减 -
4.1.5 使用条件语句
使用条件语句可以编写进行判断和重复操作的VBScript代码。在VBScript中使用以下条件语句:
1. If…Then…Else语句
If…Then…Else语句用于计算条件是否为true或false,并且根据计算结果指定要运行的语句。通常,条件是使用比较运算符对值或变量进行比较的表达式。有关比较运算符的详细信息,可参阅比较运算符。If…Then…Else语句可以按照需要进行嵌套。例如:
Sub AlertUser(Value)
If Value = 0 then
Alertlabel.ForeColor =vbRed
Alertlabel.Font.bold = True
Alertlabel..Font..Italic =True
Else
Alertlabel.ForeColor =vbBlack
Alertlabel.Font.bold = False
Alertlabel..Font..Italic= False
End if
End Sub
If语句执行体执行完毕后,必须用 End If结束。
If…Then…Else语句可以采用一种变形,允许用户从多个条件中选择(添加)ElseIf子句以扩充If…Then…Else语句的功能,使用户可以控制基于多种可能的程序流程。例如:
Sub GetMyValue(Value)
If Value = 0 then
Msgbox Value
Elself Value =1 then
Msgbox Value
Elself Value =2 then
Msgbox Value
Else
Msgbox“数值超出了范围”
End if
End Sub
用法如下:
If…Then…Else语句运用
<body>
=8 and hour=12 and hour
</body>
这段代码显示了时间,主体意思是dim定义一个变量,名为hour,将这个变量赋值为15,当hour的值小于8的时候,显示“早上好”;当hour的值大于或等于8而小于12的时候,显示“上午好”;当hour的值大于或等于12而小于18的时候,显示“下午好”;其他,显示“晚上好”,如图4-1所示。
2. Select Case语句
在上面的If…Then…Else语句中可以添加任意多个ElseIf子句以提供多种选择,但这样使用经常会变得很累赘。在VBScript语言中对多个条件进行选择时建议使用Select Case语句。
使用Select Case结构进行判断可以从多个语句块中选择执行其中的一个。Select Case语句使用的功能与If…Then…Else语句类似,表达式的结果将与结构中每个Case的值比较。如果匹配,就执行与该Case关联的语句块。示例代码如下:
select case示例
<body>
</body>
得到的效果如图4-2所示。
Select Case只计算开始处的一个表达式(只计算一次),而If…Then…Else语句结构计算每个ElseIf语句的表达式,这些表达式可以各不相同。只有当每个ElseIf语句计算的表达式都相同时,才可以使用Select Case结构代替If…Then…Else语句。
4.1.6 使用循环语句
循环用于重复执行一组语句。循环可分为3类:一类在条件变为False之前重复执行语句;一类在条件变为True之前重复执行语句;另一类则按照指定的次数重复执行语句。
在VBScript中可使用下列循环语句。
(1)Do…LOOP:当(或直到)条件为True时循环。
例如,计算1+2+……+100的总和,代码如下:
(2)While…Wend:当条件为True时循环。其语法形式为:
While (条件语句)
执行语句
Wend
(3)For…Next:指定循环次数,使用计数器重复运行语句。其语法形式为:
For counter =start to and step
执行语句
Next
(4)For Each…Next:对于集合中的每项或数组中的每个元素重复执行一组语句。
4.1.7 VBScript过程
在VBScript中,过程被分为两类:Sub过程和Function过程。
1. Sub过程
Sub过程是包含在Sub和End Sub语句之间的一组VBScript语句,执行操作但不返回值。过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果Sub过程无任何参数,则Sub语句必须包含空括号()。
例如,下面的Sub过程使用两个应有的(或内置的)函数(InputBox和MsgBox)来提示用户输入信息,然后显示结果。代码如下:
Sub ShowDialog()
Temp = InputBox("请输入你的名字")
MsgBox "你好" &CStr(temp) & "! "
End Sub
2. Function过程
Function过程是包含在Function和End Function语句之间的一组VBScript语句。Function过程与Sub过程类似,但是Function过程可以返回值。Function过程可以使用参数(由调用过程传递的常数、变量或表达式)。如果Function过程无任何参数,则Function语句必须包含空括号()。Function过程通过函数名返回一个值,这个值是在过程的语句中赋给函数名的。Function返回值的数据类型为Variant。
在下面的示例中,ShowInputName函数将返回一个组合字符串,并利用Sub过程输出结果。代码如下:
Sub ShowDialog()
Temp = InputBox("请输入你的名字")
MsgBox AVGMYScore(temp)
End Sub
Function ShowInputName (inputName)
AVGMYScore="你好:" & CStr(inputName) & "!"
End Function
在代码中使用Sub 和Function 过程时,需要注意以下两点。
? 调用Function过程时,函数名必须用在变量赋值语句的右端或表达式中。例如:
Showinfo=showInputName(temp) 或Msgbox AVGMyScore(temp)
? 调用Sub过程时,只需输入过程名及所有参数值,参数值之间使用逗号分隔;无须使用Call语句,如果使用了此语句,就必须将所有参数包含在括号之中。例如:
Call MyProc(firstarg,secondarg)
MyProc firstarg,secondarg
4.2 ASP基础知识
ASP是Active Server Pages的简称,是解释型的脚本语言环境。ASP的运行需要Windows操作系统,9x下需要安装PWS;而NT/2000/XP则需要安装Internet Information Server(IIS);ASP是目前最流行的开放式的Web服务器应用程序开发技术。它能很好地将脚本语言、HTML和数据库结合在一起,通过网页程序来操控数据库。
4.2.1 ASP概述
ASP(Active Server Pages,活动服务器页面)就是一个编程环境,可以混合使用HTML、脚本语言以及组件来创建服务器端功能强大的Internet应用程序。如果你以前创建过一个站点,其中混合了HTML、脚本语言以及组件,就可以在其中加入ASP程序代码。通过在HTML页面中加入脚本命令,就可以创建一个HTML用户界面,并且,还可以通过使用组件包含一些商业逻辑规则。组件可以被脚本程序调用,也可以由其他的组件调用。
ASP具有以下特点。
? ASP不需要进行编译就可以直接执行,并整合于HTML中。
? ASP不需要特定的编辑软件,使用一般的编辑工具就可以,如记事本。
? 使用一些简单脚本语言(如JavaScript、VBScript)的基础知识,再结合HTML就可以制作出完美的网站。
? 兼容各种IE浏览器。
? 使用ASP编辑的程序安全比较高。
? ASP采用了面向对象技术。
4.2.2 ASP工作原理
当在Web站点中融入ASP功能后,将发生以下事情。
? 用户调出站点内容,默认页面的扩展名是.asp。
? 浏览器从服务器上请求ASP文件。
? 服务器端脚本开始运行ASP。
? ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容。
? 页面信息发送到浏览器。
因为脚本是在服务器端运行的,所以Web服务器完成所有处理后,将标准的HTML页面送往浏览器。这意味着,ASP只能在可以支持的服务器上运行。让脚本驻留在服务器端的另外一个益处是:用户不可能看到原始脚本程序的代码,用户看到的仅仅是最终产生的HTML内容。
4.2.3 ADO介绍
ADO(ActiveX Data Objects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。例如,如果你希望编写应用程序从DB2或Oracle数据库中向网页提供数据,就可以将ADO程序包括在作为活动服务器页(ASP)的HTML文件中。当用户从网站请求网页时,返回的网页也包括了数据中的相应数据,这些是由于使用了ADO代码的结果。
与Microsoft的其他系统接口一样,ADO也是面向对象的。它是Microsoft全局数据访问(UDA)的一部分,Microsoft认为与其自己创建一个数据,不如利用UDA访问已有的数据库。为达到这一目的,Microsoft和其他数据库公司在它们的数据库和Microsoft的OLE数据库之间提供了一个“桥”程序,OLE数据库已经在使用ADO技术。ADO的一个特征(称为远程数据服务)支持网页中数据相关的ActiveX控件和有效的客户端缓存。作为ActiveX的一部分,ADO也是Microsoft的组件对象模式(COM)的一部分,它面向组件的框架用以将程序组装在一起。
ADO从原来的Microsoft数据接口远程数据对象(RDO)而来。RDO与ODBC一起访问关系数据库,但不能访问如ISAM和VSAM的非关系数据库。
ADO是对当前微软所支持的数据库进行操作的最有效、最简单的方法,是一种功能强大的数据访问编程模式,从而使得大部分数据源可编程的属性得以直接扩展到Active Server页面上。可以使用ADO去编写紧凑简明的脚本以便连接到Open Database Connectivity(ODBC)兼容的数据库和OLE DB兼容的数据源,这样ASP程序员就可以访问任何与ODBC兼容的数据库,包括MS SQL Server、Access、Oracle等。
比如,如果网站开发人员需要让用户通过访问网页来获得存在于IBM DB2或者Oracle数据库中的数据,就可以在ASP页面中包含ADO程序,以连接数据库。于是,当用户在网站上浏览网页时,返回的网页将会包含从数据库中获取的数据。而这些数据都是由ADO代码做成的。
ADO是一种面向对象的编程接口,微软介绍说,与其同IBM和Oracle提倡的那样,创建一个统一数据库,不如提供一个能够访问不同数据库的统一接口,这样会更加实用一些。为实现这一目标,微软在数据库和微软的OLE DB中提供了一种“桥”程序,这种程序能够提供对数据库的连接。开发人员在使用ADO时,其实就是在使用OLE DB,不过OLE DB更加接近底层。ADO的一项属性——远程数据服务,支持“数据仓库”ActiveX 组件以及高效的客户端缓存。作为ActiveX的一部分,ADO也是COM组件的一部分。ADO是由早期的微软数据接口、远程数据对象RDO演化而来的。RDO同微软的ODBC一同连接关系数据库,不过不能连接非关系数据库。
ADO向我们提供了一个熟悉的、高层的对OLE DB的Automation封装接口。对那些熟悉RDO的程序员来说,你可以把OLE DB比作是ODBC驱动程序。如同RDO对象是ODBC驱动程序接口一样,ADO对象是OLE DB的接口;如同不同的数据库系统需要它们自己的ODBC驱动程序一样,不同的数据源也要求它们自己的OLE DB提供者(OLE DB provider)。目前,OLE DB提供者较少,但微软正积极推广该技术,并打算用OLE DB取代ODBC。
ADO向VB程序员提供了很多好处,包括易于使用、熟悉的界面、高速度以及较低的内存占用(已实现ADO 2.0的Msado15.dll需要占用342KB内存,比RDO的Msrdo20.dll的368KB略小,大约是DAO 3.5的Dao350.dll所占内存的60%)。与传统的数据对象层次(DAO和RDO)不同,ADO可以独立创建。因此你可以只创建一个Connection对象,但是可以有多个独立的Recordset对象来使用它。ADO针对客户/服务器以及Web应用程序做了优化。ADO包含的对象如表4-2所示。
表4-2 ADO包含的对象
对象 说明
Command Command对象定义了将对数据源执行的指定命令
Connection 代表打开的、与数据源的连接
DataControl(RDS) 将数据查询Recordset绑定到一个或多个控件上(例如,文本框、网格控件或组合框),以便在Web上显示ADOR.Recordset数据
DataFactory(RDS Server) 实现对客户端应用程序的指定数据源进行读/写数据访问的方法
DataSpace(RDS) 创建客户端代理,以便自定义位于中间层的业务对象
Error 包含与单个操作(涉及提供者)有关的数据访问错误的详细信息
Field 代表使用普通数据类型的数据的列
Parameter 代表与基于参数化查询或存储过程的Command对象相关联的参数或自变量
Property 代表由提供者定义的ADO对象的动态特性
RecordSet 代表来自基本表或命令执行结果的记录的全集。任何时候,Recordset对象所指的当前记录均为集合内的单个记录
4.2.4 ASP的内置对象
Active Server Pages提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息(如用户首选项)。
ASP内置对象是ASP的核心,ASP的主要功能都建立在某些内置对象的基础之上,常用ASP对象有Application对象、Request对象、Response对象、Server对象和Session对象,下面将一一进行介绍。
1.Application对象
Application 对象在应用程序的所有访问者间共享信息,并可以在Web应用程序运行期间持久地保持数据。如果不加以限制,所有的客户都可以访问这个对象。Application对象通常用来实现存储应用程序级全局变量、锁定与解锁全局变量以及网站计数器等功能。Application对象包含的集合、方法和事件如表4-3所示。
表4-3 Application对象
类型 名称 说明
集合 Contents 存储在Application对象中的所有变量及值的集合
StaticObjects 使用元素定义的存储于Application对象中的所有变量的集合
方法 Contents.Remove 通过传入变量名来删除指定的存储于Contents中的变量
Contents.RemoveAll 删除全部存于Contents中的变量
Lock 锁定在Application中存储的变量,不允许其他客户端修改,调用Unlock或本页面执行完毕后解锁
Unlock 手动解除对Application变量的锁定
事件 Application_OnStart 当事件应用程序启动时触发
Application_OnEnd 当事件应用程序结束时触发
应用案例:
lock方法是禁止其他用户修改application对象的属性,以确保在同一时刻仅有一个客户可修改和存取application变量。如果用户没有明确调用unlock方法,则服务器将会在.asp文件结束或超时后解除对application对象的锁定。最简单的就是进行页面记数的例子。
以上代码表示“你是本页的第位访问者”。当然,如果你需要记数的初始值那就该写个判断了。
以上代码表示“你是本页的第位访问者”。上面的程序,你会发现每刷新一次,都会记数累加,若按ip值访问来记数的话,则建立一个session。
以上代码表示“你是本页的第位访问者”。
2.Request对象
Request对象用来获取客户端传来的任何信息,包括通过POST方法或GET方法、Cookies以及客户端证书从HTML表单传递的参数。通过Request对象也可以访问发送到服务器的二进制数据。Request对象通常用来实现读取网址参数、读取表单传递的数据信息、读取Cookie的数据、读取服务器的环境变量以及文件上传的功能。Request对象包含的集合、方法和事件如表4-4所示。
表4-4 Request对象
类型 名称 说明
集合 ClientCertificate 客户证书集合
Cookies 客户发送的所有Cookies值的集合
Form 客户提交的表单(Form)元素的值,变量名与表单中元素的name属性一致
(续表)
类型 名称 说明
集合 QueryString URL参数中的值,如果把Form的Method属性设为“GET”,就会把所有的Form元素名称和值自动添加到URL参数中
ServerVariables 预定义的服务器变量
属性 TotalBytes 客户端发送的HTTP请求中Body部分的总字节数
方法 BinaryRead(count) 从客户端提交的数据中获取count字节的数据,返回一个无符号型的数组
应用案例:
Request对象的主要作用就是:在服务器端接收并得到从客户端浏览器提交或上传的信息。Request对象可以访问任何基于HTTP请求传递的所有信息,包括从Form表单用POST方法或GET方法传递的参数、Cookie等。下面是一个表单从提交到接收数据的案例。
首先建立一个填写数据再提交信息的静态页面a.html,如图4-3所示。
姓名:
工作单位:
注意,在上述代码中method为post,且提交的页面action为b.asp,b.asp主要是读取a.html页面表单中填写的数据信息,其核心代码如下:
你的姓名是:
你的工作单位是:
3.Response对象
Response 对象用来控制发送给客户端的信息,包括直接发送信息到浏览器、重定向浏览器到其他URL或设置Cookie值。Response 对象通常用来实现输出内容到网页客户端、网页重定向、写入Cookie和文件下载等功能。Response 对象包含的集合、方法和事件如表4-5所示。
表4-5 Response对象
类型 名称 说明
集合 Cookies 设置客户端Cookie的值,当前响应中发送给客户所有的Cookie值的集合。每一个成员都是只读的
属性 Buffer 是否启用缓存,此句必须放在ASP文件的第一行。启用Buffer之后,只有所有脚本执行完毕后才会向客户端输出
CacheControl 设置代理服务器是否可以缓存ASP,以及缓存的级别
Charset 设置字符集,如简体中文为“gb2312”,与在网页中的meta段写charset=gb2312具有相同的作用
ContentType 设置HTTP内容类型,如“text/html”
Expires 设置或返回一个页面缓存在浏览器中的有效时限,以分钟计算
ExpiresAbsolute 设置页面缓存在浏览器中到期的绝对时间
IsClientConnected 判断客户端是否已经断开连接
LCID 设定或获取日期、时间或货币的显示格式
Status 以一个三位数加简要说明的格式,设置服务器的返回状态,如Response.Status = "401 Unauthorized"
方法 AddHeader(HeaderName, HeaderValue) 向HTTP头中加入额外的信息,其中HeaderName可以重复,信息一旦加入,则无法删除
AppendToLog 向Web 服务器手动加入一条日志
BinaryWrite 向HTTP输出流中写入不经过任何字符转换的数据,用于各客户端传送图片或下载文件
Clear 清空缓存
End 停止处理ASP文件,直接向客户端输入现在的结果
Flush 向客户端立即发送缓存中的内容
Redirect 向浏览器发送一个重定向的消息,浏览器接收到此消息后重定向到指定页
Write 向HTTP输出流中写入一个字符串
应用案例:
Response对象主要负责将信息传递给用户,可以动态地响应客户端的请求,并将动态生成的响应结果返回给客户端浏览器。在Response中Write方法是使用最频繁的一个了,Write就是将指定的字符串写到当前的HTTP输出,例如:
")
%>
以上代码表示输出“hello,world”。
4.Server对象
Server对象提供对服务器上的方法和属性的访问。其中,大多数方法和属性是作为实用程序的功能服务。Server对象通常用来实现组件的创建、获取服务器的物理路径、对字符串进行HTML编码和转向执行其他ASP文件等功能。Server对象包含的集合、方法和事件如表4-6所示。
表4-6 Server对象
类型 名称 说明
属性 ScriptTimeout 设置脚本超时。当一个ASP页面在一个脚本超时期限之内仍没有执行完毕时,ASP将终止执行并显示超时错误
方法 CreateObject 创建已注册到服务器的ActiveX组件
Execute 用于停止当前网页的运行,并将控制权交给URL中所指定的网页
GetLastError 返回一个ASPError对象,用来描述错误的详细信息。值得注意的是,必须向客户端发送一些数据后这个方法才会起作用
HTMLEncode 将输入的HTML字符串换为HTML编码
MapPath 将虚拟路径映射为绝对路径。如使用Access数据库时,为防止下载,将其放在站点应用程序之外,然后通过此方法找到数据库在服务器上的绝对路径
Transfer 停止执行此ASP文件,转向执行另外一个ASP文件
URLEncode 将输入的字符串进行URL编码
应用案例:
Server应用案例
<body>
我爱中国对应的HTML代码为:"
Response.Write Server.HTMLEncode("我爱中国")
Response.Write"
"
Response.Write"URL地址:http://www.eduboxue/bbs?a=hello world经过编码后的URL为:"
Response.Write Server.URLEncode("http://www.eduboxue/bbs?a=hello world")
%>
</body>
5.Session对象
可以使用Session对象来存储特定会话(Session)所需的信息,当一个客户端访问服务器时,就会建立一个会话。当用户在应用程序不同页面间跳转时,不会丢弃存储在 Session 对象中的变量,这些变量在用户访问应用程序页的整个期间都会保留。可以使用 Session 对象来显式结束会话并设置闲置会话的超时时限。Session对象包含的集合、方法和事件如表4-7所示。
表4-7 Session对象
类型 名称 说明
集合 Contents 使用脚本命令(赋值语句)向Session中存储的数据,可以省略Contents而直接访问,如:Session("var")
StaticObjects 使用标记定义的存储于Session对象中的变量集合。运行期间不能删除
属性 CodePage 设置当前Session的代码页,参见Response对象的CodePage属性
LCID 设定当前Session的日期、时间或货币的显示格式,参见Response的LCID属性
SessionID 返回Session的唯一标识
Timeout 设置Session的超时时间,以分钟为单位,在IIS中默认设置为20分钟
方法 Abandon 当ASP文件执行完毕时释放Session中存储的所有变量,当下次访问时,会重新启动一个Session对象。如果不显式调用此方法,只有当Session超时时才会自动释放Session中的变量
Contents.Remove 删除Contents集合中的指定变量
Contents.RemoveAll 删除Contents集合中的全部变量
事件 Session_OnEnd 声明于global.asa中,客户端首次访问时或调用Abandon后触发
Session_OnStart 声明于global.asa中,Session超时或者调用Abandon后触发
应用案例:
<body>
")
response.write("默认 Timeout 是:" & Session.Timeout & " 分钟。")
response.write("")
Session.Timeout=30
response.write("")
response.write("现在的 Timeout 是 " & Session.Timeout & " 分钟。")
response.write("")
%>
</body>
本实例运行结果如下:
默认 Timeout 是20 分钟。
现在的 Timeout 是 30 分钟。
4.2.5 ASP常用的组件
1.浏览器兼容组件
不同的浏览器支持不同的功能,如有些浏览器支持框架,有些不支持。利用这个组件,可以检查浏览器的能力,使网页针对不同的浏览器显示不同的页面(如对不支持Frame的浏览器显示不含Frame的网页)。该组件的使用很简单,需要注意的是,要正确使用该组件,必须保证Browscap.ini文件是最新的。
组件的使用与对象类似,但是组件在使用前必须先创建,而使用内置对象前不必创建。浏览器兼容组件属性如表4-8所示。
表4-8 浏览器兼容组件
属性 说明
Browser 指定浏览器的名字
Version 指定浏览器的版本号
Majorver 浏览器的主版本(小数点以前的)
Minorver 浏览器的次版本(小数点以后的)
Frames 指定浏览器是否支持框架
Cookies 指定浏览器是否支持Cookie
Tables 指定浏览器是否支持表格
Backgroundsounds 指定浏览器是否支持背景音乐
JavaScript 指定浏览器是否支持JavaScript或JScript
Javaapplets 指定浏览器是否支持Java小程序
ActiveXControls 指定浏览器是否支持ActiveX控件
Beta 指定浏览器是否为测试版本
Platform 指定浏览器运行的平台
Cdf 指定浏览器是否支持用于Web建造的信道定义格式(CDF)
浏览器兼容组件只有一个Value方法,用于为当前代理用户从Browscap.ini文件中提取一个指定的值。
2.文件访问组件
文件访问组件提供文件的输入/输出方法,使得在服务器上可以毫不费力地存取文件。
文件访问组件利用对象的属性及方法对文件及文件夹进行存取访问。其对象和集合如表4-9所示。
表4-9 文件访问组件
类型 名称 说明
对象 FileSystemObject 该对象可以建立、检索、删除目录及文件
TextStream 该对象提供读写文件的功能
File 该对象可以对单个文件进行操作
Folder 该对象可以处理文件夹
Drive 该对象实现对磁盘驱动器或网络驱动器的操作
集合 Files 该集合代表文件夹中的一系列文件
Folders 该集合的积压项与文件夹中的各子文件夹相对应
Drives 该集合代表了本地计算机或映射的网络驱动器中可以使用的驱动器
3.广告轮显组件
广告轮显组件使用独立数据文件主式,可以维护、修改广告Web,可使每次打开或者重新加载网页时,随机显示广告。在使用该组件前,首先应该建立一个旋转时间表文件(用于设置自动旋转图像及其相应时间等信息),并确保已设置了需要的组件属性。广告轮显组件的属性和方法如表4-10所示。
表4-10 广告轮显组件
类型 名称 说明
属性 Border 该属性用于指定能否在显示广告时给广告加上一个边框以及广告边界大小
Clickable 该属性指定该广告是不是一个超链接,默认值是true
Targetframe 该属性指定超链接后的浏览Web,默认值是no frame
方法 GetAdvertisement 该方法可以取得广告信息
4.内容链接组件
内容链接组件可以把一系列的Web连接到一起。内容链接组件提供了8种方法,可以从内容链接列表文件中提取不同的条目,无论是相对当前网页的条目还是使用索引编号的绝对条目。其属性和方法如表4-11所示。
表4-11 内容链接组件
类型 名称 说明
属性 About 该属性是一个只读属性,返回正在使用组件的版本信息
方法 GetListCount 该方法返回指定列表文件中包含项的数量
GetListIndex 该方法返回列表文件中当前页的索引
GetPreviousURL 该方法从指定的列表文件中返回当前页的上一页的URL
GetPreviousDescription 该方法从指定的列表文件中返回当前页的上一页的说明行
GetNthURL 该方法从指定的列表文件中返回指定索引页面的URL
GetNthDescription 该方法从指定的列表文件中返回指定索引页面的说明行
5.ASP其他常见的组件
除了前面介绍的组件以外,ASP还包含一些其他常用的组件。这些组件相当于一些小工具,能够完成网站开发所需的特定功能。
(1)Data Access组件
数据库访问组件是利用ASP开发Web数据库最重要的组件,可以利用该组件在应用程序中访问数据库,然后可以显示表的整个内容,允许用户构造查询以及在Web执行一些其他的数据库操件。
(2)Content Rotator组件
该组件实现的是文本(HTML)代码的轮流播放。使用该组件,同样需要一个定时文件,该文件被称为内容定时文件,在该文件中包含了每个文件的值及其需要被显示的时间比例。
Content Rotator组件通过读取该文件中的信息,自动在Web中插入需要被定时的HTML代码,网站开发人员只要维护内容定时文件就可实现不同页面中定时文件的播放。
(3)Permission Checker组件
该组件能让网站开发人员方便地引用操作系统的安全机制,判断一个Web用户是否有访问Web服务器上某一个文件的权限。
(4)Logging Utility组件
该组件提供了访问Web服务器日志文件的功能,允许从ASP网页内读入或更新数据。
(5)Tools组件
该组件相当于一个工具包,提供了有效的方法,可以在网页中用于检查文件是否存在,处理一个HTML表单和生成随机整数。
4.3 创建数据库的连接
数据库网页动态效果的实现,其实就是将数据库中的记录显示在网页上。因此,如何在网页中创建数据库连接并读取出数据显示就是开发动态网页的一个重点。
4.3.1 Connection对象
Connection对象是与数据存储进行连接的对象,它代表一个打开的、与数据源的连接。Connection对象指定使用的OLEDB提供者、如果是客户端/服务器数据库系统,该对象可以等价于到服务器的实际网络连接。取决于提供者所支持的功能,Connection 对象的某些集合、方法或属性有可能无效。
实际上如果没有显式地创建一个Connection对象连接到数据存储,那么在使用Command对象和RecordSet对象时,ADO会隐式地创建一个Connection对象。建议显式创建Connection对象,然后在需要使用的地方引用它。因为,通常在进行数据库操作时,需要运行不止一条数据操作命令,如果不显式地创建一个Connection对象,在每运行一条命令时就会隐式地创建一个Connection对象实例,这样会导致效率下降。创建一个Connection对象实例很简单,使用Server对象的CreateObject(ADODB. Connection)即可。
4.3.2 用OLEDB连接数据库
利用OLEDB创建Access数据库的连接格式如下:
需要注意的是,参数data source提供的是Access数据库路径。
利用OLEDB对SQL Server数据库创建连接格式如下:
上述代码中,各参数的意义如下:
? 参数provider用来规定这次连接使用的是OLEDB提供的程序名称。
? 参数data source用来提供SQL Server名称。如果SQL Server位于名为local的机器上,那么此参数值应设为local。若数据库服务器与网络服务器位于同一台机器,则应将此参数设为local Server。
? 参数uid表示连接中用到的SQL Server系统用户名。
? 参数pwd包含SQL系统用户的密码,可以在SQL企业管理器中设置此密码。
? 参数database指定位于Database Server上的一个特定数据库。此参数也是可选的。若不指定一个数据库,则会用到SQL系统默认的数据库。
4.3.3 用ODBC实现数据库连接
可以利用ODBC实现数据库连接,具体的连接步骤如下:
依次单击“控制面板”| “管理工具”|“数据源(ODBC)” | “系统DSN”命令,打开“ODBC数据源管理器”对话框,如图4-4所示。
图4-4 “ODBC数据源管理器”中的“系统DSN”选项卡
在图4-4中单击“添加(D)”按钮,打开“创建新数据源”对话框,在“创建新数据源”对话框中,选择Driver do Microsoft Access(*.mdb)选项,如图4-5所示。
图4-5 “创建新数据源”对话框
单击“完成”按钮,打开“ODBC Microsoft Access安装”对话框,在“数据源名(N)”文本框中输入connodbc,如图4-6所示。
图4-6 “ODBC Microsoft Access 安装”对话框
在图4-6中单击“选择(S)”按钮,打开“选择数据库”对话框,单击“驱动器(V)”文本框右边的三角按钮 ,从下拉列表框中找到在创建数据库步骤中保存数据库的文件夹。找到数据库后,单击“确定”按钮回到“ODBC Microsoft Access 安装”对话框中,再次单击“确定”按钮,将返回到“ODBC数据源管理器”中的“系统DSN”选项卡,可以看到“系统数据源”中已经添加了一个名称为connodbc、驱动程序为Driver do Microsoft Access(*.mdb)的系统数据源,如图4-7所示。
图4-7 “ODBC数据源管理器”中的“系统DSN”选项卡
单击“确定”按钮,完成“ODBC数据源管理器”中“系统DSN”的设置。
创建系统DSN以后,就可以在ASP中使用它了,其代码如下:
从代码中可以看出,这里创建了一个ADO Connection对象,利用open属性打开数据。