第十三章 数据库与开发工具的协同使用
13.1常用的数据库连接方法
13.2 在 Visual BASIC中的数据库开发
13.3 在 Delphi或 C++Builder中的数据库开发
13.4 ASP与 SQL Server的协同运用
13.5 案例中的程序练 习 题目录
13.1常用的数据库连接方法
13.1.1 ODBC
13.1.2 OLE DB
13.1.3 ADO
13.1.1 ODBC
开放式数据库互联 ODBC(Opened DataBase Connectivity)
是一种用于访问数据库的统一界而标准,由 Microsoft公司于
1991年底发布。
ODBC是一个分层体系结构,由四部分构成,ODBC数据库应用程序( Application)、驱动程序管理器 ( DriverManager),
DBMS驱动程序( DBMSDriver)、数据源( Data Source)。
(1)应用程序。应用程序的主要功能是:调用 ODBC函数,
递交 SQL语句给 DBMS,检索出结果,并进行处理。应用程序要完成 ODBC外部接口的所有工作。
(2)驱动程序管理器。驱动程序管理器是一个动态连接库
(DLL),用于连接各种 DBS的 DBMS驱动程序(如 SQL Server,
Oracle,Sybase等驱动程序 ),管理应用程序和 DBMS驱动程序之间的交互作用。驱动程序管理器的主要功能如下:
●为应用程序加载 DBMS驱动程序。
●检查 ODBC调用参数的合法性和记录 ODBC函数的调用。
●为不同驱动程序的 ODBC函数提供单一的入口。
●调用正确的 DBMS驱动程序。
●提供驱动程序信息。
(3)DBMS驱动程序。应用程序不能直接存取数据库,其各种操作请求要通过 ODBC的驱动程序管理器提交给 DBMS驱动程序,通过驱动程序实现对数据源的各种操作,数据库的操作结果也通过驱动程序返回给应用程序。应用程序通过调用驱动程序所支持的函数来操纵数据库。驱动程序也是一个动态连接库( DLL)。
( 4) ODBC的数据源管理。数据源( Data Source Name,
简称 DSN)是驱动程序与 DBS连接的桥梁,数据源不是 DBS,而是用于表达一个 ODBC驱动程序和 DBMS特殊连接的命名。数据源分为以下三类。
● 用户数据源,用户创建的数据源,称为“用户数据源”。
● 系统数据源,所有用户和在 WindowrsNT下以服务方式运行的应用程序均可使用系统 数据源。
● 文件数据源源,文件数据源是 ODBC 3.O以上版本增加的一种数据源,可用于企业用户,ODBC驱动程序也安装在用户的计算机上。
13.1.2 OLE DB
Microsoft公司提供了一种对各类应用程序均适用的、采用 ODBC接口、通过结构化查询语言 SQL对数据库进行访问操作的总体方案,即 OLE DB。它是一组“组件对象模型” (COM)
接口,是一种数据访问的技术标准,封装了 ODBC的功能,目的是提供统一的数据访问接口。这里的数据既可是 DBMS数据源
,也可是非 DBMS数据源。
OLE DB使得数据的消费者 (应用程序 )可以用相同的方法访问各种数据.而不用考虑数据的具体存储地点、格式和类型。
OLE DB将传统的数据库系统划分为多个逻辑部件,部件间相对独立又相可通信。
(1)消费者 (Consumers):消费者是使用 OLE DB对存储在数据提供者中的数据进行控制的应用程序。
除了典型的数据库应用程序外.还包括需要访问各种数据源的开发工具或语言等。
(2)提供者 (Providers):提供者是暴露 OLE DB的软组件。提供者大致分两类,即数据提供者 (Data
Providers)和服务提供者 (Setvice Providers)。
(3)业务组件 (Business Component):业务组件是利用数据服务提供者专门完成某种特定业务信息处理的、可重用的功能组件。
13.1.3 ADO
1,ADO对象模型
OLE DB标准的具体实现是一组 API函数,这些 API函数符合 COM。使用 OLE DB API可以编写能访问符合 OLE DB标准的任何数据源的应用程序,也可以编写针对某些特定数据存储的查询处理器和游标引擎。但是,OLE DB应用程序编程接口的目的足为各种应用程序提供最佳的功能,它并不符合简单化的要求。而 ADO(ActiveX Data Obiects,Activex数据对象 )技术则是一种良好的解决方案,它构建于 OLE DB API之上,提供一种而向对象的、与语言无关的应用程序编程接口。
Connection
Command
Paramerers Paramerer
Recordset
Fields Field
Errors Error
Properties Property
Connection
Recordset
Command
Error
图 13.1 ADO的对象模型
2,ADO功能
ADO支持开发 C/S和 B/S应用程序的关键功能包括:
●独立创建对象。
●成批更新。通过本地缓存对数据的更改,然后在一次更新中把他们全部写到服务器。
●支持带参数和返回值的存储过程。
●不同的游标类型。包括对 SQL Server和 Oracle这样的数据库后端特定的游标支持。
●可以限制返回行的数目和其他的查询目标来进一步调整性能。
●支持从存储过程或批处理语句返回的多个记录集。
13.2 在 Visual BASIC中的数据库开发
13.2.1 Visual BASIC简介
13.2.2 VB中使用 ADO数据控件连接数据库
13.2.1 Visual BASIC简介
Visual BASIC(VB)是全球最大的软件公司 Microsoft
公司研制和开发的。 VB不仅是一种程序没计语言,也是一个开发数据库应用或其他应用的工具。 VB为开发人员提供了可视化的开发环境,用户能方便地用所见即所得的交互式方式设计出用户界面,其特点有:
(1) VB提供了多种数据库引擎。
(2) VB具有先进的模块化程序设计功能。
(3 )VB简单易学,适合各种开发人员使用。
(4) VB具有广泛的应用背景。
13.2.2 VB中使用 ADO数据控件连接数据库
ADO数据控件使用 ActiveX数据对象 (ADO)来快速建立数据绑定控件与数据源之间的连接,其中,数据绑定控件可以是任何具有 DataSource属性的控件,数据提供者可以是任何符合 OLE DB规格的源。使用该控件可以快速创建记录集并通过数据绑定控件将数据提供给用户。
1.安装 ADO数据控件
2.在窗体上添加 ADO数据控件
3.设置 ADO数据控件连接的数据库
4.设置 ADO数据控件的记录来源
13.3 在 Delphi或 C++Builder中的数据库开发
13.3.1 Delphi与 C++Builder简介
13.3.2 C++Builder提供的 SQL Server
访问机制
13.3.1 Delphi与 C++Builder简介
Delphi和 C++Builder是全球著名的软件开发商
Borland公司 (现已更名为 lnprise)发展的快速应用程序开发工具 (Rapid Application Development,RAD)。它们使用 VCL可视化控件 (Visual Component Library)来进行程序设计,微软的 Visual Basic则称为 Control,但不管是 Component或 Control,它们都是对象的一种,
这些现成的对象使得程序设计不再是从零开始,而是从现有的对象出发,就像集成电路的设计,也是从现有的 IC组合更多更大的电路,这也是 Inprise公司大力畅导的软件 IC观念。
13.3.2 C++Builder提供的 SQL Server访问机制
C++Builde运程序界面窗体数据模块
SQL Server
服务器图 13.8 Delphi+SQL Server融合开发的数据库应用程序模型访问 MS SQL Server的方法有以下几种。
1,BDE/IDAPI
C++Builder通过 BDE/IDAPI来访问数据库。
BDE是 C++Builder采用的一个中间件,它一方而连接 C++Builder中的各种数据库操作对象,
比如 Tqueue;另一方而连接了数据库的驱动程序。
2,ODBC
ODBC是微软一直以来推荐的数据库连接方式,已成为了一种工业标准。
3,ADO
在使用 ADO访问数据库时,首先要建立与数据库的连接,方法有如下两种:
●使用 TADOConnection建立与 ADO数据库的连接,其他组件通过它来操作数据库。
●直接使用 TADODataSet,TADOTable,
TADOQuery,TADOStoredProc组件与数据库建立连接。
13.4 ASP与 SQL Server的协同运用
13.4.1 ASP运行环境的建立
13.4.2 在 ASP中连接 SQL Server数据库
13.4.3 ASP与 SQL Server数据库协同开发程序的方式
13.4.1 ASP运行环境的建立
Microsoft Active Server Pages( ASP)
即我们所称的 ASP,其实是一套微软开发的服务器端脚本环境,ASP本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML页面中的脚本程序得以运行的环境。
通过 ASP我们可以结合 HTML网页,ASP
指令和 ActiveX元件建立动态、交互且高效的
WEB服务器应用程序。
13.4.2 在 ASP中连接 SQL Server数据库在 ASP中是通过 ADO方式连接到数据库的,由于
ASP代码是以纯脚本的方式编写并解释运行的,所以连接过程就是编写 ADO数据库连接字符串。一般常用以下三种方式:
1,ODBC DSN Connections( ODBC DSN连接)
使用一个 ODBC DSN ( Data Source Name)要分两步走:
①首先通过控制面板 ODBC数据源管理程序创建一个连接到 SQL Server数据库服务器的 DSN。
② 使用下面的连接字符串:
oConn.Open,DSN =
student;UID=studentadm;PWD=123;”
2,ODBC DSN-Less Connections(无 DSN连接)
( 1)标准安全连接:
oConn.Open,Driver = {SQL Server};” &_
“Server = server2;” &_
“Database = student;” &_
“UID = studentadm;” &_
“PWD = 123;”
( 2)信任安全连接
oConn.Open,Driver = {SQL Server};” &_
“Server = server2;” &_
“Database = student;” &_
“UID = ;” &_
“PWD = ;”
或:
oConn.Open,Driver = {SQL Server};” &_
“Server = server2;” &_
“Database = student;” &_
“Trusted_Connection=Yes;”
“PWD = ;”
( 3)、提示用户名和口令
oConn.Properties(“Prompt”) = adPromptAlways
oConn.Open,Driver = {SQL Server};” &_
“Server = server2;” &_
“Database = student;”
3,OLE DB Provider Connections( OLE DB连接)
( 1)标准安全连接:
connStr =“Provider = SQLOLEDB;” &_
“Data Source = server2;” &_
“Initial Catalog = student;” &_
“User Id = studentadm;” &_
“Password = 123;”
( 2)信任安全连接:
connStr =“Provider = SQLOLEDB;” &_
“Data Source = server2;” &_
“Initial Catalog = student;” &_
“Integrated Security = SSPI;”
( 3)经由一个 IP地址连接:
connStr =“Provider = SQLOLEDB;” &_
“Data Source = 192.168.2.1,1433;” &_
“Network Library = DBMSSOCN;” &_
“Initial Catalog = student;” &_
“User Id = studentadm;” &_
“Password = 123;”
ADO运用程序
ADO
OLE DB Provider for ODBC
ODBC Driver for SQL Server
OLE DB Provider for SQL
Server
SQL Server 服务器图 13.25 通过 ADO连接 SQL Server
13.4.3 ASP与 SQL Server数据库协同开发程序的方式使用 ADO的一般流程是:连接到数据源(如 SQL Server)
- > 给出访问数据源的命令及参数 ―> 执行命令 - > 处理返回的结果集 - > 关闭连接。
ASP中创建 ADO对象采用如下语句:
Set objConn=Server.CreateObject(“ADODB.Connection”)
Set objRs=Server.CreateObject(“ADODB.Recordset”)
Set objCmd=Server.CreateObject(“ADODB.Command”)
以上三条语句分别创建 Connection,Recordset和
Command对象,其它的 ADO对象的创建方法类似。
13.5 案例中的程序
13.5.1,学生信息管理”
13.5.2,教师信息管理”
13.5.3,学生信息查询”
13.5.1“学生信息管理”
由于本程序仅只是演示一下在 VB中怎样进行数据的浏览、添加、修改、删除等操作,只涉及到数据库中的一个表的操作,至于程序中与具体业务有关的一些知识概不涉及。
程序设计:
本程序包含一个窗体,采用 VB中的 ADO组件连接
SQL Server数据库,连接方式可以参看,13.2.2 VB中使用 ADO数据控件连接数据库”小节。
13.5.2,教师信息管理”
本程序简单演示在 C++Builder中怎样对 SQL
Server数据库进行操作程序设计:
本程序包含一个窗体,采用 C++Builder的 ADO连接 SQL Server数据库,连接方法可以参考 13.3.2小节,
程序可进行数据的简单浏览、添加、修改、删除和查询等操作,只涉及到数据库中的一个表的操作。
13.5.3“学生信息查询”
本节我们来了解一下 ASP中如何来操作 SQL
Server数据库。本程序实现学生信息查询,学生打开浏览器,打开服务器 Web页面,输入自己学号,向服务器提交查询请求,服务器将查询到的信息反馈显示出来。程序比较简单,但它演示了 ASP如何操作 SQL
Server服务器的最基本方法。
程序有两个页面,一个是输入页面,另一个是查询显示页面,所以有两个 ASP文件,Defalut.asp、
stuinfo.asp。
练 习 题利用 Visual BASIC(或 C++Builder)+SQL Server设计一个学生信息管理系统,实现学生基本信息,学生成绩的添加修改,删除等功能,用 ASP实现学生成绩查询功能 。