hjhj728 发表于 2004-9-26 16:22:00

大侠请看:如何用objectarx2004编写连接外部数据库的?

原有一段代码如下:(适用于AUTOCAD R14)


void CInputHoleData::InitDataBase()<BR>{<BR>                       /* Initialize Asi application */<BR>                       if (asi_initasi (&amp;appl) == kAsiBad) {<BR>                                               ads_printf ("\nCannot initialize ASI");<BR>                       }


               do_connect();


}<BR>void CInputHoleData::do_connect(void)<BR>{<BR>                                                       static               char buffer;                                       // Temporary buffer


                                                       if (session == 0) {<BR>                                                                                                                       if (asi_constr_session (&amp;session, appl) == kAsiBad) {<BR>                                                                                                                                                                                       ads_printf ("\nUnable to construct session");<BR>                                                                                                                                                                                       return;<BR>                                }<BR>                                                       }<BR>                                                       // Disconnect if already connection exists<BR>                                                       if (isConnected == kAsiTrue) {<BR>                                                                                                                       if (asi_disconnect (session) == kAsiBad) {<BR>                                                                                                                                                                                       ads_printf ("\nCan't terminate SQL session. Fix problems and try again ...");<BR>                                                                                                                                                                                       return;<BR>                                                                                                                       }<BR>                                                                                                                       isConnected = kAsiFalse;<BR>                                                       }<BR>                                                       for (;;) {<BR>                                                                                                                       if ( asi_connect (session, "DB3", "" , "") == kAsiGood ) {<BR>                                                                                                                                                                                       /* display driver information */<BR>                                                                                                                                                                                       asi_dbms (session, buffer, 128);<BR>                                                                                                                                                                                       ads_printf ("\nDBMS:                                                                       %s", buffer);


                                                                                                                                                                                       asi_sqlobject (session, buffer, 128);<BR>                                                                                                                                                                                       ads_printf ("\nSQL Object Id: %s", buffer);


                                                                                                                                                                                       asi_message (session, buffer, 128);<BR>                                                                                                                                                                                       ads_printf ("\nMessage:                                               %s", buffer);<BR>                                                                                                                                                                                       isConnected = kAsiTrue;<BR>                                                ads_printf("\n--------加载数据请稍等!\n");<BR>                                                                                                                                                                                       break;<BR>                                                                                                                       }<BR>                                                       }<BR>                                                       return ;<BR>}


但现在我要把它移植到AUTOCAD2004,我已被次段代码困扰一个星期了,急得要命!


现在向斑竹及各位大侠求助!


多谢!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       小贺


致敬!

easypower 发表于 2004-9-27 08:51:00

如果速度要求不是很高,建议用odbc重写

hjhj728 发表于 2004-9-27 23:26:00

感谢版主的回复,但我学习objectarx时间不长,你讲的odbc重写的方法我不太懂,


版主能不能讲的具体一点,我得时间比较紧,我很渴望大家的帮助!


谢谢!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               小贺

easypower 发表于 2004-9-28 13:48:00

因为你是老板本的


asi的方式我也不懂,


用odbc就和普通vc程序一样


你找本vc数据库的书看看就知道了

中国虫 发表于 2004-9-30 23:19:00

不建议用ODBC,建议使用ADO,意义就不多讲了。

pengst 发表于 2004-10-13 23:27:00

用C++ OLE DB

shun 发表于 2004-10-31 09:48:00

请问版主,ADO与自由表DBF文件怎样建立连接?
页: [1]
查看完整版本: 大侠请看:如何用objectarx2004编写连接外部数据库的?