c语言之odbc编程指南

c语言之odbc编程指南

ID:9412509

大小:53.00 KB

页数:19页

时间:2018-04-30

c语言之odbc编程指南_第1页
c语言之odbc编程指南_第2页
c语言之odbc编程指南_第3页
c语言之odbc编程指南_第4页
c语言之odbc编程指南_第5页
资源描述:

《c语言之odbc编程指南》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、摘要本文在介绍了ODBC(开放性数据库连接,Open DataBase Connectivity)运行机制的基础上,着重讨论了VisualC++2.0下利用ODBCAPI及利用MFC进行ODBC编程的两种方法.   关键词ODBC,SQL,数据源,文档/视图结构,DBMS   一、ODBC的发展背景   在传统的数据库领域,数据库应用程序通常是指在特定的数据库管理系统(DBMS)的支持下,用特定的内嵌式结构化查询语言(SQL)开发的.这样的数据库应用程序存在如下的缺点:(1)它往往需要一个庞大的数据库管理系统的支持,对用户的软、硬件要求高;(2)它通常只能处理一种格式

2、的数据库文件.   与传统的数据库应用程序的实现方法相比,Microsoft的开放性数据库连接(ODBC)标准则提供了一种新的途径:它建立了一组规范,并提供了一组高层应用程序调用接口和一套基于动态链接库(DLL)的运行支持环境.用这样一组接口规范开发的应用程序,使用标准的函数和结构化查询语言(SQL)对数据库进行操作,不必关心"数据源"(DataSource)来自何种数据库管理系统DBMS,所有的数据库的底层操作都是由相应的ODBC驱动程序(ODBCDriver)完成.只要有了相应的ODBC驱动程序,应用程序处理的对象-数据源就可以非常广泛,既可以是本机的某种数据库格

3、式的文件,如FoxPro的*.dbf文件,也可以是远程数据库文件,如MicrosoftSQLServer等.   二、ODBC的运行机制   ODBC的体系构架包括五个部分:ODBC管理器(ODBCAdministrator)、应用程序(Application)、ODBC驱动程序管理器(ODBCDriver Manager)、ODBC驱动程序(ODBCDriver)和数据源(Data Source).图1表示了ODBC各部分之间的关系.   ODBC管理器在整个ODBC运行机制中起配置环境、登录信息的作用,它被安装在Control Pannel里(ODBCINST.C

4、PL).通过该工具,可以用来配置、增添和删除数据源,也可以用来删除、安装ODBC驱动程序.ODBC管理器把数据源和ODBC驱动程序的信息记录在ODBC.INI、ODBCINST.INI和ODBCISAM.INI中,或者登录在系统数据库中,ODBC的其他部件通过读取这些信息,相互作用,应用程序就能够实现对已登录数据库的共享.   应用程序(Application)的主要任务是通过调用标准的ODBC函数,提交SQL语句并返回结果,对结果进行处理.   ODBC驱动程序管理器的作用是根据应用程序的要求,调用不同的ODBC驱动程序.   ODBC驱动程序的作用是实现ODBC函

5、数调用,对指定的数据源执行SQL语句,并把结果返回给应用程序.有时候,为了符合特定的数据库管理系统的语法,ODBC驱动程序还会对应用程序的要求作适当修改.这里,ODBC驱动程序的作用与运行在Windows下的打印机驱动程序的作用非常相似.   数据源,由用户要访问的数据及与之相关的操作系统、数据库管理系统和用于访问数据库管理系统所需的网络平台组成.   对应用程序而言,ODBC驱动程序管理器和ODBC驱动程序就像一个实现ODBC函数调用的整体单元,应用程序感觉不到它们之间的分工合作关系.整个ODBC的结构是基于一种独特的动态链接库DLL而存在的,它使得系统完全模块化了

6、.   三、利用ODBC API的C语言ODBC编程   下面以一个典型ODBC数据库访问程序的伪代码为例,说明用ODBCAPI的C语言进行ODBC编程的一般步骤.该程序从用户接受SQL查询语句,然后获取结果,集中各行各列的数据.   HENV henv   HDBChdbc   HSTMThstmt   int nCols   SQLALLocEnv(&henv)/*环境申请,获得一个环境句柄*/   SQLAllocConnect(henv,&hdbc)/*连接申请,获得数据库连接句柄*/   SQLDriverConnect(hdbc,…)/*与具体的ODBC驱

7、动程序和数据源联系*/   SQLAllocStmt(hdbc,&hstmt)/*语句申请,获得一个语句句柄*/   Input SQLStatement/*从用户接受SQL语句*/   SQLExecDirect(hstmt,SQLStatement,…)/*执行SQL语句*/   SQLNumResultCols(hstmt,&nCols)/*获取结果集中列数*/   for each column{/*获得每列的信息,并与相应的C变量联系起来*/   SQLDescribeCol(hstmt,col,ColName,…)/*获取当前列的信息*/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。