数据库是计算机中一种专门管理数据资源的系统,目前几乎所有软件都需要与数据库打交道(包括操作系统,比如Windows上的注册表其实也是一种数据库),有些软件更是以数据库为核心因此掌握数据库系统的使用方法以及数据库系统编程接口的使用方法是程序员非常重要的基本技能之一。所以我花了一定的时间学习了在Windows平台上使用COM接口的方式操作数据库。这段时间我会将自己学习过程中掌握的知识和其中的一些坑都发布出来,供个人参考,也方便他人学习



现在常见的DBMS主要有ORACLE、Sybase、Informix、DB2、Sql Server、Access、Visual Foxpro、MySql。由于目前我主要是在学习Windows平台上的编程技巧,所以这系列的内容将会以Windows平台为主,所以数据库选择了Sql Server,编程接口主要是ADO和OELDB.

Windows平台常见的数据库编程组件

目前Windows平台上主要使用的是ODBC、DAO、RDO、ADO、ADO.NET、OLEDB。

其他的数据库编程接口由于被微软弃用或者使用人数较少,等等原因我并没有关心他们,目前主要学习的是OLEDB和ADO编程。由于ADO是针对OLEDB进行的在封装的ActiveX控件,掌握了OLEDB,再学习ADO就没有什么难度了,所以我将重点放在OLEDB上,而对于ADO只会简单的进行简单的步骤说明。

OLEDB的基本概念

  1. 数据提供者和数据消费者:在OLEDB中将接口两端的软件分别称为数据提供者(一般指数据库这一端,着重与数据的组织存储)和数据消费者(指应用程序这一端,着重与数据库数据的展示与使用)。OELDB是一种针对两头的编程接口,它为数据提供者和消费者分别准备了一组接口,数据提供者主要实现一些接口,用于将数据库中的数据输出到应用程序或者根据应用程序的指令完成数据的操作,而数据消费者主要使用其中提供的编程接口,实现数据的获取或者更新等操作。(我觉得他们二者之间的关系就像是有一套标准的COM接口,一个负责调用,一个负责实现)从本质上说,OLEDB其实就是一个标准的数据库与应用系统间的数据标准交换接口,它的好处就是高效,通用和灵活。
  2. 数据源:一般来讲数据源可以理解为数据提供者或者理解为各个DBMS,但是在ADO中,数据源可以是文本文件,excel或者xml文件

MSDAC简介

MSDAC(Microsoft Data Access Components)微软数据库访问组件,目前MSDAC上主要有ADO、OLEDB、ODBC

在Windows的MSDN中提供了完整的MSDAC帮助文档,在MSDN中,选择“目录”-->"Win32和COM开发"-->"Data Access And Storage"-->"Windows Data Access Components SDK"中。它的下层目录就是各种组件的详细文档,它的整体结构如下:

OLEDB编程的基本思路

OLEDB编程的基本步骤如下:

  1. 首先创建数据源对象,指定链接数据库的相关属性,链接到数据库
  2. 接着创建会话对象
  3. 根据回话对象创建出Command对象
  4. 利用Command对象执行SQL语句,并返回结果集对象
  5. 读取结果集对象中的数据,并输出
  6. 最后关闭所有对象接口,关闭数据库连接

    这些东西在后面的内容中会一一进行详细的说明,这篇博文就这样只开个头。

Windows数据库编程接口简介的更多相关文章

  1. Perl数据库DBI接口简介【转载】

    本文转载自:http://blog.csdn.net/like_zhz/article/details/5441946 ######################################## ...

  2. [转]Windows Shell 编程 第二章 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987893】

    第二章Shell的结构  “Shell 编程”的大伞之下有大量的API函数和COM接口.这个种类繁多的‘命令’集允许你用不同的方法对Windows Shell进行编程.函数和接口并不是两种提供相同功能 ...

  3. VB.NET数据库编程基础教程

    关键词:作者罗姗   众所周知,VB.NET自身并不具备对数据库进行操作的功能,它对数据库的处理是通过.NET FrameWork SDK中面向数据库编程的类库和微软的MDAC来实现的.其中,ADO. ...

  4. OCCI编程接口介绍

    OCCI简介 Oracle® C++ Call Interface (OCCI) 是一套应用程序编程接口,它允许C++程序与一个或者多个Oracle数据库进行交互.OCCI给予你强大的数据库操作能力, ...

  5. linux tcp/ip编程和windows tcp/ip编程差别以及windows socket编程详解

    最近要涉及对接现有应用visual c++开发的tcp客户端,花时间了解了下windows下tcp开发和linux的差别,从开发的角度而言,最大的差别是头文件(早期为了推广尽可能兼容,后面越来越扩展, ...

  6. Java数据库编程、XML解析技术

    数据库编程 JDBC概述 是Java Database Connecive,即数据库连接技术的简称,它提供了连接各种常用数据库的能力. 是一种用于执行SQL语句的Java API,可以为多种关系数据库 ...

  7. java 数据库编程 学习笔记 不断更新

    最近开始学习java,感觉java的数据库编程需要发个随笔记录一下,话不多说 切入正题. 一.数据库访问技术的简介 应用程序  →  执行SQL语句 →数据库 → 检索数据结果 → 应用程序   ( ...

  8. ADO数据库编程入门

    ADO 是目前在Windows环境中比较流行的客户端数据库编程技术. ADO是建立在OLE DB底层技术之上的高级编程接口,因而它兼具有强大的数据处理功能(处理各种不同类型的数据源.分布式的数据处理等 ...

  9. Java JDBC数据库编程

    课程  Java面向对象程序设计 一.实验目的 掌握数据库编程技术 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境,Microsoft SQL  ...

随机推荐

  1. Hibernate学习笔记(五) — 多对多关系映射

    多对多关系映射 多对多建立关系相当于在第三张表中插入一行数据 多对多解除关系相当于在第三张表中删除一行数据 多对多改动关系相当于在第三张表中先删除后添加 多对多谁维护效率都一样.看需求 在实际开发过程 ...

  2. 2015级C++第4周项目 函数

    [项目1-求最大公约数] 參考解答 (1)输入两个数.并求出其最大公约数 #include <iostream> using namespace std; //自己定义函数的原型(即函数声 ...

  3. telematics product and company in China

    持续更新中. 总的来看后装OBD市场日渐繁荣,可是应用深度不够:前装infotainment受限于产量和商业模式,举步维艰. 车联网作为汽车信息化的起点,会有泡沫,也会在大数据和物联网的浪潮中逐步积淀 ...

  4. pcre和正则表达式的误点

    1.正则中所有的匹配模式,都应该理解为"匹配了某字符或字符串后,紧跟着再匹配".这个概念很重要. 2.中括号首部使用脱字符时,表示的是紧跟着匹配不含给定字符的字符,而不是允许不匹配 ...

  5. springboot 热部署的两种方式

    问题的提出: 在编写代码的时候,你会发现我们只是简单把打印信息改变了,就需要重新部署,如果是这样的编码方式,那么我们估计一天下来就真的是打几个Hello World就下班了.那么如何解决热部署的问题呢 ...

  6. idea历史版本下载

    https://confluence.jetbrains.com/display/IntelliJIDEA/Previous+IntelliJ+IDEA+Releases

  7. Caused by: org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2

    异常信息 Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with na ...

  8. iOS 跳转到 App Store 下载评分页面

    html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,bi ...

  9. this的理解

    this的理解 看了阮一峰的this讲解,下面是我的理解: 总结来说 this指向 调用this所在方法 的对象: 普通函数 例子1 function test(){ this.x = 1; cons ...

  10. 《Head First 设计模式》【PDF】下载

    <Head First 设计模式>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196307 First 设计模式>[PDF] ...