数据库模板类的有关问题
数据库模板类的问题
想使用mfc做个数据库管理软件,在插入ATL模板类之后编译完,就产生了以下错误:
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2065: 'DBFILETIME' : undeclared identifier
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2143: syntax error : missing ';' before '{'
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2447: missing function header (old-style formal list?)
Error executing cl.exe.
上网搜了一下,都不能解决,望高手不吝赐教。
------解决方案--------------------
这个是ATL的版本问题造成的,ATL是有版本的,你使用的是早期VC6的ATL版本,
而ole db代码(你说的模板类)是装了VC6 sp以后的代码。
解决方法: 安装vc6 sp6 即可。
------解决方案--------------------
肯定是版本的问题,因为这个问题我以前也遇到过,DBFILETIME是
老版本的OLE DB中定义的,在新版本中已经改为FILETIME。
可能你装的不是真正的sp6,而是假的版本吧。
我的机器上是VC6SP6
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h
中第74-76行的内容如下:
74 DEFINE_OLEDB_TYPE_FUNCTION(DBTIMESTAMP ,DBTYPE_DBTIMESTAMP)
75 DEFINE_OLEDB_TYPE_FUNCTION(FILETIME ,DBTYPE_FILETIME)
76 DEFINE_OLEDB_TYPE_FUNCTION(PROPVARIANT ,DBTYPE_PROPVARIANT)
如果你跟这个不一样,就说明不是真的sp6。
------解决方案--------------------
http://support.microsoft.com/kb/217218/zh-cn
上面是微软的说法。
想使用mfc做个数据库管理软件,在插入ATL模板类之后编译完,就产生了以下错误:
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2065: 'DBFILETIME' : undeclared identifier
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2059: syntax error : ')'
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2143: syntax error : missing ';' before '{'
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h(76) : error C2447: missing function header (old-style formal list?)
Error executing cl.exe.
上网搜了一下,都不能解决,望高手不吝赐教。
------解决方案--------------------
这个是ATL的版本问题造成的,ATL是有版本的,你使用的是早期VC6的ATL版本,
而ole db代码(你说的模板类)是装了VC6 sp以后的代码。
解决方法: 安装vc6 sp6 即可。
------解决方案--------------------
肯定是版本的问题,因为这个问题我以前也遇到过,DBFILETIME是
老版本的OLE DB中定义的,在新版本中已经改为FILETIME。
可能你装的不是真正的sp6,而是假的版本吧。
我的机器上是VC6SP6
c:\program files\microsoft visual studio\vc98\atl\include\atldbcli.h
中第74-76行的内容如下:
74 DEFINE_OLEDB_TYPE_FUNCTION(DBTIMESTAMP ,DBTYPE_DBTIMESTAMP)
75 DEFINE_OLEDB_TYPE_FUNCTION(FILETIME ,DBTYPE_FILETIME)
76 DEFINE_OLEDB_TYPE_FUNCTION(PROPVARIANT ,DBTYPE_PROPVARIANT)
如果你跟这个不一样,就说明不是真的sp6。
------解决方案--------------------
http://support.microsoft.com/kb/217218/zh-cn
上面是微软的说法。