fatal error LNK1120: 2 个无法解析的外部命令

zhuawei111 2012-01-10 05:55:37
USers.cpp
// Users.cpp: implementation of the CUsers class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "kuncunxinxiguanl.h"
#include "Client.h"
#include "Users.h"
#include "ADOConn.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
#if !defined(AFX_CLIENT_H__C210C883_216F_4A4E_BB2F_F034570AA92F__INCLUDED_)
#define AFX_CLIENT_H__C210C883_216F_4A4E_BB2F_F034570AA92F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CUsers::CUsers()
{
UserName = "";
Pwd = "";
User_type = 0;
}

CUsers::~CUsers()
{

}

CString CUsers::GetUserName()
{
return UserName;
}

void CUsers::SetUserName(CString cUserName)
{
UserName = cUserName;
}

CString CUsers::GetPwd()
{
return Pwd;
}

void CUsers::SetPwd(CString cPwd)
{
Pwd = cPwd;
}

int CUsers::GetUser_type()
{
return User_type;
}

void CUsers::SetUser_type(int iUser_type)
{
User_type = iUser_type;
}

//数据库操作
int CUsers::HaveName(CString cUserName)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL = "SELECT * FROM Users WHERE UserName='" + cUserName + "'";

//执行SELECT语句
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
if (m_pRecordset->adoEOF)
return -1;
else
return 1;

//断开与数据库的连接
m_AdoConn.ExitConnect();
}


void CUsers::sql_insert()
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置INSERT语句
CString strType;
strType.Format("%d", User_type);

_bstr_t vSQL;
vSQL = "INSERT INTO Users VALUES('" + UserName + "','" + Pwd + "',"
+ strType + ")";
//执行INSERT语句
m_AdoConn.ExecuteSQL(vSQL);
//断开与数据库的连接
m_AdoConn.ExitConnect();
}

void CUsers::sql_updatePwd(CString cUserName)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置UPDATE语句
CString strType;
strType.Format("%d", User_type);

_bstr_t vSQL;
vSQL = "UPDATE Users SET Pwd='" + Pwd + "' WHERE UserName='" + cUserName + "'";
//执行UPDATE语句
m_AdoConn.ExecuteSQL(vSQL);
//断开与数据库的连接
m_AdoConn.ExitConnect();
}

void CUsers::sql_delete(CString cUserName)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置DELETE语句
_bstr_t vSQL;
vSQL = "DELETE FROM Users WHERE UserName='" + cUserName + "'";
//执行DELETE语句
m_AdoConn.ExecuteSQL(vSQL);
//断开与数据库的连接
m_AdoConn.ExitConnect();
}

//根据员工编号读取所有字段值
void CUsers::GetData(CString cUserName)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL = "SELECT * FROM Users WHERE UserName='" + cUserName + "'";
//执行SELETE语句
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL);

//返回各列的值
if (m_pRecordset->adoEOF)
CUsers();
else
{
UserName = cUserName;
Pwd = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Pwd");
User_type = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("User_type"));
}
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
#endif

Users.h
// Users.h: interface for the CUsers class.
//
//////////////////////////////////////////////////////////////////////


#if !defined(AFX_USERS_H__B9669D21_5CC0_436E_BA04_1C0D3DC4BE1B__INCLUDED_)
#define AFX_USERS_H__B9669D21_5CC0_436E_BA04_1C0D3DC4BE1B__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CUsers
{
private:
CString UserName;
CString Pwd;
int User_type;
public:
CUsers();
virtual ~CUsers();

CString GetUserName();
void SetUserName(CString cUserName);
CString GetPwd();
void SetPwd(CString cPwd);
int GetUser_type();
void SetUser_type(int iUser_type);

//数据库操作
int HaveName(CString cUserName); //判断指定用户名是否存在
void sql_insert();
void sql_updatePwd(CString cUserName);
void sql_delete(CString cUserName);
//读取所有字段值
void GetData(CString cUserName);
};

#endif // !defined(AFX_USERS_H__B9669D21_5CC0_436E_BA04_1C0D3DC4BE1B__INCLUDED_)
Global.h
#pragma once
#include "Users.h"

class CGlobal
{
public:
CUsers curUser;
CGlobal(void);
~CGlobal(void);
};
出错代码:1>Global.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CUsers::CUsers(void)" (??0CUsers@@QAE@XZ),该符号在函数 "public: __thiscall CGlobal::CGlobal(void)" (??0CGlobal@@QAE@XZ) 中被引用
1>Global.obj : error LNK2019: 无法解析的外部符号 "public: virtual __thiscall CUsers::~CUsers(void)" (??1CUsers@@UAE@XZ),该符号在函数 "public: __thiscall CGlobal::~CGlobal(void)" (??1CGlobal@@QAE@XZ) 中被引用
1>E:\张华伟\vcgc\kuncunxinxiguanl\kuncunxinxiguanl\Debug\kuncunxinxiguanl.exe : fatal error LNK1120: 2 个无法解析的外部命令
1>
1>生成失败
...全文
693 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyx100 2012-01-10
  • 打赏
  • 举报
回复
CUsers类的构造函数和析构函数没有定义
战在春秋 2012-01-10
  • 打赏
  • 举报
回复
#if !defined(AFX_CLIENT_H__C210C883_216F_4A4E_BB2F_F034570AA92F__INCLUDED_)
#define AFX_CLIENT_H__C210C883_216F_4A4E_BB2F_F034570AA92F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

这段代码应该是在.h头文件中。
目的是防止重复包含。
hhyhw2001 2012-01-10
  • 打赏
  • 举报
回复
在Global.cpp中添加#include "Users.h"
zhuawei111 2012-01-10
  • 打赏
  • 举报
回复
测试通过了 在Global.cpp中加了一下代码:
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

#if !defined(AFX_CLIENT_H__C210C883_216F_4A4E_BB2F_F034570AA92F__INCLUDED_)
#define AFX_CLIENT_H__C210C883_216F_4A4E_BB2F_F034570AA92F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
就通过了 不知道为什么
zgl7903 2012-01-10
  • 打赏
  • 举报
回复
看你的USers.cpp有没有添加到工程中?
zhuawei111 2012-01-10
  • 打赏
  • 举报
回复
Global.cpp:

#include "stdafx.h"
#include "kuncunxinxiguanl.h"
#include "Client.h"
#include "Global.h"
#include "Users.h"



//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CUsers curUser;

CGlobal::CGlobal()
{

}

CGlobal::~CGlobal()
{
zhuawei111 2012-01-10
  • 打赏
  • 举报
回复
"CUsers类的构造函数和析构函数没有定义"
这个怎么定义 能详细讲一下吗
战在春秋 2012-01-10
  • 打赏
  • 举报
回复
检查下CGlobal类的构造函数和析构函数是否有定义

应该还有一个Global.cpp文件。
zhuawei111 2012-01-10
  • 打赏
  • 举报
回复
能不能讲下该怎么定义呢?抄的书 不太懂 努力学习中
谢谢了老大
Eleven 2012-01-10
  • 打赏
  • 举报
回复
你的CUsers类的构造函数和析构函数没有定义
zhuawei111 2012-01-10
  • 打赏
  • 举报
回复
一会上班了去试一下

4,012

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧