2013-08-19 34 views
1

這裏我的代碼警告C4995:「的CDaoDatabase」:名稱被標記爲不推薦使用的#pragma

#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 

當我complie在Visual Studio 2008中它給這個警告,但我不能解決售後服務,一些身體幫我嗎? 警告C4995:「的CDaoDatabase」:名稱被標記爲不推薦使用的#pragma

+0

http://msdn.microsoft.com/en-us/library/8wsycdzs.aspx –

回答

0

它表示您使用的是以後版本的Visual Studio可能不支持的棄用類型。

DAO似乎已被微軟棄用了很長一段時間。快速的谷歌搜索顯示人們早在.NET 2003中就有問題。顯然,他們不希望人們再使用它,而是鼓勵他們切換到ADO.NET或其他東西。所以如果你沒有被鎖定到DAO中,我建議你去探索其他的數據庫選項。

但是,由於CDaoDatabase仍然存在於VS 2012甚至2013 Preview的文檔中,我認爲如果您確實需要使用DAO,則可以放心地忽略該警告。似乎它會支持一段時間。

0

你不需要的afxdao.h的包括了。

只要刪除這條線,它應該工作。

+0

感謝您的支持 – TrungLuu

+0

不,我的代碼無法在vs2012上編譯 – uncletall

相關問題