?? taxrate.cpp
字號(hào):
// TaxRate.cpp: implementation of the CTaxRate class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "HrSys.h"
#include "TaxRate.h"
#include "ADOConn.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CTaxRate::CTaxRate()
{
Id=0;
LowerLimit = 0;
UpperLimit = 0;
Rate = 0;
Deduct = 0;
}
CTaxRate::~CTaxRate()
{
}
//數(shù)據(jù)庫操作
void CTaxRate::sql_insert()
{
//連接數(shù)據(jù)庫
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//設(shè)置INSERT語句
CString strLower,strUpper,strRate,strDeduct;
strLower.Format("%d", LowerLimit);
strUpper.Format("%d", UpperLimit);
strRate.Format("%d", Rate);
strDeduct.Format("%d", Deduct);
_bstr_t vSQL;
vSQL = "INSERT INTO TaxRate VALUES(" + strLower + ","
+strUpper+"," +strRate+ ","+strDeduct+ ")";
//執(zhí)行INSERT語句
m_AdoConn.ExecuteSQL(vSQL);
//斷開與數(shù)據(jù)庫的連接
m_AdoConn.ExitConnect();
}
void CTaxRate::sql_update(CString cTmpId)
{
//連接數(shù)據(jù)庫
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//設(shè)置UPDATE語句
CString strLower,strUpper,strRate,strDeduct;
strLower.Format("%d", LowerLimit);
strUpper.Format("%d", UpperLimit);
strRate.Format("%d", Rate);
strDeduct.Format("%d", Deduct);
_bstr_t vSQL;
vSQL = "UPDATE TaxRate SET LowerLimit=" + strLower
+ ",UpperLimit="+strUpper+",Rate="+strRate
+",Deduct="+strDeduct+" WHERE Id=" + cTmpId;
//執(zhí)行UPDATE語句
m_AdoConn.ExecuteSQL(vSQL);
//斷開與數(shù)據(jù)庫的連接
m_AdoConn.ExitConnect();
}
void CTaxRate::sql_delete(CString cTmpId)
{
//連接數(shù)據(jù)庫
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//設(shè)置DELETE語句
_bstr_t vSQL;
vSQL = "DELETE FROM TaxRate WHERE Id=" + cTmpId;
//執(zhí)行DELETE語句
m_AdoConn.ExecuteSQL(vSQL);
//斷開與數(shù)據(jù)庫的連接
m_AdoConn.ExitConnect();
}
//根據(jù)工資項(xiàng)目編號(hào)讀取所有字段值
void CTaxRate::GetData(CString cTmpId)
{
//連接數(shù)據(jù)庫
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//設(shè)置SELECT語句
_bstr_t vSQL;
vSQL = "SELECT * FROM TaxRate WHERE Id=" + cTmpId;
//執(zhí)行SELETE語句
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
//返回各列的值
if (m_pRecordset->adoEOF)
CTaxRate();
else
{
Id=atol(cTmpId);
LowerLimit=atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("LowerLimit"));
UpperLimit=atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("UpperLimit"));
Rate=atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Rate"));
Deduct=atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Deduct"));
}
//斷開與數(shù)據(jù)庫的連接
m_AdoConn.ExitConnect();
}
//更新納稅基礎(chǔ)金額信息
void CTaxRate::UpdateBasicNumber()
{
//連接數(shù)據(jù)庫
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//設(shè)置SELECT語句
CString strLower;
strLower.Format("%d", LowerLimit);
_bstr_t vSQL;
vSQL = "UPDATE TaxRate SET LowerLimit=" + strLower + " Where Id=1";
//執(zhí)行SELECT語句
m_AdoConn.ExecuteSQL(vSQL);
//斷開與數(shù)據(jù)庫的連接
m_AdoConn.ExitConnect();
}
//根據(jù)金額計(jì)算納稅后金額
double CTaxRate::CalculateSum(CString cTmpSum)
{
double dRntSum=0;
//連接數(shù)據(jù)庫
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//設(shè)置SELECT語句
_bstr_t vSQL;
vSQL = "SELECT * FROM TaxRate WHERE Id<>1 AND " + cTmpSum
+ " BETWEEN LowerLimit AND UpperLimit";
//執(zhí)行SELECT語句
_RecordsetPtr m_pRecordset;
m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
if (m_pRecordset->adoEOF)
return atol(cTmpSum); //沒有納稅范圍則返回原數(shù)據(jù)
else
{
dRntSum=atol(cTmpSum)*atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Rate"));
dRntSum=dRntSum/100-atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Deduct"));
dRntSum=atol(cTmpSum)-dRntSum;
return dRntSum;
}
//斷開與數(shù)據(jù)庫的連接
m_AdoConn.ExitConnect();
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -