警告 C4995:“CDaoDatabase”:名称被标记为#pragma deprecated

问题描述 投票:0回答:2

这是我的代码

   #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 已弃用

c++ visual-studio-2008 dao pragma
2个回答
0
投票

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

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

但是,由于

CDaoDatabase
仍然存在于 VS 2012 甚至 2013 Preview 的文档中,我认为如果您确实必须使用 DAO,您可以安全地忽略该警告。看来还要再支持一段时间了。


-1
投票

您不再需要包含

afxdao.h
了。

只要删除这一行就可以了。

© www.soinside.com 2019 - 2024. All rights reserved.