数据库是计算机中一种专门管理数据资源的系统,目前几乎所有软件都需要与数据库打交道(包括操作系统,比如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. HDOJ 4251 The Famous ICPC Team Again

    划分树水题..... The Famous ICPC Team Again Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 3276 ...

  2. Orchard Core Framework:ASP.NET Core 模块化,多租户框架

    Orchard Core Framework:ASP.NET Core 模块化,多租户框架 上一篇编写Orchard Core一分钟搭建ASP.NET Core CMS ,介绍ASP.NET Core ...

  3. cookie和session(一)

    先来谈谈我对session和cookie的理解,事实上,只要你去面试web开发,面试官十有八九会问这个问题. cookie和session经常被放在一起问,其实在我看来这两个东西完全是两个不一样的. ...

  4. 自学Zabbix3.8.4-可视化Visualisation-Slide shows

    Zabbix3.8.4-可视化Visualisation-Slide shows幻灯片 定义好screen之后,我们想了解服务器状况之时,一般会一个个screen点过去,zabbix提供了幻灯片展示方 ...

  5. Struts2学习---result结果集

    这一章节主要介绍如何配置结果集,分为以下几个知识点: 结果集类型(result type) 全局结果集(global types) 动态结果集(dynamic type) 带有参数的结果集(type ...

  6. jsp程序设计:jstl之JSTL标签库

    转载自:http://www.blogjava.net/haizhige/archive/2008/10/26/236783.html,个人进行了一些修改. 前言:写一个taglib一般可以继承Sim ...

  7. BSGS离散对数(Baby-Step-Giant-Step)

    BSGS离散对数(Baby-Step-Giant-Step) 题目: 给定\(x,y,p,\)求最小的自然数\(k\)满足\(x^k=y(\mod p)\)\(p\le2^{31}\)(满足一定有答案 ...

  8. scala写算法-快排

    快排算法很经典,今天用scala的函数式思维来整理一下并实现: def qsort(list: List[Int]):List[Int]=list match { case Nil=>Nil c ...

  9. bzoj 3597: [Scoi2014]方伯伯运椰子

    Description Input 第一行包含二个整数N,M 接下来M行代表M条边,表示这个交通网络 每行六个整数,表示Ui,Vi,Ai,Bi,Ci,Di 接下来一行包含一条边,表示连接起点的边 Ou ...

  10. Spring之DAO一

    前面博客把bean.aop简单了解了一下,今天主要是了解Spring中DAO层,如果使用传统的JDBC时需要创建连接.打开.执行sql.关闭连接这一系列的步骤,Spring框架对JDBC进行了封装,我 ...