乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 159|回复: 9

[ARX]各位帮忙看看ADO连接外部数据库ACCESS的问题

[复制链接]

22

主题

71

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2004-9-23 15:27:00 | 显示全部楼层 |阅读模式
我在ARX2004中要用ADO连接外部数据库
用#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF","adoEOF") 为什么会出错??
同样的在MFC(EXE)中用这个可以读到数据库啊
IDE: MS C++.NET + ARX 2004         + ACCESS
回复

使用道具 举报

14

主题

202

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
258
发表于 2004-9-23 16:18:00 | 显示全部楼层
改成下面:
#import "C:\Program Files\Common Files\SYSTEM\ADO\msado15.dll" no_namespace \
rename("EOF","adoEOF")\
rename("EditModeEnum","adoEditModeEnum")\
rename("LockTypeEnum","adoLockTypeEnum")\
rename("FieldAttributeEnum","adoFieldAttributeEnum")\
rename("DataTypeEnum","adoDataTypeEnum")\
rename("ParameterDirectionEnum","adoParameterDirectionEnum")\
rename("RecordStatusEnum","adoRecordStatusEnum")
回复

使用道具 举报

14

主题

202

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
258
发表于 2004-9-23 16:21:00 | 显示全部楼层
或者可以用以下方法:
#pragma warning (disable: 4146)
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename("EOF", "EndOfFile")
using namespace ADODB;
#pragma warning (default: 4146)
回复

使用道具 举报

14

主题

202

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
258
发表于 2004-9-23 16:27:00 | 显示全部楼层
我一直使用ODBC,没用过ADO,给你找了些方法,你自己试试吧
回复

使用道具 举报

22

主题

71

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2004-9-23 16:31:00 | 显示全部楼层
我觉得是不是因为我用的系统的关系,因为我以前用ARX 2000的时候很好的,可以用的,现在开发包中多了MAP的内容,而MAP本身有一个连接ORACLE的功能,会不会这里有冲突呢?
回复

使用道具 举报

14

主题

202

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
258
发表于 2004-9-24 08:45:00 | 显示全部楼层
当你ODBC,ADO,DAO等一起使用的时候,会造成命名空间冲突,你用2楼的办法可以解决。
回复

使用道具 举报

22

主题

71

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2004-9-27 10:24:00 | 显示全部楼层
已经改好了,谢谢:)
回复

使用道具 举报

14

主题

202

帖子

4

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
258
发表于 2004-9-27 13:49:00 | 显示全部楼层
请明确说明你的解决方法,以方便后人
回复

使用道具 举报

28

主题

70

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
182
发表于 2004-9-28 07:38:00 | 显示全部楼层
你是怎么调试好的?
我用Wizarrd 2000向导生成的程序,也就是CDocData类和AsdkDataManager类,用ADO连接总是出现这样的错误提示:
Compiling...
StdAfx.cpp
                                 Compiling MFC header files in release mode.
e:\程序\arx\dbado\debug\msado15.tlh(407) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
e:\程序\arx\dbado\debug\msado15.tlh(2663) : error C2059: syntax error : 'constant'
e:\程序\arx\dbado\debug\msado15.tlh(2663) : error C2238: unexpected token(s) preceding ';'
Error executing cl.exe.
AppdbADO.arx - 2 error(s), 1 warning(s)
不用向导程序,则同样的设置ADO的方法就可以,不知道为什么???
回复

使用道具 举报

22

主题

71

帖子

2

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2004-10-2 15:53:00 | 显示全部楼层
用的就是二楼的方法,可能具体的机子实际情况不需要二楼那么多的rename
我之前一直出现的一个错误是:
d:\arx\ado\debug\msado15.tlh(2663)error2059:语法错误:“常数”
d:\arx\ado\debug\msado15.tlh(2663)error2238:意外的标记位于“;”之前       
        错误处发现是tlh中的:错误处是msado15.tlh中的:VARIANT_BOOL EOS;
后来,我就在#import后加入一句:rename ("EOS","adoEOS")        就可以了
我的经验是:根据编译中出现的具体情况来RENAME,基本上大部分的错误都是命名空间重名错误的,希望对大家有所帮助
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 22:52 , Processed in 0.212123 second(s), 83 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表