1

这是我的代码

   #ifndef FL_PROJECTMNT
   #include <afxdao.h>

   #if ENGLISH
   #define PROJECT      "Project" // Project
   #define NUMBER       "No"
   #define PRJNAME      "Project Name"

   #else
   #define PROJECT  "プロジェクト"
   #define NUMBER   "No"
   #define PRJNAME  "プロジェクト名"

   #endif

   #ifdef ENGLISH
  #define RESBAMELIST      NUMBER,PRJNAME,CNTNAME,TANTOU,PREV,SREV,LASTCTIME,NOTE,DOCNO,PLANTNAME,BUNSATU,MEMTYP,CMPCNT,PLASTCTIME,LINENOCNT,SVCHANGCNT
    #else
    #define RESBAMELIST NUMBER,PRJNAME,CNTNAME,TANTOU,PREV,SREV,LASTCTIME,NOTE,DOCNO,PLANTNAME,BUNSATU,MEMTYP,CMPCNT,PLASTCTIME,LINENOCNT,SVCHANGCNT,USECADINF
   #endif
    class AFX_EXT_CLASS ProjectMnt{
    private:
CDaoDatabase Project;
CDaoRecordset *rec;
int state;
      public:
ProjectMnt();
ProjectMnt(char* strPath);
~ProjectMnt();
int RenewLRDate();
int RenewPLRDate();
int GetProjectInfo(int kind,int size,char *data);
int GetProjectInfo(int kind,long int *data);
int SetProjectInfo(int kind,char* data);
int SetProjectInfo(int kind,long int data);
int GetState(){return state;};      
     };
     #define FL_PROJECTMNT
     #endif

当我在 Visual Studio 2008 上编译时,它会发出此警告,但我无法忍受,有人帮我吗? 警告 C4995:“CDaoDatabase”:名称被标记为 #pragma deprecated

4

2 回答 2

0

它表示您使用的已弃用类型可能在 Visual Studio 的未来版本中不受支持。

DAO 似乎已被 Microsoft 弃用了一段时间。快速的 Google 搜索显示人们早在 .NET 2003 就遇到了您的问题。显然他们不希望人们再使用它,而是鼓励他们切换到 ADO.NET 或其他东西。因此,如果您没有被 DAO 锁定,我建议您探索其他数据库选项。

但是,正如VS 2012甚至2013 PreviewCDaoDatabase的文档中仍然存在的那样,我认为如果您真的必须使用 DAO,您可以放心地忽略该警告。似乎它会被支持一段时间。

于 2013-08-19T04:33:06.747 回答
-1

你不再需要 includeafxdao.h了。

只需删除此行,它应该可以工作。

于 2013-08-19T04:30:34.523 回答