如何在VC++ 编写的组件中使用 ADO

2016-01-29 18:19 4 1 收藏

如何在VC++ 编写的组件中使用 ADO,如何在VC++ 编写的组件中使用 ADO

【 tulaoshi.com - ASP 】

  如何在VC++ 编写的组件中使用 ADO

简介
这篇文章是给那些习惯于用VB开发组件的人想转用VC++时看的。本文用一个简单的例子示范如何使用ADO Recordset 对象。
在VB中,当你想要返回一个ADO Recordset,你会这样写…
Function GetRecordset() As Object
     Dim cn As ADODB.Connection
     Dim rs As ADODB.Recordset
     Set cn = New ADODB.Connection
     cn.Open "DSN=AdvWorks"
     Set rs = cn.Execute("Select * From Customers")
     Set GetRecordset = rs
End Function  

那么让我们来看看用VC++如何实现呢?
在VB中,你会使用’Project-References菜单来使用其它COM组件,例如ADO。在VC++中,要使用#import声明。在你的.CPP或.H文件中插入这样一句。
#import "c:Program FilesCommon FilesSystemadomsado15.dll" no_namespace rename ( "EOF", "adoEOF" )

然后加一个方法。右击ClassView ,选择 Add Method。
Method Name: GetRecordset
Parameters: [out, retval] IDispatch **RS]
现在是关键…
STDMETHODIMP CADOSample::GetRecordset(IDispatch **RS)
{
     _ConnectionPtr pCN;
     _RecordsetPtr pRS;
     _variant_t vtEmpty;
     pCN.CreateInstance(__uuidof(Connection));
     pCN-Open("DSN=AdvWorks", "", "", -1);
     pRS = pCN-Execute("Select * From Customers",
           &vtEmpty, adCmdUnknown);
     pRS-QueryInterface(IID_IDispatch,
           (void**) RS);
     return S_OK;
}

看看,VC++程序几乎与VB一模一样,谁说VC++难用?
 

来源:http://www.tulaoshi.com/n/20160129/1505304.html

延伸阅读
虽然能用DLL实现的功能都可以用COM来替代,但DLL的优点确实不少,它更容易创建。本文将讨论如何利用VC MFC来创建不同类型的DLL,以及如何使用他们。 一、DLL的不同类型 使用VC++可以生成两种类型的DLL:MFC扩展DLL和常规DLL。常规DLL有可以分为动态连接和静态连接。Visual C++还可以生成WIN32 DLL,但不是这里讨论的主要对象。 1、MFC扩展DL...
Progress控件能让人们感受到一个应用程序执行的进度,在很多应用程序中都能用到它,但通常只支持在单任务中,在Windows98/NT中文操作系统下,在VC++6.0环境下,利用线程编制了一个非常小巧的应用程序来实现Progress控件的使用。它可以支持多线程,使用起来很方便。以下是这个应用程序的源代码: //ProgressDialog.h class CProgressD...
标签: 电脑入门
Linux系统中有时需要检测某个条件是否成立,那么就要用到test命令了,Linux下test的用法有很多,下面就随图老师小编一起来学习下Linux系统中如何使用test命令吧。 1.判断一个命令的结果使用test,其返回0,或一个整数。返回0表示true,返回整数表示错误码 2.获取上一个命令的返回结果使用$? 3.例如 我的服务器上面存在/home/www...
一、 为什么写这篇东西 自己在使用 BCB5 写一些程序时需要检查很多东西,例如内存泄漏、资源是否有释放等等,在使用了很多工具后,发觉 BCB5 本身自带的工具—— CodeGuard ,非常不错,使用也挺方便的,但是摸索了很久(以及翻查了一些资料,包括 HELP )才算是会用了。写这篇文章的目的希望有这方面的问题的朋友可以借鉴一下,大家互相学习,...
标签: PHP
  这个例子建了一个连接,用ODBC打开Access的数据库NorthWind(安装Access时带的示范)。在执行了SQL语句后,返回了RecordSet对象。例子显示了前三个字段:   <?   $dbc = new COM("ADODB.Connection");   $dbc-Provider = "MSDASQL";   $dbc-Open("nwind");&...

经验教程

914

收藏

20
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部