数据库是计算机中一种专门管理数据资源的系统,目前几乎所有软件都需要与数据库打交道(包括操作系统,比如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. Launcher知识的demo,手机管家小伙家与悬浮窗

    Launcher知识的demo.主要仿的手机管家小伙家与悬浮窗的效果.东西比較简单.直接贴代码 主要用到了windowManager 中的更新updateViewLayout(view,params) ...

  2. js清除cookie有时无法清除

    最近写页面遇到一个问题,退出的时候需要清除cookie,但是刚开始一直清除不掉,代码如下: //清除函数 function delCookie(name) { var date= new Date() ...

  3. 自学Zabbix1.2-zabbix特性

    Zabbix是一个高度集成的网络监控套件,通过一个软件包即可提供如下特性. 概述 Zabbix是一个高度集成的网络监控套件,通过一个软件包即可提供如下特性 数据收集 可用性及性能检测 支持SNMP(t ...

  4. SGD

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. maven project module 依赖项目创建 ---转

    一.创建Maven Project 1.右击 --> New --> Other,--> Maven --> Maven Project --> Next 2.如下图,选 ...

  6. Vue-Methods中使用Filter

    1.Vue中Filter声明方式 Vue中存在两种声明Filter过滤器的方式: 1.全局过滤器 Vue.filter('testFilter1',function(val){ console.log ...

  7. 60、jQuery其余操作

    上篇主要介绍了jQuery,和一些基本用法,这篇主要讲解动画.常用事件.还有一些jQuery的补充内容. 本篇导航: 动画 常用事件 插件 jQuery API 中文文档 一.动画 1.基本 show ...

  8. iOS Swift基础知识代码

    推荐:Swift学习使用知识代码软件 //集合类型 数组 字典 func array1(){ var arr = [","dd"] //简单写法 var arr1 = [ ...

  9. strtus2中的default-action-ref无效的解决方法

    strtus2中的default-action-ref的作用是我们在浏览器中访问错误的地址时可以跳转到自己设置的错误页面,而不是令人尴尬的系统错误页面,这个系统错误很常见,就是提示在namespace ...

  10. 阿里云ECS升级OpenSSL记录

    1.下载OpenSSL wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz 2.解压编译安装 tar xf openssl-1.1.0e ...