明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4462|回复: 10

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

  [复制链接]
发表于 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
发表于 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")
发表于 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)
发表于 2004-9-23 16:27:00 | 显示全部楼层
我一直使用ODBC,没用过ADO,给你找了些方法,你自己试试吧
 楼主| 发表于 2004-9-23 16:31:00 | 显示全部楼层
我觉得是不是因为我用的系统的关系,因为我以前用ARX 2000的时候很好的,可以用的,现在开发包中多了MAP的内容,而MAP本身有一个连接ORACLE的功能,会不会这里有冲突呢?
发表于 2004-9-24 08:45:00 | 显示全部楼层
当你ODBC,ADO,DAO等一起使用的时候,会造成命名空间冲突,你用2楼的办法可以解决。
 楼主| 发表于 2004-9-27 10:24:00 | 显示全部楼层
已经改好了,谢谢:)
发表于 2004-9-27 13:49:00 | 显示全部楼层
请明确说明你的解决方法,以方便后人
发表于 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的方法就可以,不知道为什么???
 楼主| 发表于 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,基本上大部分的错误都是命名空间重名错误的,希望对大家有所帮助
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 17:33 , Processed in 0.155210 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表