Visual C++在添加ADO控件时出现Microsoft ADO Data Control,version 6.0(OLEDB)不支持此接口是怎么回事?

Visual C++在在添加ADO控件时出现Microsoft ADO Data Control,version 6.0(OLEDB)不支持此接口是怎么回事?

vs2005中microsoft ado data control 6.0控件问题
在vs2005中是没有这个控件的,需要注册,步骤如下:

1. 先到C:\WINDOWS\system32目录下看看你的系统里是否已经有了MSADODC.ocx和MSDATGRD.ocx这两个文件(多半是没有的),没有就去下载;

2.在VS 2005中注册MSADODC.ocx和MSDATGRD.ocx这两个控件。在VS 2005中点击"Tools" --> "Visual Studio 2005 Command Prompt",输入如下命令即可:

regsvr32 msadodc.ocx

regsvr32 msdatgrd.ocx

现在再去 Insert ActiveX Contrls看看吧,呵呵,是不是出现了Microsoft Ado Data Control和Microsoft Data Grid Control两个新面孔啊?好了,现在就可以在工程中使用它们了。另外,我写到的这两个控件都是6.0版本的,早在VC++ 6.0时它们就已经出现了,但在VS 2005下也能正常使用。至于它们可能存在的更高版本或其它的ADO控件大家可以自己试着摸索着添加一下吧。

第一是如何在VS 2005中注册ADO Data和DataGrid这两个用来显示数据库内容的控件。这在VC++ 6.0下非常方便,在"Project" --> "Add to Project" --> "Components and Controls" 中打开 "Components and Controls Gallery" 对话框,双击 "Registered ActiveX Controls" 目录就能找到这两个控件。也就是说VC 6.0下是默认注册了这两个控件的(至少我装完VC 6就有了),直接拿来用就OK。

可在VS 2005中情况又如何?如果你在对话框工程默认创建的对话框上点右键 --> Insert ActiveX Contrls,接着就在弹出的对话框中瞪着眼睛猛搜一番。估计会和我一样没找着那俩控件。呵呵,恭喜你了!兄弟(或姐妹)你得和我一样手动添加它们了。方法如下:

1. 先到C:\WINDOWS\system32目录下看看你的系统里是否已经有了MSADODC.ocx和MSDATGRD.ocx这两个文件(多半是没有的),要是有了就直接看第2步吧。如果没有就从网上下载这两个文件,为了节省大家时间,可以尝试我找到的链接:
http://www.ocxdump.com/download-ocx-files_new.php/ocxfiles/M/MSADODC.OCX/6.00.81714/download.html
http://www.ocxdump.com/download-ocx-files_new.php/ocxfiles/M/MSDATGRD.OCX/6.00.81694/download.html
然后放到C:\WINDOWS\system32目录下。

2. 在VS 2005中注册MSADODC.ocx和MSDATGRD.ocx这两个控件。在VS 2005中点击"Tools" --> "Visual Studio 2005 Command Prompt",输入如下命令即可:
regsvr32 msadodc.ocx
regsvr32 msdatgrd.ocx

现在再去 Insert ActiveX Contrls看看吧,呵呵,是不是出现了Microsoft Ado Data Control和Microsoft Data Grid Control两个新面孔啊?好了,现在就可以在工程中使用它们了。另外,我写到的这两个控件都是6.0版本的,早在VC++ 6.0时它们就已经出现了,但在VS 2005下也能正常使用。至于它们可能存在的更高版本或其它的ADO控件大家可以自己试着摸索着添加一下吧。

第二是如何正确填写ADO 2.0(VS 2005 中ADO为2.0版本)到Sql Server 2005的连接字符串。上述的ADO数据控件只能对数据库进行读操作(至少我认为是这样,要是不对,请大家批评),如果要进行写操作还得编写连接数据库语句。问题就在于连接字符串的填写格式上了,我就是因为它苦恼了N久啊。。。
通过查资料、在网上搜寻,终于找到了正确的填写格式,这在“http://www.carlprothman.net/Default.aspx?tabid=81”上应有尽有。我用的就是其中ADO通过OLEDB数据源连接Sql Server的字符串填写格式,虽然那上面列出的是VB的格式,但是在我的VC++程序中一样适用。

参考资料:http://blog.163.com/zhaodongsheng1104@126/blog/static/164930729201043064257828/

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-10

最近找了很多关于这方面的,却都是有说VS2005的,我自己实践之后,总结出方法:

1.右键对话框主窗口,选择Insert ActiveX Control把ADO和DataGrid两个控件添加到对话框中;

2.在View中打开ClassWizard,选择“Member Variable”选项卡,为ADO和DataGrid添加成员函数“Add Variable”,会提示系统还没有插入这两个控件,接着点“OK”,工具箱中就自动添加了这一个空间的图标了。

相似回答