📄 salary.cpp
字号:
// Salary.cpp: implementation of the CSalary class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "HrSys.h"
#include "Salary.h"
#include "ADOConn.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CSalary::CSalary()
{
EmpId=0;
CreateDate="";
OldSalary=0;
NewSalary=0;
Reason="";
}
CSalary::~CSalary()
{
}
//数据库操作
void CSalary::sql_insert()
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置INSERT语句
CString strEmpId,strOS,strNS;
strEmpId.Format("%d", EmpId);
strOS.Format("%d", OldSalary);
strNS.Format("%d", NewSalary);
_bstr_t vSQL;
vSQL = "INSERT INTO Salary VALUES(" + strEmpId + ",'"
+CreateDate+"'," +strOS+ ","+strNS+ ",'"
+Reason+"')";
//执行INSERT语句
m_AdoConn.ExecuteSQL(vSQL);
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
void CSalary::sql_update(CString cTmpId)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置UPDATE语句
CString strEmpId,strOS,strNS;
strEmpId.Format("%d", EmpId);
strOS.Format("%d", OldSalary);
strNS.Format("%d", NewSalary);
_bstr_t vSQL;
vSQL = "UPDATE Salary SET EmpId=" + strEmpId
+ ",OldSalary="+strOS+",NewSalary="+strNS
+",CreateDate='"+CreateDate+"',Reason='"+Reason
+"' WHERE Id=" + cTmpId;
//执行UPDATE语句
m_AdoConn.ExecuteSQL(vSQL);
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
void CSalary::sql_delete(CString cTmpId)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置DELETE语句
_bstr_t vSQL;
vSQL = "DELETE FROM Salary WHERE Id=" + cTmpId;
//执行DELETE语句
m_AdoConn.ExecuteSQL(vSQL);
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
//根据工资项目编号读取所有字段值
void CSalary::GetData(CString cTmpId)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL = "SELECT * FROM Salary WHERE Id=" + cTmpId;
//执行SELETE语句
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
//返回各列的值
if (m_pRecordset->adoEOF)
CSalary();
else
{
Id=atol(cTmpId);
EmpId=atol((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("EmpId"));
CreateDate=(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("CreateDate");
OldSalary=atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("OldSalary"));
NewSalary=atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("NewSalary"));
Reason=(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Reason");
}
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
//根据员工编号提取员工基本工资记录
int CSalary::GetOldSalary(CString cEmpId)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL = "SELECT Salary FROM Employees WHERE EmpId=" + cEmpId;
//执行SELECT语句
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
if (m_pRecordset->adoEOF)
return 0;
else
return atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Salary"));
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
void CSalary::sql_deleteByEmp(CString cEmpId)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置DELETE语句
_bstr_t vSQL;
vSQL = "DELETE FROM Salary WHERE EmpId=" + cEmpId;
//执行DELETE语句
m_AdoConn.ExecuteSQL(vSQL);
//断开与数据库的连接
m_AdoConn.ExitConnect();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -