- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ODBC_API参考ODBC_API参考
使用ODBC API进行数据库编程
ODBC(Open Database Connectivity,开放数据库连接),是由 Microsoft 公司基于 X/OPEN CLI 提出的用于访问数据库的应用程序编程接口,主要完成应用程序和数据库系统之间的中间件功能。基于 ODBC 的应用程序通过 ODBC 提供的 API 与数据库进行交互,在避免了应用程序直接操作数据库系统的同时,极大的增强了应用程序的可移植性、扩展性和可维护性。定义了访问数据库的API一个规范,这些API独立于不同厂商的数据库产品。在开始使用ODBC编程之前,需要安装ODBC驱动程序,并在ODBC驱动管理器中注册。Windows 操作系统自带了ODBC驱动程序管理器, 可以在 “控制面板-管理-ODBC数据源管理器” 找到ODBC头文件有5个:sql.h, sqlext.h, sqltypes.h, sqlucode.h and odbcinst.h一般情况下用到sql.h 和sqlext.h#include sql.h??????????????// This is the the main include for ODBC Core functions.#include sqlext.h?????????// This is the include for applications using the Microsoft SQL Extensions#include sqltypes.h????// This file defines the types used in ODBC#include sqlucode.h???// This is the unicode include for ODBC Core functions#include odbcinst.h??????// This is the application include file for the SQL Server driver specific defines.
库文件:odbc32.lib
二、ODBC 应用的结构
图 2.1 一个简单的 ODBC 应用的概念模型一个 ODBC 程序通常可以分为三个模块:初始化、数据库操作和资源释放。初始化模块主要完成数据库句柄的创建,环境参数的设置及连接到数据库等操作;数据库操作部分是整个程序的主体,主要完成与业务逻辑相关的数据库对象及数据的增、删、改、查等操作;资源释放模块主要包括数据库连接及资源的释放等。初始化模块主要进行分配和初始化系统资源,为稍后的数据库操作做准备。具体包括 Environment handle 和 Connection handle 的创建和初始化、连接到指定的数据源、全局及连接属性的设置等。图 2.2 所示为初始化部分的示意图,图中虚线表示的是可选项,即可以自定义全局或连接属性,也可以不进行设置,使用系统的默认值。
图 2.2 初始化模块分配 handle:使用 SQLAllocHandle() 来统一分配 handle设置和查询全局属性:使用 SQLSetEnvAttr() 和 SQLGetEnvAttr() 来设置和查询全局属性。设置和查询连接属性:使用 SQLSetConnectAttr() 和 SQLGetConnectAttr() 来设置和获得连接属性。?连接到数据源:使用 SQLConnect() 或者 SQLDriverConnect() 连接到指定的数据源。SQLConnect 和 SQLDriverConnect 都可以完成连接到数据库的功能,但是 SQLDriverConnect 能够在连接时通过指定连接字符串进行更加详细的设置。数据库操作
数据库操作模块包括是整个程序的主体 , 根据业务需求 , 完成对数据库对象的创建、修改、删除及数据的增、删、改、查等。一个基本的 ODBC 数据库操作由以下五步组成,如图 2.3 所示。
图 2.3 数据库操作示意图1)?分配 Stmt handle:包括 Stmt handle 的创建,并根据需要对其属性进行设置,例如设置绑定参数类型,游标是否可滚动等。Stmt handle 是执行数据库操作的句柄,所有涉及数据库数据的操作都由 Stmt handle 来实现,同时也可以针对需求对某些数据库操作进行特殊的属性设置,如游标是否可滚动,隔离级别的设置等。Stmt handle 由 Connection handle 分配,一个 Connection handle 可以分配同时多个 Stmt handle 来进行不同的操作。2)?执行数据库操作。其中数据库操作主要包括数据库对象 ( 表、视图、存储过程、触发器等 ) 的操作 ( 创建、修改、删除 ) 和
您可能关注的文档
- Module3 Literature学案(外研版选修7).doc
- module2 教师导学案.doc
- Module4 The natural world.doc
- Module6 Unit1.doc
- module2学生学案.doc.doc
- Module6模块综合检测.doc
- Module7-12.doc
- Module9, Unit 3 教学设计.doc
- Module_2《A_Job_Worth_Doing》试题(外研必修模块5).doc
- Module_3_Music_学案.doc
- 人教版数学六年级上册 第一单元 第5课时 分数乘小数.pptx
- 人教版数学六年级上册 第四单元 第3课时 比的应用.pptx
- 人教版数学六年级上册 第五单元 第5课时 圆的面积-2.pptx
- 人教版数学六年级上册 第一单元 第7课时 解决问题-1.pptx
- 人教版数学六年级下册 第二单元 第4课时 利率.pptx
- 人教版数学六年级上册 第一单元 第8课时 解决问题-2.pptx
- 人教版数学六年级下册 第五单元 第2课时 鸽巢问题的一般形式.pptx
- 人教版数学六年级下册 第四单元 整理和复习.pptx
- 人教版数学六年级上册 第一单元 第3课时 分数乘分数-1.pptx
- 人教版数学六年级下册 第六单元复习第2课时 可能性.pptx
文档评论(0)