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

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

我在ARX2004中要用ADO连接外部数据库<BR>用#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename ("EOF","adoEOF") 为什么会出错??<BR>同样的在MFC(EXE)中用这个可以读到数据库啊


IDE: MS C++.NET + ARX 2004       + ACCESS

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

<FONT face=Simsun size=2>改成下面:<BR>#import "C:\Program Files\Common Files\SYSTEM\ADO\msado15.dll" no_namespace \<BR>rename("EOF","adoEOF")\<BR>rename("EditModeEnum","adoEditModeEnum")\<BR>rename("LockTypeEnum","adoLockTypeEnum")\<BR>rename("FieldAttributeEnum","adoFieldAttributeEnum")\<BR>rename("DataTypeEnum","adoDataTypeEnum")\<BR>rename("ParameterDirectionEnum","adoParameterDirectionEnum")\<BR>rename("RecordStatusEnum","adoRecordStatusEnum")</FONT>

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

<FONT face=Simsun size=2>或者可以用以下方法:</FONT>


<FONT face=Simsun size=2>#pragma warning (disable: 4146)<BR>#import "C:\Program Files\Common Files\System\ADO\msado15.dll" rename("EOF", "EndOfFile")<BR>using namespace ADODB;<BR>#pragma warning (default: 4146)</FONT>

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...<BR>StdAfx.cpp<BR>                               Compiling MFC header files in release mode.<BR>e:\程序\arx\dbado\debug\msado15.tlh(407) : warning C4146: unary minus operator applied to unsigned type, result still unsigned<BR>e:\程序\arx\dbado\debug\msado15.tlh(2663) : error C2059: syntax error : 'constant'<BR>e:\程序\arx\dbado\debug\msado15.tlh(2663) : error C2238: unexpected token(s) preceding ';'<BR>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:语法错误:“常数”<BR>d:\arx\ado\debug\msado15.tlh(2663)error2238:意外的标记位于“;”之前       


        错误处发现是tlh中的:错误处是msado15.tlh中的:VARIANT_BOOL EOS;<BR>


后来,我就在#import后加入一句:rename ("EOS","adoEOS")        就可以了


我的经验是:根据编译中出现的具体情况来RENAME,基本上大部分的错误都是命名空间重名错误的,希望对大家有所帮助
页: [1] 2
查看完整版本: [ARX]各位帮忙看看ADO连接外部数据库ACCESS的问题