第十四章 数据库与开发工具的
协同
? 常用的数据库的连接方法
? ODBC
? OLE DB
? ADO
? 在 DELPHI 中的数据库开发
? 在 Visual Basic中的数据库开发
? 在 ASP中的数据库开发
第十四章 数据库与开发工具的
协同
? 概述
一个完整的数据库应用系统在逻辑上包括用户界面和数据库访问
链路, SQL Server在 C/S或 B/S双层结构中位于服务器端, 构成整个数
据库应用系统的后端数据库, 满足客户端连接数据库和存储数据的需
要, 它并不具备图形用户界面的设计功能 。 在 C/S结构中, 图形用户
界面的设计工作通常使用可视化开发工具 Visual Basic和 Delphi等, 在
B/S结构中, 常使用动态服务器页面 ( ASP), JSP等来实现 。 本章主
要介绍在 C/S和 B/S结构中数据库与开发工具协同使用开发数据库应用
系统的方法 。
第十四章 数据库与开发工具的
协同
? 常用的数据库的连接方法
1, ODBC
开放式数据库互联 ODBC( Opened Database Connectivity)是一
种用于访问数据库的统一界面标准,它应用数据通信方法、数据传输
协议,DBMS等多种技术定义了一个标准的接口协议,允许应用程序
以 SQL作为数据存取标准,来存取不同的 DBMS管理的数据。
ODBC为数据库应用程序访问异构型数据库提供了统一的数据存取
接口 API,应用程序不必重新编译、连接就可以与不同的 DBMS相连。
目前支持 ODBC的有 SQL Server,Oracle等 10多种流行的 DBMS。
ODBC是一个分层体系结构,由四部分构成:
ODBC数据库应用程序( Application)
驱动程序管理器( Driver Manager)
DBMS驱动程序( DBMS Driver)
数据源( Data Source)
第十四章 数据库与开发工具的
协同
? 常用的数据库的连接方法
1)应用程序
应用程序的主要 功能 是:调用 ODBC函数,递交 SQL语句给
DBMS,检索出结果,并进行处理。应用程序要完成 ODBC外部接口
的所有工作。
应用程序的 操作 包括,1、连接数据库,向数据源发送 SQL语句; 2、
为 SQL语句执行结果分配存储空间,定义所读取的数据格式; 3、读
取结果; 4、处理错误; 5、向用户提交处理结果; 6、请求事务的提
交和回退操作; 7、断开与数据源的连接。
应用层提供图形用户界面( GUI)和事务逻辑,它是使用诸如
Java,Visual Basic及 C++这样的语言编写的程序。应用程序利用
ODBC接口中的 ODBC功能与数据库进行操作。
第十四章 数据库与开发工具的
协同
? 常用的数据库的连接方法
2)驱动程序管理器
驱动程序管理器是一个动态连接库( DLL),用于连接各种 DBS
的 DBMS驱动程序(如 SQL Server,Oracle,Sybase等驱动程序),
主要管理 应用程序和 DBMS驱动程序 之间的交互作用。
驱动程序管理器的主要功能如下:
1、为应用程序加载 DBMS驱动程序。
2、检查 ODBC调用参数的合法性和记录 ODBC函数的调用。
3、为不同驱动程序的 ODBC函数提供单一的入口。
4、调用正确的 DBMS驱动程序。
5、提供驱动程序信息。
当一个应用程序与多个数据库连接时,驱动程序管理器能够保证
应用程序正确地调用这些 DBS的 DBMS,实现数据访问,并把来自数
据源的数据传送给应用程序。
第十四章 数据库与开发工具的
协同
? 常用的数据库的连接方法
3) DBMS驱动程序
应用程序不能直接存取数据库,其各种操作请求要通过 ODBC的
驱动程序管理器提交给 DBMS驱动程序,通过驱动程序实现对数据源
的各种操作,数据库的操作结果也通过驱动程序返回给应用程序。应
用程序通过调用驱动程序所支持的函数来操纵数据库。驱动程序也是
一个动态连接库( DLL),当应用程序调用函数进行连接时,驱动程
序管理器加载驱动程序,根据应用程序的要求,驱动程序完成以下任务

1、建立应用程序与数据源的连接。
2、向数据源提交用户请求执行的 SQL语句。
3、根据应用程序的要求,将发送给数据源的数据或是从数据源返回的数
据进行数据格式和类型转换。
4、把处理结果返回给应用程序。
5、将执行过程中 DBS返回的错误转换成 ODBC定义的标准错误代码,并
返回给应用程序。
6、根据需要定义和使用光标。
第十四章 数据库与开发工具的
协同
? 常用的数据库的连接方法
4) ODBC的数据源管理
数据源( Data Source Name,简称 DSN)是驱动程序与 DBS连接
的桥梁,数据源不是 DBS,而是用于表达一个 ODBC驱动程序和
DBMS特殊连接的命名。数据源分为以下三类:
用户数据源:用户创建的数据源,称为“用户数据源”。此时只
有创建者才能使用,并且只能在所定义的机器上运行。任何用户都不
能使用其他用户创建的用户数据源。
系统数据源:所有用户和在 Windows NT下以服务方式运行的应
用程序均可使用系统数据源。
文件数据源:文件数据源是 ODBC 3.0以上版本增加的一种数据源
,可用于企业用户,ODBC驱动程序也安装在用户的计算机上。
创建数据源最简单的方法是使用 ODBC驱动程序管理器。在连接
中,用数据源名来代表用户名、服务器名、所连接的数据库名等,可
以将数据源名看成是与一个具体数据库建立的连接。
第十四章 数据库与开发工具的
协同
? 常用的数据库的连接方法
关系图:
数据库管理系统
数据库驱动程序
数据源
驱动程序管理器
用户应用程序
Windos


第十四章 数据库与开发工具的
协同
? 常用的数据库的连接方法
2, OLE DB
OLE DB是一组“组件对象模型”( COM) 接口,是一种数据访
问的技术标准,封装了 ODBC的功能,目的是提供统一的数据访问接
口。 OLE DB将传统的数据库系统划分为多个逻辑部件,部件间相对
独立又相互通讯。
1)消费者( Consumers),消费者是使用 OLE DB对存储在数据
提供者中的数据进行控制的应用程序。
2)提供者( Providers),提供者是暴露 OLE DB的软组件。提供
者大致分两类,即数据提供者( Data Providers) 和服务提供者(
Service Providers)。 数据提供者是提供数据存储的软组件,服务提
供者位于数据提供者之上,它是从过去的 DBMS中分离出来且能独立
运行的功能组件这些组件使得数据提供者提供的数据能以表格形式向
外表示,并实现数据的查询和修改功能。
3)业务组件( Business Component),业务组件是利用数据服务
提供者专门完成某种特定业务信息处理的、可重用的功能组件。
第十四章 数据库与开发工具的
协同
? 常用的数据库的连接方法
3,ADO
1) ADO对象模型
ADO( ActiveX Data Objects,ActiveX数据对象)技术则是一种
良好的解决方案,它构建于 OLE DB API之上,提供一种面向对象的
、与语言无关的应用程序编程接口。 ADO的应用场合非常广泛,而且
支持多种程序设计语言,不仅兼容所有的数据库系统,从桌面数据库
到网络数据库等,ADO提供相同的处理方法。
C o n n e c t i o n
C o m m a n d
P r o p e r t yP r o p e r t i e s
P r o p e r t yP r o p e r t i e s
P a r a m e t e r
P a r a m e t e r s
R e c o r d s e t
F i e l dF i e l d s
E r r o r s
E r r o r s
P r o p e r t y
P r o p e r t i e s
ADO对象模型
第十四章 数据库与开发工具的
协同
? 常用的数据库的连接方法
2) ADO功能
ADO支持开发 C/S和 B/S应用程序的关键功能包括:
1、独立创建对象。使用 ADO不再需要浏览整个层次结构来创建对
象,因为大多数的 ADO对象可以独立创建。这个功能允许用户只创建
和跟踪需要的对象,这样,ADO对象的数目较少,所以工作集也更小

2、成批更新。通过本地缓存对数据的更改,然后在一次更新中把
它们全部写到服务器。
3、支持带参数和返回值的存储过程。
4、不同的游标类型。包括对 SQL Server和 Oracle这样的数据库后
端特定的游标的支持。
5、可以限制返回行的数目和其它的查询目标来进一步调整性能。
6、支持从存储过程或批处理语句返回的多个记录集。
第十四章 数据库与开发工具的
协同
?在 DELPHI 中的数据库开发
1, Delphi提供的 SQL Server访问机制
Delphi对 SQL Server提供了很强的数据库访问能力,也提供了多
种方式访问 SQL Server。在利用 SQL Server和 Delphi开发数据库应用
系统时,通常将数据访问组件放在数据模块中,将用户界面组件放
在窗体中,它的模型如下图所示:
访问 MS SQL Server的方法有以下几种:
BDE/IDAPI
ODBC
ADO
D e l p h i 应用程
序界面窗体 数据模块
SQL Server服
务器
第十四章 数据库与开发工具的
协同
?在 DELPHI 中的数据库开发
BDE/IDAPI
Delphi通过 BDE/IDAPI来访问数据库。 BDE是 Delphi采用的一个
中间件,它一方面连接 Delphi中的各种数据库操作对象,比如 Tqueue;另一方面连接了数据库的驱动程序。采用这种方法连接 SQL Server
需要以下几步:
1)从 Delphi程序组中打开 BDE Administrator。
2)在左边的树形浏览器中的 Database项上点右键,选择 New命令。出现下
面的对话框。选择 MSSQL选项。
3)单击,OK”按钮,然后弹出对话框。
4)修改 MSSQL1名称为用户自定义的数据库别名,然后在右边的 Definition
页中设置一些参数。
5)保存别名定义。单击鼠标右键,在弹出菜单中选择 Apply命令,即保存了
别名的定义。
6)双击该别名,或者在右键快捷菜单中选择 Open命令。如果需要输入密码
,输入用户名和密码,这样 Delphi就同 SQL Server上的数据库建立起了连接
,此时别名旁的小图标将加上绿色框表示已经打开。
第十四章 数据库与开发工具的
协同
?在 DELPHI 中的数据库开发
ODBC是微软一直以来推荐的数据库连接方式,已成为了一种工
业标准。采用这种方法连接 SQL Server需要以下几步:
1)假设在 SQL Server下创建了一个用户数据库,名称为 Books_
management, 应用程序从本数据库中存取数据,创建数据源 DSN。
2)启动 ODBC数据源设置程序:首先从用户计算机控制面板启动
“数据源 ODBC”程序如图 14.7所示数据源文件有三种类型,其中“用
户 DSN”和“系统 DSN”是我们常用的两种数据源。“用户 DSN??和“
系统 DSN”的区别是前者用于本地数据库的连接,后者是多用户和远
程数据库的连接方式。
3)创建新数据源:在图中点击“添加”按钮,系统弹出创建数据
源对话框,以“用户 DSN”为例加以说明,在此因为现在要设置的数
据库类型为 SQL Server,选择相对应的数据库驱动程序 SQL Server。
第十四章 数据库与开发工具的
协同
?在 DELPHI 中的数据库开发
4)创建新的数据源到 SQL Server,在上一步选择了连接数据源的类型,点
击“完成”按钮,系统会提示创建新数据源的位置。在名称框中输入数据源名
称 Books,说明框中输入对数据源的说明:图书馆理数据库。选择数据库服务
器名称,如果 SQL Server系统安装如果有问题,在此将无法找到数据库服务器
。在此选择本机命名的数据库服务器 Server\Server。
5)创建新的数据源到 SQL Server 登录方式有两种,选择第二种方式“使用
用户输入登录 ID和密码的 SQL Server验证”方式。输入数据库的用户名称和密
码。按下“下一步”按钮,以及登录名称和密码。
6)建立新的数据源到 SQL Server 在图中点击“下一步”按钮,系统显示图
,选择“更改默认的数据库为”列表框,找到 Books_ management 用户建立的
数据库,点击下一步。
7)完成数据源的创建 选择 SQL Server数据库支持的语言,以及其他一些选
项。点击完成。
8)在创建完成数据源之后,进行数据源选项的测试。
第十四章 数据库与开发工具的
协同
?在 DELPHI 中的数据库开发
ADO
Delphi提供了 ADO组件编程。利用这些组件,用户可以与 ADO数
据库相联系,读取数据库中的数据并执行相应的操作,在此过程中完
全不需要使用 BDE。 Delphi 6.0中的 ADO组件页如下图所示。
TADOConnection,用于建立与数据库的 ADO连接,其他组件都可以通过它来操作数
据库,从而避免了每个组件都要建立自己的连接字符串。
TADOCommand,专门用来创建和执行命令的,它适合于执行不返回结果的 SQL命令
TADODataSet,可以操纵数据表、执行 SQL查询和存储过程并且能通过
TADOConnection组件或直接与一个数据存储建立连接。
TADOTable,用于检索和操作由一个数据表生成的数据集。
TADOQuery,用于检索和操作由一个合法的 SQL语句生成的数据集。
TADOStoredProc,用于执行存储过程,无论它是否返回结果值。
TRDSConnection,主要实现 RDS Dataspace对象的功能,以便建立多层客户机 /服务器
应用程序。
第十四章 数据库与开发工具的
协同
?在 DELPHI 中的数据库开发
ADO
使用属性编辑器可以方便地为 ConnectionString属性设定值,操作步
骤如下:
1)单击 Object Inspector中 ConnectionString属性项右边的省略号
按钮,弹出对话框如图 14.15所示。有两种方式设置:第一种为 Use
Data Link File,使用已有的数据连接文件(,UDL)。 第二种为 Use
Connection String,直接输入数据连接参数
2)单击 Build按钮,打开数据库连接属性编辑框,如图 14.16所示
。在该编辑框中,由于要连接 SQL Server数据库,这里选择
,Microsoft OLE DB Provider for SQL Server”项。
3)单击“下一步”按钮,出现如图 14.17所示的对话框。在该对话
框中选择 SQL Server服务器名,选择数据库的认证模式,以及数据库
名。
4)单击测试连接按钮,进行测试。
第十四章 数据库与开发工具的
协同
?在 VB 中的数据库开发
1、使用数据控件
数据控件是 Visual Basic的标准控件之一。在应用程序中,可以使
用数据控件和各种数据绑定控件来显示和更新数据库中的信息。使用
数据控件时,不用编写代码就能够创建简单的数据库应用程序。如果
将数据控件与 Visual Basic代码结合起来,则可以为数据处理提供高级
的编程控件,从而设计出功能完备的数据库应用程序。
在 Visual Basic中,使用数据控件能够将窗体与数据库连接起来,
只需要编写少量代码甚至不用编写代码就能够完成下列任务:
1)与本地数据库或远程数据库连接。
2)基于 SQL查询打开指定的数据库表或定义记录集。
3)将数据字段传送到各种绑定控件,并在这些控件中显示或更新
字段值。
4)根据绑定控件中显示的数据变化来添加新记录或更新数据库。
5)捕获访问数据时出现的错误。
6)关闭数据库。
第十四章 数据库与开发工具的
协同
?在 VB 中的数据库开发
3,使用 ADO数据控件
ADO数据控件使用 ActiveX数据对象( ADO)来快速建立数据绑
定控件与数据源之间的连接,其中,数据绑定控件可以是任何具
有 DataSource属性的控件,数据提供者可以是任何符合 OLE DB 规
格的源。使用该控件可以快速创建记录集并通过数据绑定控件将数据
提供给用户。
第十四章 数据库与开发工具的
协同
?在 ASP中的数据库开发 __ OLE DB
用 Connection数据对象连接数据源的步骤:
1、打开打开 SQL创建一个数据库表。
2、创建连接对象的一个实例。
方法, set 实例 1=server.createobject(“ADODB.Connection”)
3,用对象实例的 open方法来打开与一个数据源的连接。
方法, 实例 1.opendriver=,{SQL server} ; database=pubs;server=” &
服务器名 &“; uid=”&用户名 &“; pwd=”&密码
4、创建一个 Command对象实例并和数据库连接,并操作数据库
方法,set 实例 2=server.createobject(“ADODB.command”)
set 实例 2.activeconnection=实例 1
<ASP和 SQL数据库建立连接可以通过网络配置和数据源建立连接 >