c语言之odbc编程指南.docVIP

  • 57
  • 0
  • 约8.79千字
  • 约 23页
  • 2021-08-11 发布于山东
  • 举报
c语言之odbc编程指南 c语言之odbc编程指南 PAGE / NUMPAGES c语言之odbc编程指南 纲要本文在介绍了 ODBC(开放性数据库连结 ,Open DataBase Co nnectivity)运转体制的基础上 ,侧重议论了 下利用 ODBC API 及利用 MFC 进行 ODBC 编程的两种方法 . 重点词 ODBC,SQL,数据源,文档/视图结构,DBMS 一、ODBC 的发展背景 在传统的数据库领域 ,数据库应用程序往常是指在特定的数据库 管理系统 (DBMS) 的支持下 ,用特定的内嵌式结构化查问语言 (SQL)开 发 的.这样的数据库应用程序存在以下的弊端 :(1)它常常需要一个宏大 的数据库管理系统的支持 ,对用户的软、硬件要求高 ;(2)它往常只好 办理一种格式的数据库文件 . 与传统的数据库应用程序的实现方法对比 ,Microsoft 的开放性数 据库连结(ODBC)标准则供给了一种新的门路 :它成立了一组规范 ,并提 供了一组高层应用程序调用接口和一套鉴于动向链接库 (DLL) 的运转 支持环境.用这样一组接口规范开发的应用程序 ,使用标准的函数和结 构化查问语言 (SQL)对数据库进行操作 ,不用关怀数据源(DataSourc e )来自何种数据库管理系统 DBMS,全部的数据库的基层操作都是由相 应的 ODBC 驱动程序(ODBCDriver) 达成.只需有了相应的 ODBC 驱动 程序, 应用程序办理的对象 -数据源便可以特别宽泛 ,既能够是本机的某种数 据库格式的文件 ,如 FoxPro 的*.dbf 文件,也能够是远程数据库文件 ,如 MicrosoftSQLServer 等. 二、ODBC 的运转体制 ODBC 的 体 系 构 架 包 括 五 个 部 分 :ODBC 管 理 器 (ODBCAdministrator) 、应用程序(Application) 、ODBC 驱动程序管理器 (ODBCDriver Mana ger)、ODBC 驱动程序(ODBCDriver) 和数据源(Data Source).图 1 表示 了 ODBC 各部分之间的关系 . ODBC 管理器在整个 ODBC 运转体制中起配置环境、登录信息的 作用 ,它被安装在 Control Pannel里(ODBCINST.CPL).经过该工具 ,能够用 来配置、增加和删除数据源 ,也能够用来删除、安装 ODBC 驱动程序.OD BC 管理器把数据源和 ODBC 驱动程序的信息记录在 、 ODBCINST .INI 和 中,或许登录在系统数据库中 ,ODBC 的其余部 件通 过读取这些信息 ,互相作用,应用程序便可以实现对已登录数据库的共 享. 应用程序(Application) 的主要任务是经过调用标准的 ODBC 函数, 提交 SQL 语句并返回结果 ,对结果进行办理 . ODBC 驱动程序管理器的作用是依据应用程序的要求 ,调用不一样的 O DBC 驱动程序 . ODBC 驱动程序的作用是实现 ODBC 函数调用,对指定的数据源执 行 S QL 语句,并把结果返回给应用程序 .有时,为了切合特定的数据库管 理系统的语法 ,ODBC 驱动程序还会对应用程序的要求作合适改正 .这 里 ,ODBC 驱动程序的作用与运转在 Windows 下的打印机驱动程序的作 用非 常相像. 数据源,由用户要接见的数据及与之有关的操作系统、数据库管 理系统和用于接见数据库管理系统所需的网络平台构成 . 对应用程序而言 ,ODBC 驱动程序管理器和 ODBC 驱动程序就像一 个 实现 ODBC 函数调用的整体单元 ,应用程序感觉不到它们之间的分工 合 作关系.整个 ODBC 的结构是鉴于一种独到的动向链接库 DLL 而存在 的, 它使得系统完好模块化了 . 三、利用 ODBC API 的 C 语言 ODBC 编程 下边以一个典型 ODBC 数据库接见程序的伪代码为例 ,说明用 ODBCA PI 的 C 语言进行 ODBC 编程的一般步骤 .该程序从用户接受 SQL 查问 语句, 而后获取结果 ,集中各行各列的数据 . HENV henv HDBChdbc HSTMThstmt int nCols SQLALLocEnv(henv)/* 环境申请,获取一个环境句柄 */ SQLAllocConnect(henv,hdbc)/* 连结申请,获取数据库连结句柄 */ SQLDriverConnect(hdbc, ?)/*与详细的 ODBC 驱动程序和数据源 联系*/ SQLAllocStmt(hdbc,hstmt)/* 语句申请,获取一个语句句柄 */ Input SQLStatement/*从用户接受 SQL 语句*/ SQLE

文档评论(0)

1亿VIP精品文档

相关文档