Visual C#数据库使用ADO的三种方法总结

开发 后端
这里介绍了Visual C#数据库使用ADO使用的三种方法:使用预处理指令#import、使用MFC中的CIDispatchDriver、直接用COM提供的API。

大家都知道ADO 是目前在Windows环境中比较流行的客户端数据库编程技术。在网上收集了很多资料,所以才能和大家谈谈关于Visual C#数据库使用。 ADO是建立在OLE DB底层技术之上的高级编程接口,因而它兼具有强大的数据处理功能(处理各种不同类型的数据源、分布式的数据处理等等)和极其简单、易用的编程接口,因而得到了广泛的应用。而且按微软公司的意图,OLE DB和ADO将逐步取代 ODBC和DAO。现在介绍ADO各种应用的文章和书籍有很多,本文着重站在初学者的角度,简要探讨一下在VC++中使用ADO编程时的一些问题。

Visual C#数据库使用

ADO实际上就是由一组Automation对象构成的组件,因此可以象使用其它任何Automation对象一样使用ADO。ADO中最重要的对象有三个:Connection、Command和Recordset,它们分别表示连接对象、命令对象和记录集对象。如果您熟悉使用MFC中的ODBC类(CDatabase、CRecordset)编程,那么学习ADO编程就十分容易了。

使用ADO编程时可以采用以下三种方法之一:

1、使用预处理指令#import

  1. #import "C:\Program Files\Common Files\System\ADO\msado15.dll" \  
  2. no_namespace rename("EOF", "EndOfFile")  

但要注意不能放在stdAfx.h文件的开头,而应该放在所有include指令的后面。否则在编译时会出错。
程序在编译过程中,VC++会读出msado15.dll中的类型库信息,自动产生两个该类型库的头文件和实现文件msado15.tlh和msado15.tli(在您的Debug或Release目录下)。在这两个文件里定义了ADO的所有对象和方法,以及一些枚举型的常量等。我们的程序只要直接调用这些方法就行了,与使用MFC中的COleDispatchDriver类调用Automation对象十分类似。

2、使用MFC中的CIDispatchDriver

就是通过读取msado15.dll中的类型库信息,建立一个COleDispatchDriver类的派生类,然后通过它调用ADO对象。

3、直接用COM提供的API

如使用如下代码:

  1. CLSID clsid;  
  2. HRESULT hr = ::CLSIDFromProgID(L"ADODB.Connection", &clsid);  
  3. if(FAILED(hr))  
  4. {...}  
  5. ::CoCreateInstance(clsid, NULL, CLSCTX_SERVER, IID_IDispatch, (void **)  
  6. &pDispatch);  
  7. if(FAILED(hr))  
  8. {...}  

以上三种方法,第一和第二种类似,可能第一种好用一些,第三种编程可能最麻烦。但可能第三种方法也是效率最高的,程序的尺寸也最小,并且对ADO的控制能力也最强。

据微软资料介绍,第一种方法不支持方法调用中的默认参数,当然第二种方法也是这样,但第三种就不是这样了。采用第三种方法的水平也最高。当你需要绕过ADO而直接调用OLE DB底层的方法时,就一定要使用第三种方法了。

ADO编程的关键,就是熟练地运用ADO提供的各种对象(object)、方法(method)、属性(property)和容器(collection)。另外,如果是在MS SQL或Oracle等大型数据库上编程,还要能熟练使用SQL语言。以上就是Visual C#数据库使用,希望大家在平时的时候养成总结的习惯。

【编辑推荐】

  1. VB.NET重命名批量修改大揭秘
  2. 程序员必看VB.NET CASE语句拓展篇
  3. 深入介绍VB.NET类库 SmartRWLocker技巧
  4. VB.NET复制读取音频文件到剪贴板小技巧
  5. 深入概括VB.NET运行环境
责任编辑:田树 来源: 博客
相关推荐

2010-07-29 09:56:45

Flex数据库

2010-11-19 14:51:09

Oracle数据库关闭

2009-07-22 11:33:14

JDBC连接Sybas

2009-07-30 16:27:33

C#比较时间

2011-07-04 15:14:49

C#

2010-09-13 15:41:23

sql server数

2022-06-19 23:39:58

机器学习数据集验证策略

2011-05-26 13:16:37

Oracle数据库备份

2023-05-16 16:07:07

大数据数据管理工具

2010-10-20 13:52:07

SQL Server数

2021-10-09 06:59:36

技术MyBatis数据

2009-09-08 10:37:57

C#遍历CheckBo

2009-07-08 12:56:32

编写Servlet

2009-08-25 11:35:27

C#连接数据库

2009-11-13 16:29:11

ADO.NET连接字符

2009-08-26 18:10:44

C# using的用法

2011-03-30 14:52:34

备份WordPress博客

2009-08-28 16:06:57

C#获取当前路径方法

2023-02-24 16:45:02

2023-10-13 10:45:18

HTTP数据
点赞
收藏

51CTO技术栈公众号