2012-12-10 11:50 (分类:计算机程序)

技术博客,对抗遗忘……

1.ODBC   Open Database Connectivity    
1.1 简介:
提供了一组对数据库访问的标准API(应用程序编程接口),这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

ODBC现在看来是一个比较古老的东西,然而,正因为它是一个比较成熟和古老的规范,ODBC在大多数DBMS上都做可以使用,可以说一个像样的DBMS都应该支持ODBC 3.0或以上的版本。 
一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBCAPI进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。 
应用系统程序通过标准API进行数据源连接,因此开发过程中不需指定特定的数据库系统,所以数据库系统的开放性从此被建立。

1.2  odbc API
其API共可分为以下九类:
I. 连接数据源(Connecting to a Data Source)
1. SQLAllocEnv.  2. SQLAllocConnect.   3. SQLConnect.  4. SQLPriverConnect.   5. SQLBrowseConnect.
II. 取得驱动程序及数据源的相关讯息
1.SQLDataSource    2.SQLGetInfo.  3SQLGetFunctions.    4.SQLGetTypeInfo.
III. 设定及取得驱动程序的选项
1. SQLSetConnectOption.    2. SQLGetConnectOption.    3. SQLSetStmtOption.     4. SQLGetStmtOption.
IV. 准备SQL指令之需求
1. SQLAllocStmt.  2. SQLPrepare.    3. SQLSetParam.    4. SQLParamOptions.    5. SQLGetCursorName. 6.SQLSetCursorName. 7. SQLSetScrollOptions.
V. 传送及执行需求
1. SQLExecute.   2. SQLExecDirect.    3. SQLNativeSql.    4. SQLDescribeParanl.    5. SQLNumParams. 6.SQLParamData. 7. SQLPutData.
VI. 取得执行结果及有关结果的讯息
1. SQLRowCount.    2. SQLNumResultCols.     3. SQLDescribeCol.    4. SQLColAttributes.   5. SQLBindCol. 6.SQLFetch.   7. SQLExtendedFetch.    8. SQLGetData.   9. SQLSetDos.   10. SQLMoreResults.   11. SQLError.
VII. 取得有关数据源系统回录(System tables or Catalog)的讯息
1. SQLColumnPrivileges.   2. SQLColumns.    3. SQLForeignkeys. 4. SQLPrimaryKeys. 5.SQLProcedureColumns. 6. SQLProcedures. 7. SQLSpecialColumns. 8. SQLStatistics. 9. SQLTablePrivileges. 10. SQLTables.
VIII. 结束 SQL 指令需求
1. SQLFreeStmt. 2. SQLCancel. 3. SQLTransact.
IX. 结束与数据源的连接
1. SQLDisconnect. 2. SQLFreeConnect. 3. SQLFreeEnv.

以上所列之 ODBC API函数,我们发现全都以 SQL 为开头。除以上述分类外,各个函数在其必要性或复杂度上, 更被规定在不同的几个层级中 ODBC 函数的层级为核心层(Core level),第一层(Level 1),和第二层(Level 2)。我们再来看一个很基本的应用程序步骤是如何呢? 下图告诉我们这个答案。

回顾 ODBC 的架构及其执行过程,ODBC 造就了"应用程序独立性(Application Independency)"的特性,使应用程序不需在乎数据源是何种数据库系统或者纯粹是个资料或文本文件,只要相对驱动程序能完成衔接的功能,则应用程序即可达到高度的独立性。

1.3 MFC  封装的odbc类
MFC的 ODBC类对较复杂的ODBC API进行了封装,提供了简化的调用接口。

MFC  ODBC将ODBC API封装在类
CDatabase、主要功能是建立与数据源的连接;
CRecordSet、代表从数据源选择的一组记录(记录集)
CFieldExchange支持记录字段数据交换RFX,即记录集字段数据成员与相应的数据库的表的字段之间的数据交换 
CRecordView  供了一个表单视图与某个记录集直接相连,利用对话框数据交替机制(DDX)在记录集与表单视图的控件之间传输数据
CDBException   代表ODBC类产生的异常。

使用MFCODBC 开发数据库应用程序的一般步骤
使用AppWizard访问数据库
使用类CDatabase连接数据库
使用类CRecordSet打开记录集、获取数据
使用类CRecordSet的函数MoveFirst()MoveLast()MoveNext()MovePrev()IsBOF()IsEOF()进行记录集的遍 历
使用类CRecordSet的函数AddNewUpdate增加记录
使用类CRecordSet的函数EditUpdate修改记录
使用类CRecordSet的函数Delete 删除记录
使用类CDatabase的函数ExecuteSQL直接执行SQL命令
使用类CDatabase的函数BeginTransCommitTransRollback处理事务

1.4 简单的odbc使用方法
建立数据源后,创建包含数据源的程序,在程序中将变量与数据源字段关联,不用编写具体代码,可以查看
数据库数据,

转载于:https://www.cnblogs.com/centos2017/p/7896826.html

连接数据库的方法---ODBC相关推荐

  1. c# oldb连接_C#使用ODBC与OLEDB连接数据库的方法示例

    本文实例讲述了C#使用ODBC与OLEDB连接数据库的方法.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using ...

  2. php链接odbc,PHP使用ODBC连接数据库的方法

    PHP使用ODBC连接数据库的方法 发布于 2015-09-27 06:54:06 | 56 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Pr ...

  3. asp mysql text_11种ASP连接数据库的方法

    ASP连接数据库的11种方法--本文总结了使用ASP链接各种数据库的方法:1.Access数据库的DSN-less连接方法: set adocon=Server.Createobject(" ...

  4. 连接数据库的方法总结

    连接数据库的方法总结 一.使用ODBC连接数据库 1.创建odbc数据源 打开控制面板->管理工具->odbc数据源(分为32位和64位,根据数据源的平台类型确定),打开后的数据源管理程序 ...

  5. thinkphp5 mysql长连接_tp5(thinkPHP5)框架连接数据库的方法示例

    本文实例讲述了thinkPHP5框架连接数据库的方法.分享给大家供大家参考,具体如下: 1.配置文件目录 tp5applicationdatabase.php 通过配置文件来连接.. 也可以通过方法链 ...

  6. ASP.NET在IIS上部署使用Oracle数据库无法连接数据库解决方法

    ASP.NET在IIS上部署使用Oracle数据库无法连接数据库解决方法(转载) 10小时前 ASP.NET在IIS上部署使用Oracle数据库无法连接数据库解决方法(转载) 分类: ASP.NET| ...

  7. 四种连接数据库的方法(DriverManager、DataSource子类、DBCP、c3p0)

    四种连接数据库的方法(DriverManager.DataSource子类.DBCP.c3p0) 一.环境     1.数据库驱动jar文件 2.DBCP方法  Commons-dbcp.jar:连接 ...

  8. PL/SQL TOAD 不安装Oracle客户端连接数据库的方法

    不安装Oracle客户端连接数据库的方法 本机环境: win7 64位中文旗舰版 一.准备工作: 1)到ORACLE官网下载instantclient,下载地址:http://www.oracle.c ...

  9. php数据库连接教程,php如何连接数据库的方法

    这篇文章给大家介绍的内容是关于php如何连接数据库的方法,有着一定的参考价值,有需要的朋友可以参考一下. 1.php链接数据库: 1.链接数据库 2.判断是否连接成功 3.设置字符集 4.选择数据库 ...

最新文章

  1. Fragment 之间传递数据
  2. u8系统更改了服务器,u8修改服务器配置文件
  3. Object family 0401 is not intended for installed base category Installed Base
  4. NOIP模拟测试38「金·斯诺·赤」
  5. 关于Django中JsonResponse返回中文字典编码错误的解决方案
  6. mysql自带客户端连接服务器,客户端连接mysql服务器的指令 mysql -u root -p 详细讲解及使用实例...
  7. mysql防止误操作之prompt命令提示符
  8. php mysql 创建数据表_PHP MySQL 创建数据表
  9. 毕啸南专栏 | 对话今日头条副总裁马维英:有技术也要有价值观
  10. vc2010, fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt解决办法
  11. 网工学习笔记——reboot
  12. php把amr转换成mp3,PHP 将amr音频文件转换为mp3格式
  13. java初级程序员需要掌握技能,快来看鸭~
  14. 分享超高清多机位现场直播间搭建方案
  15. WinPE制作相关知识
  16. Projecting Your View Attentively: Monocular Road Scene Layout Estimation via Cross-view Transformati
  17. 当数据中台遇上智能 看中台“鼻祖”阿里巴巴又有什么新花样?
  18. CocosCreator-动态生成3种敌人
  19. writeUP-[第五空间2019 决赛]PWN5(待进一步完善待研究内容)
  20. 保存富文本编辑器内容

热门文章

  1. ORACLE EBS常用表及查询语句(最终整理版)
  2. 产品经理网站数据分析之测量问题现状(二)
  3. NodeManager启动流程与服务
  4. TSQL与PL/SQL的比较
  5. VC系统扫雷游戏外挂源代码程序下载(转帖
  6. sqlserver2000 mdf 文件导入
  7. MySql修改数据库编码为UTF8
  8. spring官方网站
  9. ES6-17 class与对象
  10. 2018.11.14成立我的博客