资源描述
网络数据库设计入门
(一) SQL语言简介
这一教程是对网络数据库设计的一个入门介绍,简要地介绍了SQL语言的基础以及如何使用MS ACCESS和MS SQL SEVER建立网络数据库。通过本教程的学习,你可以建立、访问和操作你的数据库,可以学会如何使用SQL语句检索、增加、更新、删除数据库表中的内容。这对于任何有关数据库的操作和开发都具有重要意义。
1.1 SQL语言简介
1.1.1 SQL语言及其优点
1.1.2 SQL语言的分类及语法
1.2 中小型关系型数据库简介
1.2.1 关系型数据库简介
1.2.2 Access数据库及其基本操作
1.2.3 SQL Server数据库及其基本操作
1.3 ODBC与ADO对象
1.3.1 ASP访问数据库的几种方式
1.3.2 创建和配置ODBC数据源
1.3.3 用ADO实现访问数据库
1.1 SQL语言简介
SQL是英文(Structured Query Language)的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。
(二)SQL语言及其优点
1.1.1 SQL语言及其优点
首先,让我们来了解一下使用SQL语言的优点:
● 非过程化语言
● 统一的语言
● 是所有关系数据库的公共语言
1.非过程化语言
SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。
SQL不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得到的结果;所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。
2.统一的语言
SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL 命令只需很少时间就能学会,最高级的命令在几天内便可掌握。
SQL为许多任务提供了命令,其中包括:
● 查询数据
● 在表中插入、修改和删除记录
● 建立、修改和删除数据对象
● 控制对数据和数据对象的存取
● 保证数据库一致性和完整性
以前的数据库管理系统为上述各类操作提供单独的语言,而SQL 将全部任务统一在一种语言中。
3.是所有关系数据库的公共语言
由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS(关系数据库管理系统)转到另一个,所有用SQL编写的程序都是可以移植的。
(三)SQL语言的分类及语法
1.1.2 SQL语言的分类及语法
可执行的SQL语句的种类数目之多是惊人的。使用SQL,你可以执行任何功能:从一个简单的表查询,到创建表和存储过程,到设定用户权限。在这个章节中,我们将重点讲述如何从数据库中检索、更新和报告数据,也是基于这个目的,我们应该了解的最重要的SQL语句是:
● SELCET
● INSERT
● UPDATE
● DELETE
● CREAT
● DROP
以上这些命令可简要描述如表1.1所示,这些命令看起来并不困难,在下面的例子中,我们将在实例中应用这些命令,了解其功能。
表1.1 重要的SQL语句
命令
类别
说明
SELECT
数据查询语言
从一个表或多个表中检索列和行
INSERT
数据操纵语言
向一个表中增加行
UPDATE
数据操纵语言
更新表中已存在的行的某几列
DELETE
数据操纵语言
从一个表中删除行
CREATE
数据定义语言
按特定的表模式创建一个新表
DROP
数据定义语言
删除一张表
1.SELECT语句语法
表1.2 SELECT语句的组件
组件
说明
SELECT
指明要检索的数据的列
FROM
指明从哪(几)个表中进行检索
WHERE
指明返回数据必须满足的标准
GROUP BY
指明返回的列数据通过某些条件来形成组
HAVING
指明返回的集合必须满足的标准
ORDER BY
指明返回的行的排序顺序
下面我们对这个重要的语句语法进行示例讲解,需要说明的是这一章节中所涉及到的例子都是基于图1.1描述的表结构。
Authors
id
name
phone
address
zip
salary
contract
图1.1 在test数据库中的authors表的结构
● 一个简单的SELECT语句:
SELECT id,name,phone,zip
From authors
这个简单的查询的结果得出的内容为authors表中返回的选定列的数据。在同样的检索情况下,如果你想缩小范围,比如只想知道住在福州鼓楼地区(邮编为350002)的作者的名字,你可以接着看后面的例子;
● 添加WHERE子句
SELECT id,name,phone,zip
From authors
WHERE zip = ‘350002’
在检索表行时,WHERE子句可以使用多个列作为约束内容,当然在检索约束内容中还可以加入通过AND、OR以实现多个约束。另外,在SELECT语句中我们还可以通过更改比较操作符来改变约束的条件,以达到我们需要的检索目的。我们再看一个例子;
● 完整约束查询
SELECT id,name,phone,zip
From authors
WHERE zip <> ‘350002’AND phone = ‘1234567’
这个例子查询结果返回的是住在福州鼓楼地区以外(邮编号不为350002)的且电话号码为1234567的作者的资料。
表1.3 SELECT语句中支持的比较操作符
操作符
说明
=
等于
>
大于
<
小于
>=
大于等于
<=
小于等于
<>
不等于
IN
位于指定列表值中,或者指定的子查询的结果中
BETWWEEN..AND
位于两个值之间
LIKE
包含与指定串相同的模式。此模式将与一个或多个通配符的串相比较
● 添加ORDER BY子句
SELECT id,name,phone,zip
From authors
WHERE zip = ‘350002 ‘
ORDER BY id
这样,这条SQL语句返回的结果将id列的升序排序。
1.1.2 SQL语言的分类及语法
2.INSERT语句语法
表1.4 INSERT语句的组件
组件
说明
INSERT INTO
指明要向哪个表中加入行
同时列出指定加入的列,如未指定的对象为表中的每一列
VALUES
指明在列表中各列的填充值
SELECT
SELECT语句返回被加到表中的各行
● 一个简单的INSERT语句:
INSERT INTO authors
VALUES
(‘FZ1234’,’张三’,’1234567’,’深圳幸运计算机公司’,’350002’,’本文作者’)
这样,便向表中加入了一条记录。
我们也可以指明用哪几列来填充,看下面的例子;
● 一个简单的INSERT语句:
INSERT INTO authors(id,name,phone)
VALUES (‘FZ3456’,’李四’,’7654321’)
通过上面两个例子的方法,我们就可以往数据库中添加内容了,需要注意的是,我们插入值(包含在VALUES部分中的)要按照INSERT INTO 部分中指明的列的顺序,或是在未指明的条件下按照数据库原始各列的顺序。
3.UPDATE语句语法
表1.3 UPDATE语句的组件
组件
说明
UPDATE
指明要更新的表
SET
指明用来更新的列和分配给那些列的新值
FROM
指明UPDATE语句所以处理的对象表
WHERE
指明要更新的数据所满足的标准
● 将列设定为确定值:
UPDATE authors
SET zip = ‘350003’
WHERE id = ‘FZ4567’
通过这个语句我们可以把数据库中id为 FZ4567 的条记录的zip列的值改为 350003。这时如果我们无法给出确定的值,比如我们要给 id 为 FZ1234 的那位作者加薪 100 元,则可以这样改写SQL语句语句;
● 基于已有的值来设置新的列值
UPDATE authors
SET salary = salary + 100
WHERE id = ‘FZ1234’
这样,即使不知道authors表中的salary列值,也可以用一条简单的UPDATE语句成功地把薪水增加 100。
1.DELETE语句语法
表1.4 DELETE语句的组件
组件
说明
DELETE FROM
指明要执行删除操作的表
WHERE
指明要删除行所满足的标准
● 删除一个表中的所有值:
DELETE FROM authors
这条语句的执行结果是删除authors表中的所有行。
● 删除一个表中的指定的行
DELETE FROM authors
WHERE id = ‘FZ1234’
这条语句的执行结果是删表authors中id为 FZ1234 的行。
在前面的一部分内容中我们讲述了最常用的SQL语句的基本方法,但这只是SQL语句的一部分,其它的SQL语句由于不常用就不一一讲述了。各位读者如果有兴趣可以参考一些专门的SQL语法资料,这将能使你更好地操纵数据库,更好地通过数据库来帮助你完成你的工作。
(四)中小型关系型数据库简介
1.2 中小型关系型数据库简介
1.2.1 关系型数据库简介
在我们对数据库操作进行讲解前,我们觉得有必要向大家介绍一下关系型数据库这个概念,因为我们觉得无论是你做什么样的系统,都或多或少要接触到数据库,而现在提到数据库,当然就是关系型数据库了。那么,什么是关系型数据库(RDB)呢?
在关系型数据库中数据以行和列的形式存储,以便于用户理解,这一系列的行和列被称为表,一组表便组成了数据库。在关系数据库中:各数据项之间用关系来组织,关系(relationship)是表之间的一种连接,通过关系,我们可以更灵活地表示和操纵数据;另外,用户可以非常方便的用查询(Query)来检索数据库中的数据,一个Query是一个用于指定数据库中行和列的SELECT语句。
关系型数据库通常包含下列组件:
● 客户端应用程序(Client)
● 数据库服务器(Server)
● 数据库(Database)
SQL是Client端通往Server端的桥梁,Client用SQL来象Server端发送请求,Server返回Client端要求的结果。
现在比较流行的大中型关系型数据库有IBM DB2、Oracle、SQL Server、SyBase、Informix等,常用的小型数据库有Access、Pradox、Foxpro等,现在个人用户比较常用的主要是基于中小型数据库MS SQL Server和Access的,所以在以下的篇幅中我们介绍这两种数据库系统的简单操作。
(五)Access数据库及其基本操作
1.2.2 Access数据库及其基本操作
Access是一个数据库管理系统,它之所以被集成到Office中而不是Visual Studio中,是因为它与其它的数据库管理系统(如Visual FoxPro)相比更加简单易学,一个普通的计算机用户即可掌握并使用它。而且最重要的一点是,Access的功能足够强大,足以应付一般的数据管理及处理需要。
下面,让我们以用MS Access创建一个数据库为例介绍这种数据库的基本用法,需要说明的是,该数据库中包含了一张结构如图1.1的表。
1.新建数据库
新建一个数据库有两种方法:一种是创建一个空数据库,即建立一个没有表、查询、窗体和报表等内容的数据库;另一种方法是使用Access中提供的数据库模板创建数据库,即通过对向导所提出的选项和不同选择来设计窗体、查询和报表等,从而建立一个完整的数据库。这里我们将使用第一种方法:
Step1:在Access窗口中单击 “文件(F)”菜单,在下拉菜单中选择 “新建”项,将得到如图1.2所示的对话框。
图1.2 “新建”对话框
Step2:双击 “数据库” 图标,即会显示 “文件新建数据库” 对话框,如图1.3所示
图1.3 “文件新建数据库”对话框
Step3:在文件名文本框中输入要保存数据库的文件夹及新建的数据库名,如 “C:\test”,然后选择 “确定”。即可创建好一个名为 “test” 的数据库,并显示如图1.4。
图1.4 test 数据库窗口
二.添加数据表
表是Access数据库的基础,是信息的载体。其它对象如查询、窗体和报表,也是将表中的信息以各种形式表现出来,方便用户使用这些信息。在Access中,创建表的方法有三种:一是使用设计器创建表;二是通过输入数据创建表;三是利用向导创建表。在这里,我们采用第一种方法创建表:
Step4:在图1.4的窗体中,双击 “使用设计器创建表”,则会出现如图1.5所示的对话框。
图1.5 表设计器对话框
Step5:在“字段名称”列的第一行中输入authors表的第一个字段的名字 id。然后按回车键,此时在“数据类型”列中会显示出一个按钮,单击按钮,在弹出的下拉列表中选择“文本”选项,设置 id 字段的类型为文本型。如图1.6所示。
图1.6 设置字段数据类型
Step6:在“字段属性”域的“常规”选项卡中,可以设置字段的大小、格式和规则等。如我们可以把id字段的长度大小设置为12,并且规定其不能为空,因此,可以设置如下:在 “字段大小”文本框中输入12,在 “必填字段”文本框中输入“是”,在“允许空字符串”文本框中输入“否”。如图1.7所示。
图1.7 设置字段属性内容
Step7:重复上述方法,添加其它字段,并设置其属性。
Step8:设置完成后,单击 “文件(F)”菜单,在下拉菜单中选择 “保存”项,将会出现一个如图1.8的对话框,在“表名称”文本框中输入表名 authors,单击确定按钮。
图1.8 “保存”对话框
Step9:此时,系统会提示用户建立一关键字段。一般情况下单击“是”完成即可。
1.2.2 Access数据库及其基本操作
三.表的操作
在添加了数据表之后,我们实际上就初步地完成了一个数据库的建立工作,接下来我们就可以通过SQL语句对数据库进行操作。当然,在Access中,对表的操作十分的方便,可以浏览表;为表添加、删除备忘录;对表记录进行排序,因为Access是面向一些普通用户的,所以其操作方法不必要用户清楚SQL语句的语法及结构。在此,我们就简要地介绍一下在Access环境下表的操作。
(1)浏览表
打开原先建立的test数据库,在对象栏中双击authors表的图1.标即可打开表authors。如图1.9所示。
图1.9 查看表
在打开了数据表之后,我们就可以通过记录选定器(图1.9中左边界的栏目),定位按钮(图1.9中左下方)和滚动条(在记录长度和数据超过一屏可以显示的范围时,窗体将自在右边界与右下边界出现滚动条)。
(2)添加与编辑记录
在打开了的查看窗体中即可添加与编辑记录,其方法如图1.10所示。
图1.10 添加与编辑表内容
(3)删除表中的记录
对表中记录的删除两种,一种是删一条的记录,其操作方法如图1.11所示,单击该条记录左边的记录选定器选定该记录,然后单击右键,在弹出的菜单中选择删除记录即可;另一种操作是删除多条记录,其方法如图1.12所示,单击第一条要删除的第一条记录的记录选定器,同时不要松开鼠标,继续向下拖动,直至覆盖要删除的其它记录为止,然后单击右键并在弹出菜单中选择删除记录。
图1.11 删除单条记录
图1.12 删除多条记录
(六)SQL Server数据库及其基本操作
1.2.3 SQL Server数据库及其基本操作
SQL Server 是一种高效的关系数据库系统,它与Windows NT/2000及Windows 9x等操作系统紧密集成。这种安排使SQL Server能充分利用操作系统所提供的特性。对于今天复杂的客户/服务器系统来说,SQL Server是一个很好的选择。
下面,还是让我们以图1.1所示的表为例,在SQL Server中建立一个test数据库,test库中包含了该表。
1.新建数据库
Step1:启动SQL Server Enterprise Manager,单击服务器旁的加号(+),其中便包含了已有的数据库。
Step2:在Databases文件夹上单击鼠票右键,选择New Database菜单选项。系统会显示Database Properties对话框,如图1.13所示。
图1.13 用Enterprise Manager创建一个数据库
Step3:选择General标签(如图1.13,该标签在初始时已默认被选中),在Name的文本输入一个数据库名,我们这里输入的是test(即是创建后的数据库名)。
Step4:在Database files对话框的Database files部分,输入文件名、位置、初始大小和文件组信息(一般按照默认的设置即可)。
Step5:如果你想使SQL Server能够自动地按需要增加数据库文件的大小,就应该选择Automatic grow file选项,否则则不选取。
Step6:在Transaction Log标签中的Transaction Log对话框部分,可以输入文件名、位置及服务日志的初始大小。而日志的大小也可能通过 Automatic grow file选项来设置是否能按需要来增加日志文件的大小。
Step7:单击“确定”以完成创建数据库。
以上的(4)—(6)步聚均可按系统原来的默认设置来进行,这也是我们推荐的。
在SQL Server中,当然也支持通过SQL语句来创建数据库,当然这对一个普通用户来说是没有必要的,并且也是烦琐的,在此,我们不进行详细讲述。
2.创建数据表
Step1:打开Databases文件夹,在新建的test数据库图1.点上单击鼠标右键,选择 “新建” -> “Table..”菜单项。如图1.14所示
图1.14 创建数据表
Step2:在弹出的“选择”名称对话框的文本输入框中输入要创建的数据表名 authors,然后单击确定以创建新表,如图1.15所示。
Step3:设置该表的字段属性,如图1.16所示。
Step4:保存设置并退出,新表即建立完成。
图1.15 设置新表的属性
图1.16 设置新表的字段属性
3.表的操作
在SQL Server中,有提供了类同于Access的界面予于用户进行对表的操作。限于篇幅,我们就不在这里进行讲述了。
(七)ODBC与ADO对象1
1.3 ODBC与ADO对象
1.3.1 ASP访问数据库的几种方式
在我们介绍了数据库操作的基础知识后,我们接下来的任务是告诉大家如何用ASP访问数据库,因为一个系统不可能没有数据呀,所以我们就必须让ASP采用一个高效的方法通过Internet或Intranet来访问、操作数据库。我们知道在传统的HTML页面中,访问数据库一般是通过公用网关接口(CGI)来实现,这种方式不仅开发困难,而且在出现大量并发请求时会显著地降低服务器的运行效率,而采用ASP实现数据库访问可以说能较好地解决这个问题。
在ASP脚本中可以通过三种方式访问数据库:
● IDC(Internet Database Connector)方式
● ADO(ActiveX Data Objects)方式
● RDS(Remote Data Service)方式
从概念上来讲,这三种访问方式对数据库的访问是由Internet Information Server来完成的。Web浏览器用HTTP协议向Internet信息服务器(IIS)递交请求。Internet信息服务器执行访问数据库的操作,并以一个HTML格式的文档作为回答。
1.Internet数据库接口(IDC)
IDC是一个传统的数据库查询工具,用来定义和执行数据库查询的SQL命令,并向浏览器返回一个指定数据格式的页面。使用IDC访问数据库最大的特点是简单,几乎不需要编程就能实现对数据库的访问。
2.ActiveX数据对象(ADO)
与IDC不同,用ADO访问数据库更类似于编写数据库应用程序,ADO把绝大部分的数据库操作封装在七个对象中,在ASP页面中编程调用这些对象执行相应的数据库操作。ADO是ASP技术的核心之一,它集中体现了ASP技术丰富而灵活的数据库访问功能。ADO建立了基于Web方式访问数据库的脚本编写模型,它不仅支持任何大型数据库的核心功能,而且支持许多数据库所专有的特性。ADO使用本机数据源,通过ODBC访问数据库。这些数据库可以是关系型数据库、文本型数据库、层次型数据库或者任何支持ODBC的数据库。ADO的主要优点是易用、高速、占用内存和磁盘空间少,所以非常适合于作为服务器端的数据库访问技术。相对于访问数据库的CGI程序而言,它是多线程的,在出现大量并发请求时,也同样可以保持服务器的运行效率,并且通过连接池(Connection Pool)技术以及对数据库连接资源的完全控制,提供与远程数据库的高效连接与访问,同时它还支持事务处理(Transaction),以开发高效率、高可靠性的数据库应用程序。
正是因为使用ADO需要编写脚本程序,所以ADO能够实现更复杂、更灵活的数据库访问逻辑。目前,ADO包括Command、Connection、Recordset等七个对象和一个动态的Properties集合,绝大部分的数据库访问任务都可以通过它们的组合来完成。
1.3 ODBC与ADO对象
1.3.1 ASP访问数据库的几种方式
3.远程数据服务(RDS)
RDS是IIS 1.0中新提出的概念,它是由ASP中原来的Advanced Data Connector(ADC)发展而来的。在IIS 1.0中,RDS与ADO集成到一起,使用同样的编程模型,提供访问远程数据库的功能。
ADO虽然能够提供非常强大的数据库访问功能,但是它不支持数据远程操作(DataRemoting)。换句话说,ADO只能执行查询并返回数据库查询的结果,这种结果是静态的,服务器上的数据库与客户端看到的数据没有“活的连接关系”。假如,客户端需要修改数据库中的数据,就必须构造修改数据的SQL语句,执行相应的查询动作。而RDS就比ADO更进一步,它支持数据远程操作。它不仅能执行查询并返回数据库查询结果,而且这种结果是“动态的”, 服务器上的数据库与客户端看到的数据保持“活的连接关系”。即把服务器端的数据搬到客户端,在客户端修改数据后,调用一个数据库更新命令,就可以将客户端对数据的修改写回数据库,就象使用本地数据库一样。
由于RDS与ADO集成,RDS的底层是调用ADO来完成的,所以也可以将RDS理解为ADO的RDS,即ActiveX数据对象的远程数据服务。RDS在ADO的基础上通过绑定的数据显示和操作控件,提供给客户端更强的数据表现力和远程数据操纵功能。可以说RDS是目前基于Web的最好的远程数据库访问方式。
以上就是ASP访问数据库的三种方式,它们三者各有各的特色。IDC十分简单,使用.idc文件和.htx文件分别完成数据库的访问与输出任务,但是使用起来不灵活。ADO是ASP中推荐使用的方式,它功能强大,使用方便,是ASP的核心技术之一,但是它在提供用户远程操作数据库的功能时,比较复杂,实现起来有一定的难度。而RDS是基于ADO的,并提供远程操作数据库的强大工具。所以在需要提供高性能、高可靠性的远程数据操作功能时,RDS是更为理想的选择。
而在以上的三种方式中,微软推荐的与现在常采用的都是通过ADO的方式访问数据库,因此接下来,我们就来讲述一下有关ADO的方案。
1.3.2 创建和配置ODBC数据源
ADO可以与ASP结合,以建立提供数据库信息的主页内容,在主页画面执行SQL命令,让用户在浏览器画面中输入,更新和删除站点服务器的数据库信息;ADO使用RecordSets对象,作为数据的主要接口;ADO可使用Vbscript,JavaScript语言来控制数据库的访问,与查询结果的输出显示画面;ADO可连接多种的数据库,包括SQL Server、Oracle、Informix等支持ODBC的数据库。因此,在使用ADO访问数据库之前我们还有一项重要的工作要做,那就是创建和配置ODBC数据源。
1. ODBC的定义
首先,还是也让我们来解释一下有关ODBC的概念,这将有利于下面内容的理解。ODBC(Open Database Connectivity开放式数据库互联)是微软推出的一种工业标准,一种开放的独立于厂商的API应用程序接口,可以跨平台访问各种个人计算机、小型机以及主机系统。ODBC作为一个工业标准,绝大多数数据库厂商、大多数应用软件和工具软件厂商都为自己的产品提供了ODBC接口或提供了ODBC支持,这其中就包括常用的SQL SERVER、ORACAL、INFORMIX等,当然也包括了Access。
数据库驱动程序使用Data Source Name (DSN) 定位和标识特定的 ODBC 兼容数据库,将信息从 Web 应用程序传递给数据库。典型情况下,DSN 包含数据库配置、用户安全性和定位信息,且可以获取 Windows NT 注册表项中或文本文件的表格。通过 ODBC,我们可以选择希望创建的 DSN 的类型:用户、系统或文件。
为了更好地让大家理解上一段话,我们接下来来解释一下其中的几个名词:
● DSN:根据MICROSOFT的官方文档,DSN的意思是“应用程序用以请求一个连到ODBC数据源的连接(CONNECTION)的名字”,换句话说,它是一个代表ODBC连接的符号。它隐藏了诸如数据库文件名、所在目录、数据库驱动程序、用户ID、密码等细节。因此,当建立一个连接时,你不用去考虑数据库文件名、它在哪儿等等,只要给出它在ODBC中的DSN即可。
● FILE DSN: 当我们讨论这个问题时,先看看其他的DSN类型
● SYSTEM DSN:这种DSN可以被任何登录到系统中的用户使用。
● USER DSN:这是为特定用户建立的DSN。只有建立这个DSN的用户才能看到并使用它。在上面的两种情况中,DSN的细节都储存在系统的注册表中。
2.配置ODBC数据源
接下来我们就讲述一下系统DSN的配置过程。
首先在 Windows 的“开始”菜单打开“控制面板”,双击“ODBC”图1.标,然后选择“文件 DSN”属性页,单击“添加”,如图1.17所示。接下来的操作将视我们要配置的数据库系统的不同而有不同的操作,由于我们介绍的主要是基于Access数据库和SQL Server数据库的,所以接下来的两个部分我们讲分别讲述Access数据库系统DSN和SQL Server数据库系统DSN的配置方法。
图1.17 配置系统DSN
(1)Access数据库系统DSN的配置方法
Step1:单击添加后弹出如图1.18所示的对话框,选择数据源为 Driver do Microsoft Access (*.mdb)单击完成。
Step2:这时弹出一个 “ODBC Microsoft Access安装”的对话框,在对话框的数据源名文本输入框中输入配置的DSN文件名,如果test_dsn然后单击 “选择”按钮。如图1.19所示。
Step3:这时将弹出一个如图1.20所示的对话框,在对话框的数据库名中输入 “c:\test.mdb” (该数据库的建立方法请参看前边的章节),或是从右边的目录浏览器中选择“驱动器C”-> “test.mdb” 。选择数据库完成后,单击确定按钮将回到图1.19的界面。
Step4:单击“确定”,这时出现的界面如图1.21所示,请注意,这时在系统数据源列表框中出现了“test_dsn” 项。Access数据库系统DSN配置完成。
图1.18 选择配置Access数据库DSN
图1.19 ODBC Microsoft Access 安装对话框
图1.20 选择Access数据库
图1.21 完成对test.mdb数据库系统DSN的配置
(七)ODBC与ADO对象2
1.3 ODBC与ADO对象
1.3.2 创建和配置ODBC数据源
2.配置ODBC数据源
(2)SQL Server数据库系统DSN的配置方法
Step1:在图1.17所示的对话框中单击“添加”按钮,在弹出的对话框中的驱动程序中选择SQL Server项。如图1.22所示。
图1.22 选择配置SQL Server数据库DSN
Step2:单击“完成”,这时将弹击一个对话框,在对话框的名称文本输入框中输入要配置的DSN文件名如“test_dsn_sql”在服务器文本输入框中输入SQL Server的服务器名或IP地址,如果SQL Server也是本机的话则输入“127.0.0.1”。如图1.23所示。
图1.23 建立数据源连接到SQL Server (1)
Step3:单击“下一步”,这时弹出一个如图1.24的对话框,此时我们如果在第二步时选择的是通过IP地址连接服务器,请选择客户端配置选项,调出如图1.25所图示配置对话框。
图1.24 建立数据源连接到SQL Server (2)
2.配置ODBC数据源
(2)SQL Server数据库系统DSN的配置方法
Step5:单击“下一步”,进入到如图1.26所示的对话框,在“改变默认的数据库”的复选框中打勾,并选择test数据库(该数据库的建立方法请参看前边的章节),如图所示。
图1.26 建立数据源连接到SQL Server (3)
Step6:单击“下一步”,弹出如图1.27所示的对话框。
Step7:单击“完成”,弹出如图1.28所示的对话框。
Step8:通常,在设置完连接SQL Server数据库的DSN的时候都要进行数据源测试,所以我们要单击“测试数据库”按钮以进行测试,如果测试成功则会出现如果图1.29所示的对话框,否则请检查请边各步骤是否正确完成。
图1.27 建立数据源连接到SQL Server (4)
图1.28 建立数据源连接到SQL Server (5)
图1.29 测试数据源
Step9:单击“确定”,这时在系统数据源列表框中出现了“test_dsn_sql” 项,SQL Server数据库系统DSN配置完成。
注意,在配置ODBC数据源以前,请确定数据库已建立完成,如果是配置SQL Server数据源的话还得确定SQL Server在运行状态。
1.3.3 用ADO实现访问数据库
前面我们已经谈过有关ADO的概念,现在我们要开始讲述如何使用ADO来访问数据库,首先,让我们来看一下在服务器端所需要的ADO执行环境:
● 安装Windows NT/2000 Server或是Personal Web Sever
● 安装Internet Information Server(IIS)3.0(含)以上版本
● 在用户端所需要的ADO执行环境,只需要一般的浏览器即可。
接下来我们来看一下ADO包括的七个对象:
● Command:定义对数据源进行操作的命令;
● Connection:建立一个数据源的连接;
● Error:提供数据访问错误的细节;
● Field:表示一般数据类型的字段;
● Parameter:表示Command对象的参数;
● Property:表示由数据源定义ADO对象的动态特性;
● Recordset:数据库命令结果集对象。
灵活运用上述对象的属性、方法可以达到许多很好的效果。但通过ADO访问数据库的基本步骤通常都是以下五步:
● 创建数据库源名
● 创建数据库链接
● 创建数据对象
● 操作数据库
● 关闭数据对象和链接
(1)创建数据库源名,即创建和配置ODBC数据源,该步骤在上一节我们已详细讲述。
(2)创建数据库链接:
ASP文件中如果要访问数据,必须首先创建与数据库的链接,其语法如下:
Set Conn = Server CreateObject (“ADOBD.CONNECTION”)
这条语句创建了链接对象Conn,接下来:
Conn.Open “dsn_name”,“username”,“password”
这条语句打开链接,用到了DSN,本例中DSN名为“dsn_name”。其后的两个参数分别是访问数据库的用户名和口令,为可选参数。
如我们前边对系统DSN的设置,这一段代码可以写为:
访问Access数据库系统DSN:
Set Conn = Server CreateObject (“ADOBD.CONNECTION”)
Conn.Open “test_dsn”
访问SQL Server数据库系统DSN:
Set Conn = Server CreateObject (“ADOBD.CONNECTION”)
Conn.Open “test_dsn_sql”,“sa”,“passwd”
其中的“sa”为访问SQL Server数据库的帐号,“passwd”为该帐号的访问口令,具体的内容创建数据库时的设定。
在ADO中还可以不通过ODBC而直接与Access数据相连,这种方法在个人主页中大量使用(因为其用户无法进行服务器ODBC设置操作),我们这里只简单提一下方法:
Connection.Open “driver = {Microsoft Access Driver (*.mdb) };
dbq=c:\test.mdb”
(3)创建数据对象:
RecordSet保存的是数据库命令结果集,并标有一个当前记录。以下是创建方法:
Set RecordSet = Conn.Execute(sqtStr)
这条语句创建并打开了对象RecordSet,其中Conn是先前创建的链接对象,SqlStr是一个串,代表一条标准的SQL语句,例如:
SqlStr = “SELECT * FROM authors”
Set RecordSet=Conn.Execute (SqlStr)
这条语句执行后,对象RecordSet中就保存了表authors中的所有记录。
(4) 操作数据库:
Execute方法的参数是一个标准的SQL语句串,所以我们可以利用它方便地执行数据插入、修改、删除等操作,例如:
qlStr = "DELETE FROM authors"
Conn.Execute (SqlStr) /执行删除操作
SqlStr = "UPDATE authors SET salary=3 WH
展开阅读全文