[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 <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> <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> 我一直使用ODBC,没用过ADO,给你找了些方法,你自己试试吧 我觉得是不是因为我用的系统的关系,因为我以前用ARX 2000的时候很好的,可以用的,现在开发包中多了MAP的内容,而MAP本身有一个连接ORACLE的功能,会不会这里有冲突呢? 当你ODBC,ADO,DAO等一起使用的时候,会造成命名空间冲突,你用2楼的办法可以解决。 已经改好了,谢谢:) 请明确说明你的解决方法,以方便后人 你是怎么调试好的?
我用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的方法就可以,不知道为什么??? 用的就是二楼的方法,可能具体的机子实际情况不需要二楼那么多的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