有关ActiveX控件ADODC和DataGrid在VC++下面的使用

来源:互联网 发布:java 仓库管理系统 编辑:程序博客网 时间:2024/04/29 17:14

系统环境:Windows 7 + VC6.0 + VS2008

当在VC++6.0中"Project"-->"Add to Project"-->"Componets and Controls"-->"Register ActiveX Controls", 找到Microsoft ADO Data Control 6.0 (SP6) (OLEDB), 进行插入时候, 出现以下消息框。

---------------------------

Components and Controls Gallery
---------------------------
Microsoft ADO Data Control 6.0 (SP6) (OLEDB)

不支持此接口

---------------------------

在我的电脑上也安装了VS2008, 我用2008尝试插入Microsoft ADO Data Control 6.0 (SP6) (OLEDB)时, 能够正确插入。  所以, 这个可能是系统版本的问题。


------------------------------------------------------------------------------------------------------------------------------------------------------------------

如果在vs2008或者2010中找不到上面控件Microsoft ADO Data Control 6.0 (SP6) (OLEDB)和Microsoft DataGrid控件时, 原因是这两个ActiveX控件没有被注册。

需要注册,步骤如下:

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

2.注册MSADODC.ocx和MSDATGRD.ocx这两个控件。 方法是打开命令提示符窗口,输入如下命令: regsvr32 msadodc.ocx 回车regsvr32 msdatgrd.ocx回车, 现在再 Insert ActiveX Contrls下看看吧,是不是出现了Microsoft Ado Data Control和Microsoft Data Grid Control两个选项啊?现在就可以在工程中使用它们了。另外,这两个控件都是6.0版本的,早在VC++ 6.0时它们就已经出现了,但实验发现它在VS 2005, VS2008, VS2010下也能正常使用。至于它们可能存在的更高版本或其它的ADO控件大家可以自己试着摸索着添加一下吧。

 

有时候在安装这两个控件   用DataGrid绑定数据库时   会出现 cannot initialize data binding 错误  ,产生这种错误一般是因为

需要注册一下MSSTDFMT.DLL才可以。那么就再把它加到安装包里面,安装完成之后测试,这下真的没问题了!原来MSSTDFMT.DLL是微软标准数据格式对象相关动态链接库文件,引用名称为“Microsoft Data Formatting Object Library”,如果在开发程序中有数据绑定,就是通过它对数据格式化后再绑定到控件的。虽然有时候程序里面没有对它进行引用,但如果用到数据绑定控件,那么就要记得把MSSTDFMT.DLL加到安装程序里面。

下面是对OCX控件或者DLL动态链接库文件的注册语法

文件注册regsvr32 文件名

解除注册regsvr32 文件名 /u

不弹出信息框regsvr32 文件名 /i


regsvr32 文件名解除注册regsvr32 文件名 /u不弹出信息框regsvr32 文件名 /i

原创粉丝点击