class ADOConn  

public: 
_ConnectionPtr m_pConnection; 
_RecordsetPtr m_pRecordset; 
public: 
ADOConn(); 
virtual ~ADOConn(); 
void OnInitADOConn(); 
_RecordsetPtr& GetRecordSet(_bstr_t bstrSQL); 
BOOL ExecuteSQL(_bstr_t bstrSQL); 
void ExitConnect(); 
}; 
void ADOConn::OnInitADOConn() 

::CoInitialize(NULL); 
try 

m_pConnection.CreateInstance("ADODB.Connection"); 
_bstr_t strConnect= "Provider=SQLOLEDB;Server=MICOSOFT-69363E\SQLEXPRESS;Database=kucun;uid=MICOSOFT-69363E\Adminstrator;pwd=111111"; 
m_pConnection->Open(strConnect,"","",adModeUnknown); 

catch(_com_error e) 

AfxMessageBox(e.Description()); 

}// 
_RecordsetPtr& ADOConn::GetRecordSet(_bstr_t bstrSQL) 

try 

if(m_pConnection==NULL) 
OnInitADOConn(); 
m_pRecordset.CreateInstance(_uuidof(Recordset)); 
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic, 
adLockOptimistic,adCmdText); 

catch(_com_error e) 

AfxMessageBox(e.Description()); 

return m_pRecordset; 

// 
BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL) 

try 

if(m_pConnection==NULL) 
OnInitADOConn(); 
m_pConnection->Execute(bstrSQL,NULL,adCmdText); 
return true; 

catch(_com_error e) 

AfxMessageBox(e.Description()); 
return false; 

}// 
void ADOConn::ExitConnect() 

// 
if(m_pRecordset!=NULL) 
m_pRecordset->Close(); 
m_pConnection->Close(); 
// 
::CoUninitialize(); 
} 这部分编译通过 
class CGuset  

private: 
int Uid; 
CString Uconame; 
CString Things; 
CString Store; 
int Number; 
public: 
    CStringArray a_Uconame; 
    CStringArray a_Things; 
    CStringArray a_Store; 
    CStringArray a_Number; 
CStringArray a_Uid; CGuset(); 
virtual ~CGuset(); 
//读取和设置变量 
int GetUid(); 
void SetUid(int iUid); 
CString GetUconame(); 
void SetUconame(CString cUconame); 
CString GetThings(); 
void SetThings(CString cThings); 
CString GetStore(); 
void SetStore(CString cStore); 
int GetNumber(); 
void SetNumber(int iNumber); 
//数据库操作 
int HaveName(CString cUconame); 
int HaveEmp(int iNumber); 
void Load_dep();//批量读取 
long sql_insert(); 
void sql_update(CString cUconame); 
void sql_update(CString cThings,CString cStore,int iNumber); 
void sql_insert(CString cThings,CString cStore,int iNumber); 
void GetData(int iUid); 
}; CGuset::CGuset() { 
    Uid=0; 
Uconame=""; 
Things=""; 
Store=""; 
Number=0; } 
CGuset::~CGuset() 
{} 
int CGuset:: GetUid() 

return Uid; 

void CGuset::SetUid(int iUid) 

Uid=iUid; 

CString CGuset::GetUconame() 

return Uconame; 

void CGuset::SetUconame(CString cUconame) 

Uconame=cUconame; 

CString CGuset::GetThings() 

return Things; 

void CGuset::SetThings(CString cThings) 

Things=cThings; 

CString CGuset::GetStore() 

return Store; 

void CGuset::SetStore(CString cStore) 

Store=cStore; 

int CGuset::GetNumber() 

    return Number; 

void CGuset::SetNumber(int iNumber) 

Number=iNumber; 

//数据库具体操作 int CGuset::HaveName(CString cUconame) 

//连接数据库 
ADOConn m_AdoConn; 
m_AdoConn.OnInitADOConn(); 
//设置SELECT语句 
_bstr_t vSQL; 
vSQL = "SELECT * FROM Guset WHERE Uconame='" + cUconame + "'"; //执行SELECT语句 
_RecordsetPtr m_pRecordset; 
m_pRecordset=m_AdoConn.GetRecordSet(vSQL); 
if(m_pRecordset->EOF) 
{return -1;} 
else 
{return 1;} 
//断开与数据库的连接 
m_AdoConn.ExitConnect(); } 
int CGuset::HaveEmp(int iNumber) 

//连接数据库 
ADOConn m_AdoConn; 
m_AdoConn.OnInitADOConn(); 
//设置SELECT语句 
_bstr_t vSQL; 
vSQL = "SELECT * FROM Guset WHERE Number=" + iNumber; //执行SELECT语句 
_RecordsetPtr m_pRecordset; 
m_pRecordset = m_AdoConn.GetRecordSet(vSQL); 
if (m_pRecordset->EOF) 
return -1; 
else 
return 1; 
//断开与数据库的连接 
m_AdoConn.ExitConnect(); 

每当编译这个类的时候,就会出现如下错误 
Guset.obj : error LNK2005: "public: void __thiscall ADOConn::OnInitADOConn(void)" (?OnInitADOConn@ADOConn@@QAEXXZ) already defined in ADOConn.obj 
Guset.obj : error LNK2005: "public: class _com_ptr_t <class _com_IIID <struct ADOCG::_Recordset,&struct __s_GUID _GUID_00000556_0000_0010_8000_00aa006d2ea4> > & __thiscall ADOConn::GetRecordSet(class _bstr_t)" (?GetRecordSet@ADOConn@@QAEAAV?$_com_ptr_ 
t@V?$_com_IIID@U_Recordset@ADOCG@@$1?_GUID_00000556_0000_0010_8000_00aa006d2ea4@@3U__s_GUID@@A@@@@V_bstr_t@@@Z) already defined in ADOConn.obj 
Guset.obj : error LNK2005: "public: int __thiscall ADOConn::ExecuteSQL(class _bstr_t)" (?ExecuteSQL@ADOConn@@QAEHV_bstr_t@@@Z) already defined in ADOConn.obj 
Guset.obj : error LNK2005: "public: void __thiscall ADOConn::ExitConnect(void)" (?ExitConnect@ADOConn@@QAEXXZ) already defined in ADOConn.obj 
Debug/物流.exe : fatal error LNK1169: one or more multiply defined symbols found 怎么解决,请问