Windows数据库编程接口简介
数据库是计算机中一种专门管理数据资源的系统,目前几乎所有软件都需要与数据库打交道(包括操作系统,比如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的基本概念
- 数据提供者和数据消费者:在OLEDB中将接口两端的软件分别称为数据提供者(一般指数据库这一端,着重与数据的组织存储)和数据消费者(指应用程序这一端,着重与数据库数据的展示与使用)。OELDB是一种针对两头的编程接口,它为数据提供者和消费者分别准备了一组接口,数据提供者主要实现一些接口,用于将数据库中的数据输出到应用程序或者根据应用程序的指令完成数据的操作,而数据消费者主要使用其中提供的编程接口,实现数据的获取或者更新等操作。(我觉得他们二者之间的关系就像是有一套标准的COM接口,一个负责调用,一个负责实现)从本质上说,OLEDB其实就是一个标准的数据库与应用系统间的数据标准交换接口,它的好处就是高效,通用和灵活。
- 数据源:一般来讲数据源可以理解为数据提供者或者理解为各个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编程的基本步骤如下:
- 首先创建数据源对象,指定链接数据库的相关属性,链接到数据库
- 接着创建会话对象
- 根据回话对象创建出Command对象
- 利用Command对象执行SQL语句,并返回结果集对象
- 读取结果集对象中的数据,并输出
- 最后关闭所有对象接口,关闭数据库连接
这些东西在后面的内容中会一一进行详细的说明,这篇博文就这样只开个头。
Windows数据库编程接口简介的更多相关文章
- Perl数据库DBI接口简介【转载】
本文转载自:http://blog.csdn.net/like_zhz/article/details/5441946 ######################################## ...
- [转]Windows Shell 编程 第二章 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987893】
第二章Shell的结构 “Shell 编程”的大伞之下有大量的API函数和COM接口.这个种类繁多的‘命令’集允许你用不同的方法对Windows Shell进行编程.函数和接口并不是两种提供相同功能 ...
- VB.NET数据库编程基础教程
关键词:作者罗姗 众所周知,VB.NET自身并不具备对数据库进行操作的功能,它对数据库的处理是通过.NET FrameWork SDK中面向数据库编程的类库和微软的MDAC来实现的.其中,ADO. ...
- OCCI编程接口介绍
OCCI简介 Oracle® C++ Call Interface (OCCI) 是一套应用程序编程接口,它允许C++程序与一个或者多个Oracle数据库进行交互.OCCI给予你强大的数据库操作能力, ...
- linux tcp/ip编程和windows tcp/ip编程差别以及windows socket编程详解
最近要涉及对接现有应用visual c++开发的tcp客户端,花时间了解了下windows下tcp开发和linux的差别,从开发的角度而言,最大的差别是头文件(早期为了推广尽可能兼容,后面越来越扩展, ...
- Java数据库编程、XML解析技术
数据库编程 JDBC概述 是Java Database Connecive,即数据库连接技术的简称,它提供了连接各种常用数据库的能力. 是一种用于执行SQL语句的Java API,可以为多种关系数据库 ...
- java 数据库编程 学习笔记 不断更新
最近开始学习java,感觉java的数据库编程需要发个随笔记录一下,话不多说 切入正题. 一.数据库访问技术的简介 应用程序 → 执行SQL语句 →数据库 → 检索数据结果 → 应用程序 ( ...
- ADO数据库编程入门
ADO 是目前在Windows环境中比较流行的客户端数据库编程技术. ADO是建立在OLE DB底层技术之上的高级编程接口,因而它兼具有强大的数据处理功能(处理各种不同类型的数据源.分布式的数据处理等 ...
- Java JDBC数据库编程
课程 Java面向对象程序设计 一.实验目的 掌握数据库编程技术 二.实验环境 1.微型计算机一台 2.WINDOWS操作系统,Java SDK,Eclipse开发环境,Microsoft SQL ...
随机推荐
- Android调用系统自带的文件管理器进行文件选择
http://blog.csdn.net/zqchn/article/details/8770913的补充 FileUtils文件 public class FileUtils { publi ...
- HDU1065 I Think I Need a Houseboat 【数学递推】
I Think I Need a Houseboat Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Ja ...
- --------------Hibernate学习(四) 多对一映射 和 一对多映射
现实中有很多场景需要用到多对一或者一对多,比如上面这两个类图所展现出来的,一般情况下,一个部门会有多名员工,一名员工只在一个部门任职. 多对一关联映射 在上面的场景中,对于Employee来说,它跟D ...
- jmeter的使用---web测试
jmeter的使用---web测试 url:http://127.0.0.1:1080/WebTours/ 1.通过badboy录制脚本 1.1输入url点击右侧的跳转按钮,随后右侧显示url界面 1 ...
- FiddlerCoreAPI开发(二)截获HTTPS流量
上一篇文章简单简单分析了fiddlercore自带样例的代码,本篇文章进入主题,介绍如何使用fiddlercore截获HTTPS流量. 当时学习完样例代码后,我觉得结合注释来抓HTTPS的包应该也很简 ...
- [UI列表]LoopScrollRect无限滑动不卡顿
应用场景 对于背包界面,排行榜列表,聊天消息,等有大量的UI列表的界面,常规做法是为每一条数据生成一个格子,在数据量越大的情况下,会生成越来越多的Gameobject,引起卡顿. 这篇文章讲述的就是解 ...
- idea和Webstorm上使用git和github,码云
由于之前一直使用svn,现在项目使用git,顾根据网上找的学习资料,自己梳理了下,收获蛮多,这里做个记录,如果能帮助到您那是最好不过的. 1.大致步骤 使用工具:idea,github,码云 webs ...
- Pycharm配置(三)
1.准备工作 (1)Python版本为2.7或者更高版本 (2)已经创建了一个Python工程并且添加了内容,具体参考: Getting Started tutorial2.第一步——运行代码 打开之 ...
- GDB scheduler-locking 命令详解
GDB scheduler-locking 命令详解 GDB> show scheduler-locking //显示线程的scheduler-locking状态GDB> set ...
- 日志框架之Logback
1 日志框架选择 日志门面:SLF4J 日志实现:Logback 2 实现控制台的日志打印输出01 2.1 在需要实现日志信息打印的类中实例化Logger对象 private final Logger ...