📄 users.cpp
字号:
// Users.cpp: implementation of the CUsers class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "HrSys.h"
#include "Users.h"
#include "ADOConn.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CUsers::CUsers()
{
UserName = "";
EmpId = 0;
UserPwd = "";
UserType = "";
}
CUsers::~CUsers()
{
}
//数据库操作
void CUsers::sql_insert()
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置INSERT语句
CString strEmpId;
strEmpId.Format("%d", EmpId);
_bstr_t vSQL;
vSQL = "INSERT INTO Users VALUES('" + UserName + "',"
+ strEmpId + ",'111111','" + UserType + "')";
//执行INSERT语句
m_AdoConn.ExecuteSQL(vSQL);
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
//更新用户信息,但不能更新用户名和用户密码
void CUsers::sql_update(CString cUserName)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置UPDATE语句
CString strEmpId;
strEmpId.Format("%d", EmpId);
_bstr_t vSQL;
vSQL = "UPDATE Users SET EmpId=" + strEmpId
+ ",UserType='" + UserType + "' 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::sql_updatePassword(CString cUserName)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置UPDATE语句
_bstr_t vSQL;
vSQL = "UPDATE Users SET UserPwd='" + UserPwd
+ "' WHERE UserName='" + cUserName + "'";
//执行UPDATE语句
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;
EmpId = atol((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("EmpId"));
UserPwd = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("UserPwd");
UserType = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("UserType");
}
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
//判断指定用户名是否存在
bool CUsers::HaveRecord(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 false;
else
return true;
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
//判断指定员工是否存在用户名
bool CUsers::EmpIn_DB(CString cEmpId)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL = "SELECT * FROM Users WHERE EmpId=" + cEmpId;
//执行SELECT语句
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
if (m_pRecordset->adoEOF)
return false;
else
return true;
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
//将用户密码初始化为111111
void CUsers::ResetPassword(CString cUserName)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置UPDATE语句
_bstr_t vSQL;
vSQL = "UPDATE Users SET UserPwd='111111'" ;
vSQL = vSQL + " WHERE UserName='" + cUserName + "'";
//执行UPDATE语句
m_AdoConn.ExecuteSQL(vSQL);
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
//根据用户名取得此员工的姓名
CString CUsers::GetEmpName(CString cUserName)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL = "SELECT e.EmpName FROM Users u,Employees e";
vSQL = vSQL + " WHERE u.UserName='" + cUserName + "'";
vSQL = vSQL + " AND u.EmpId=e.EmpId";
//执行SELECT语句
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
if (m_pRecordset->adoEOF)
return "";
else
return (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("EmpName");
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
//根据用户名取得此员工的部门名称
CString CUsers::GetDepName(CString cUserName)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL = "SELECT d.DepName FROM Users u,Employees e,Departments d";
vSQL = vSQL + " WHERE u.UserName='" + cUserName + "'";
vSQL = vSQL + " AND u.EmpId=e.EmpId AND e.DepId=d.DepId";
//执行SELECT语句
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
if (m_pRecordset->adoEOF)
return "";
else
return (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("DepName");
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -