首    页 界面/窗口 网络/通讯 数据库 组件开发 图像/多媒体 NET/Web 其它技术 源码下载 资料下载 软件共享 软件外包 曲艺杂谈
栏目导航:  首    页  |  数据库  |  ADO   


关于VC操作Excel和运用ADO操作数据库时产生冲突的解决


原作者:施昌权    源出处:卓为VC    发布者:施昌权    发布类型:原创    发布日期:2008-08-28

      

        添加头文件包含:#include <afxole.h>
        并且导入Excel类型库包含头文件:#include "excel.h"(我用的是Office 2003)
        如果按照如下方式导入ADO则会产生冲突: #import "C:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

        去掉no_namespace 后可以解决冲突的问题,但是在每次需要使用ado的相应东西的时候需要在其前加上ADODB::, 比如:ADODB::_RecordsetPtr。

        也可以参考如下方式:
        #pragma   warning   (disable   :   4146   4049)        
        #define   __OFFICE_XP        
        #ifdef   __OFFICE_XP    
        #import   "E:\Program   Files\Common   Files\Microsoft   Shared\Office10\MSO.DLL"      
        #import   "E:\Program   Files\Common   Files\Microsoft   Shared\VBA\VBA6\VBE6EXT.OLB"   \       rename_namespace("VBIDE")    
        #import   "E:\Program   Files\Microsoft   Office\Office10\Excel.EXE"   \    
        rename("DialogBox",   "DialogBoxXL")   \    
        rename("RGB",   "RGBXL")   \    
        rename("ExitWindows",   "ExitWindowsXL")   \    
        rename("DocumentProperties",   "DocumentPropertiesXL")   \    
        no_auto_exclude    
        #import   "E:\Program   files\Microsoft   Office\Office10\MSWORD.OLB"   \    
        rename("DialogBox",   "DialogBoxDoc")   \     rename("RGB",   "RGBDoc")   \    
        rename("ExitWindows",   "ExitWindowsDoc")   \    
        rename("DocumentProperties",   "DocumentPropertiesDoc")   \    
        no_auto_exclude     #endif        

        #ifdef   __OFFICE_2000    
        #import   "E:\Program   Files\Microsoft   Office\Office\MSO9.DLL"      
        #import   "E:\Program   Files\Common   Files\Microsoft   Shared\VBA\VBA6\VBE6EXT.OLB"   \       rename_namespace("VBIDE")    
        #import   "E:\Program   Files\Microsoft   Office\Office\EXCEL9.OLB"   \    
        rename("DialogBox",   "DialogBoxXL")   \    
        rename("RGB",   "RGBXL")   \    
        rename("ExitWindows",   "ExitWindowsXL")   \    
        rename("DocumentProperties",   "DocumentPropertiesXL")   \    
        no_auto_exclude    
        #import   "E:\Program   files\Microsoft   Office\Office\MSWORD9.OLB"   \    
        rename("DialogBox",   "DialogBoxDoc")   \    
        rename("RGB",   "RGBDoc")   \    
        rename("ExitWindows",   "ExitWindowsDoc")   \    
        rename("DocumentProperties",   "DocumentPropertiesDoc")   \    
        no_auto_exclude     #endif        

        #ifdef   __OFFICE_97    
        #define   IMPATTRS   rename("DocumentProperties",   "DocProps")    
        #import   "mso97.dll"   IMPATTRS    
        #import   "vbeext1.olb"   rename_namespace("VBIDE")    
        #import   "excel8.olb"   IMPATTRS   rename("DialogBox",   "DialogBoxXL")   \    
        rename("RGB",   "RGBXL")   \    
        rename("ExitWindows",   "ExitWindowsXL")   \    
        rename("DocumentProperties",   "DocumentPropertiesXL")   \    
        rename("_CommandBars",   "CommandBarsXL")   \    
        no_auto_exclude     #import   "msword8.olb"   rename("DialogBox","dialogBoxDOC")   \          
        rename("RGB","RGBDOC")   no_auto_exclude   \    
        rename("ExitWindows","WordExitWindows") no_auto_exclude    
        #endif        

        #import   "msado21.tlb"   rename("EOF",   "adoEOF")  

 

 

关于我们 版权声明 广告服务 联系我们 友情链接 加入收藏
站长:施昌权    Email:scq2099yt@163.com    MSN:scq2099yt@live.cn    QQ:14046300    本站QQ群:67202409
Copyright © 2008     卓为VC(www.joyvc.cn)    All Rights Reserved    建议分辨率 1024×768
本站由施昌权制作维护
京ICP备09012297号