Visual C++开发数据库应用程序

指示函数执行的胜利与否。如果函数调用胜利, 每一个 ODBC API 函数都返回一个代码 — 返回码。返回码为 SQL_SUCCESS 或 SQL_SUCCESS_WITH_INFO SQL_SUCCESS 指示可

1 概述

1 1 Visual C++ 开发数据库技术的特点

提供了简单、灵活、访问速度快、可扩展性好的开发技术。 Visu C++ 提供了多种多样的数据库访问技术 — ODBC API MFC ODBC DA O OLE DB ADO 等。这些技术各有自己的特点。>

简单性

大大简化了应用顺序的设计。使用这些技术,Visual C++ 中提供了 MFC 类库、 ATL 模板类以及 AppWizard ClassWizard 等一系列的 Wizard 工具用于协助用户快速的建立自己的应用顺序。可以使开发者编写很少的代码或不需编写代码就可以开发一个数据库应用程序。

灵活性

而且,Visu C++ 提供的开发环境可以使开发者根据自己的需要设计应用顺序的界面和功能。 Visual C++ 提供了丰富的类库和方法,可以使开发者根据自己的应用特点进行选择。

访问速度快

Visual C++ 提供了新的访问技术 — OLE DB 和 ADO OLE DB 和 ADO 都是基于 COM 接口的技术,为了解决 ODBC 开发的数据库应用顺序访问数据库的速度慢的问题。使用这种技术可以直接对数据库的驱动顺序进行访问,这大大提供了访问速度。

可扩展性

这种技术可以增强应用顺序的能力。使用 OLE 技术和 ActiveX 技术可以使开发者利用 Visual C++ 中提供的各种组件、控件以及第三方开发者提供的组件来创建自己的顺序,Visual C++ 提供了 OLE 技术和 ActiveX 技术。从而实现应用顺序的组件化。使用这种技术可以使应用顺序具有良好的可扩展性。

访问不同种类数据源

Visual C++ 中,保守的 ODBC 技术只能访问关系型数据库。提供了 OLE DB 访问技术,不只可以访问关系型数据库,还可以访问非关系型数据库。

1 2 Visual C++ 开发数据库技术

如下所示: Visu C++ 提供了多种访问数据库的技术。>

ODBC Open DataBas Connect

MFC ODBC Microsoft Foundat Class ODBC

DA O Data Access Object

OLE DB Object Link and Embed DataBas

A DO ActiveX Data Object

总结如下: 这些技术各有自己的特点。>

ODBC

对于不同的数据库,ODBC 客户应用顺序访问关系数据库时提供的一个统一的接口。 ODBC 提供了一套统一的 API 使应用顺序可以应用所提供的 API 来访问任何提供了 ODBC 驱动顺序的数据库。而且, ODBC 已经成为一种标准,所以,目前所有的关系数据库都提供了 ODBC 驱动顺序,这使 ODBC 应用非常广泛,基本上可用于所有的关系数据库。

使得利用 ODBC 很难访问对象数据库及其它非关系数据库。 但由于 ODBC 只能用于关系数据库。>

因些, 由于 ODBC 一种底层的访问技术。 ODBC API 可以使客户应用顺序能够从底层设置和控制数据库,完成一些高层数据库技术无法完成的功能。

MFC ODBC

Visual C++ 中提供了 MFC ODBC 类,由于直接使用 ODBC API 编写应用顺序要编制大量代码。封装了 ODBC API 这使得利用 MFC 来创建 ODBC 应用顺序非常简便。

DA O

这个结构中,DA O 提供了一种通过顺序代码创建和支配数据库的机制。多个 DA O 构成一个体系结构。各个 DA O 对象协同工作。 MFC DA O 微软提供的用于访问 Microsoft Jet 数据库文件 ( *.mdb 强有力的数据库开发工具,通过 DA O 封装,向顺序员提供了 DA O 丰富的操作数据库手段。

OLE DB

基于 COM 接口。因此,OLE DB Visual C++ 开发数据库应用中提供的新技术。 OLE DB 对所有的文件系统包括关系数据库和非关系数据库都提供了统一的接口。这些特性使得 OLE DB 技术比传统的数据库访问技术更加优越。

OLE DB 属于数据库访问技术中的底层接口。 与 ODBC 技术相似。>

用于设计 OLE DB 数据应用顺序和数据提供顺序。 直接使用 OLE DB 来设计数据库应用顺序需要大量的代码。 VC 中提供了 ATL 模板。>

A DO

继承了 OLE DB 技术的优点,A DO 技术是基于 OLE DB 访问接口。并且, ADO 对 OLE DB 接口作了封装,定义了 ADO 对象,使顺序开发得到简化, ADO 技术属于数据库访问的高层接口。

2 使用 ODBC API

一个数据库访问的规范接口。使用这一标准接口,可以不关心具体的数据库管理系统( DBMS 细节,而只要有相应类型数据库的 ODBC 驱动顺序,就可以实现对数据库的访问。 Microsoft 开放数据库互连 ( ODBC,Open DataBas Connect Microsoft Window 开放服务体系( WOSA 一部分。>

可以通过这一个接口访问不同种类的数据库。而且,ODBC 编程接口为我提供了极大的灵活性。通过相应的 ODBC 驱动顺序,可以方便地实现不同数据类型之间的转换。

2 . 1 ODBC API 概述

ODBC 一个应用广泛的数据库访问应用编程接口( API 使用规范的 SQL 结构化查询语言)作为其数据库访问语言。

2 . 11 体系结构

包括如下四个部分: ODBC 结构是建立在客户机/服务器体系结构之上。>

应用顺序( Applicat

负责用户与用户接口之间的交互操作, 应用顺序即用户的应用。以及调用 ODBC 函数以给出 SQL 请求并提取结果以及进行错误处置。

ODBC 驱动顺序管理器( Driver Manag :

可以同时管理多个应用顺序和多个驱动程序。功能是通过间接调用函数和使用动态链接库( DLL 来实现的因此它一般包括在扩展名为 ” DLL 文件中。 ODBC 驱动顺序管理器为应用顺序加载和调用驱动顺序。>

ODBC 驱动顺序( Driver

呈送 SQL 请求给指定的数据源,ODBC 驱动顺序执行 ODBC 函数调用。并将结果返回给应用程序。驱动顺序也负责与任何访问数据源的必要软件层进行交互作用,这种层包括与底层网络或文件系统接口的软件。

数据源

包括操作系统、 DBMS 和网络(如果存在话) ODBC 通过引入 “ 数据源 ” 概念解决了网络拓扑结构和主机的大范围差异问题, 数据源由数据集和与其相关联的环境组成。这样,用户看到数据源的名称而不必关心其它东西。

2 . 12 数据类型

C 数据类型用于应用顺序代码中。 ODBC 使用两类数据类型: SQL 数据类型和 C 数据类型。 SQL 数据类型用于数据源。>

2 . 13 句柄

这是一个强有力的手段。 ODBC 语句除了能执行 SQL 语句和完成查询操作之外,ODBC API 实现数据库操作的手段是语句。还能实现大多数数据库操作。

使用不同的句柄( HA NDLE 来标志环境 ( ENVIRONMENT 连接 ( CONNECTION 语句( STA TEMENT 描述器( DESCRIPTOR 等。 ODBC 中。>

系统用它来存储关于应用顺序的上下文信息和应用顺序所用到一些对象。和 Window 编程中的概念类似, 句柄就是一个应用顺序变量。不过 ODBC 更加完善了句柄的作用。

使用 ODBC 每个顺序从创建环境句柄开始,1 环境句柄是 ODBC 中整个上下文的句柄。以释放环境句柄结束。所有其它句柄(这一应用程序所有的联接句柄和语句句柄)都由环境句柄中的上下文来管理。环境句柄在每个应用顺序中只能创建一个。

这不仅合法而且很有用;但不要生成不必要的句柄以免资源的浪费。但是不同的驱动顺序支持的联接情况有所不同,2 联接句柄管理有关联接的所有信息。联接句柄可以分配多个。有的驱动顺序在一个应用顺序中仅支持一个联接句柄,有的驱动顺序仅支持一个语句句柄。应用顺序中,可以在任何适当的时候联接或脱离数据源,但不要轻易地建立或脱离联接。

每个语句句柄只与一个联接有关。当驱动顺序接收一个来自应用顺序的函数调用指令而该指令包括一个语句句柄时,3 语句句柄是 ODBC API 真正发挥重要作用的被用来处理 SQL 语句及目录函数。驱动顺序管理器将使用存储在语句句柄中的联接句柄来将这一函数调用发送给合适的驱动顺序。

这些元数据描述了 SQL 语句的参数、记录集的列等信息。当有语句被分配内存之后,4 描述器句柄是元数据的集合。描述器自动生成,称为自动分配描述器。顺序中,应用顺序也可调用 SQLA llocHandl 分配描述器。

驱动管理器或者 ODBC 驱动顺序将为所声明的句柄类型分配内部结构, 当应用顺序调用 API 函数 SQLA llocHandl 时。返回句柄值。

2 . 14 异常处置

发现顺序错误, 为了顺序开发过程中调试程序。 ODBC API 通过两种方式返回有关 ODBC API 函数执行的信息:返回码和诊断记录。返回码返回函数执行的返回值,说明函数执行胜利与否。诊断记录说明函数执行的详细信息。

返回码( Return Code

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值