chenpool 发表于 2004-9-23 15:27:00

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

我在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

easypower 发表于 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")

easypower 发表于 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)

easypower 发表于 2004-9-23 16:27:00

我一直使用ODBC,没用过ADO,给你找了些方法,你自己试试吧

chenpool 发表于 2004-9-23 16:31:00

我觉得是不是因为我用的系统的关系,因为我以前用ARX 2000的时候很好的,可以用的,现在开发包中多了MAP的内容,而MAP本身有一个连接ORACLE的功能,会不会这里有冲突呢?

easypower 发表于 2004-9-24 08:45:00

当你ODBC,ADO,DAO等一起使用的时候,会造成命名空间冲突,你用2楼的办法可以解决。

chenpool 发表于 2004-9-27 10:24:00

已经改好了,谢谢:)

easypower 发表于 2004-9-27 13:49:00

请明确说明你的解决方法,以方便后人

dipenghao 发表于 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的方法就可以,不知道为什么???

chenpool 发表于 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,基本上大部分的错误都是命名空间重名错误的,希望对大家有所帮助
页: [1]
查看完整版本: [ARX]各位帮忙看看ADO连接外部数据库ACCESS的问题