vc6中使用ADO的问题

ADO的使用

在.h或.cpp文件中写:
 #import "msado15.dll" named_guids rename("EOF","adoEOF")
 using namespace ADODB;
其中:

第一:#import "msado15.dll"会将.dll文件分离出两个定义文件msado15.tlh,msado15.tli;


第二:自定义类型名冲突,named_guids指定该ado使用ADODB默认命名空间,避免同名的全局的自定义类型被使用,例如:LockTypeEnum等等,不知道是包含了哪个文件时也定义了.


第三:变量名冲突,rename("EOF","adoEOF"),EOF是ado中的变量,但在stdio.h中有 #define EOF (-1),被定义为宏,所 以在生成ado定义文件时要改名,将EOF改为adoEOF.如果不改名,有可能提示:error C2629: unexpected 'short ('.


总结:如有自定义类型名冲突,就加上命名空间,万无一失,如果有变量名被宏定义了,就只好改名啦,因为宏是在预编译时执行的,比变量名定义要早,所谓先到先得嘛.

posted on 2010-01-28 11:38  小堆爸  阅读(312)  评论(1编辑  收藏  举报