?? payitems.cpp
字號:
// PayItems.cpp: implementation of the CPayItems class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "HosptialMan.h"
#include "ADOConn.h"
#include "PayItems.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CPayItems::CPayItems()
{
}
CPayItems::~CPayItems()
{
}
void CPayItems::SetPayId(int iPId)
{
PayId = iPId;
}
int CPayItems::GetPayId()
{
return PayId;
}
void CPayItems::SetRegId(int iRId)
{
RegId = iRId;
}
int CPayItems::GetRegId()
{
return PayId;
}
void CPayItems::SetItemId(int iItemId)
{
ItemId = iItemId;
}
int CPayItems::GetItemId()
{
return PayId;
}
void CPayItems::SetPNum(double dPNum)
{
PNum = dPNum;
}
double CPayItems::GetPNum()
{
return PNum;
}
void CPayItems::SetPrice(float fPrc)
{
Price = fPrc;
}
float CPayItems::GetPrice()
{
return Price;
}
void CPayItems::SetPType(int iPType)
{
PType = iPType;
}
int CPayItems::GetPType()
{
return PType;
}
//********************************************************//
//
// 方法:添加、修改、刪除
//
//********************************************************//
void CPayItems::sql_Insert()
{
try
{
//連接數(shù)據(jù)庫
ADOConn m_AdoConn;
//設(shè)置INSERT語句, 將數(shù)值轉(zhuǎn)換為字符串
CString cSql,cRId,cItemId,cNum,cPrc,cTId;
_bstr_t bSql;
cRId.Format("%d",RegId);
cItemId.Format("%d",ItemId);
cNum.Format("%f",PNum);
cPrc.Format("%f",Price);
cTId.Format("%d",PType);
// 更新語句
cSql = "Insert Into PayItems(RegId,ItemId,PNum,Price,PType) Values("+cRId+","+cItemId+",";
cSql += cNum+","+cPrc+","+cTId+")";
// AfxMessageBox(cSql);
bSql = (LPCTSTR)(_bstr_t)cSql;
m_AdoConn.ExecuteSQL(bSql);
//斷開與數(shù)據(jù)庫的連接
m_AdoConn.ExitConnect();
}
// 捕捉異常
catch(_com_error e)
{
// 顯示錯(cuò)誤信息
AfxMessageBox(e.Description());
}
}
void CPayItems::sql_Update(CString cPId)
{
try
{
//連接數(shù)據(jù)庫
ADOConn m_AdoConn;
//設(shè)置Update語句, 將數(shù)值轉(zhuǎn)換為字符串
CString cSql,cRId,cItemId,cNum,cPrc,cTId;
_bstr_t bSql;
cRId.Format("%d",RegId);
cItemId.Format("%d",ItemId);
cNum.Format("%f",PNum);
cPrc.Format("%f",Price);
cTId.Format("%f",PType);
// 更新語句
cSql = "Update PayItems Set RegId="+cRId+",ItemId="+cItemId+",PNum="+cNum+",";
cSql += "PType="+cTId+",Price="+cPrc+" Where PayId="+cPId;
bSql = (LPCTSTR)(_bstr_t)cSql;
m_AdoConn.ExecuteSQL(bSql);
//斷開與數(shù)據(jù)庫的連接
m_AdoConn.ExitConnect();
}
// 捕捉異常
catch(_com_error e)
{
// 顯示錯(cuò)誤信息
AfxMessageBox(e.Description());
}
}
// 刪除單個(gè)記錄
void CPayItems::sql_Delete(CString cPId)
{
try
{
//連接數(shù)據(jù)庫
ADOConn m_AdoConn;
//設(shè)置Delete語句
_bstr_t bSql;
bSql = "Delete From PayItems Where PayId="+cPId;
m_AdoConn.ExecuteSQL(bSql);
//斷開與數(shù)據(jù)庫的連接
m_AdoConn.ExitConnect();
}
// 捕捉異常
catch(_com_error e)
{
// 顯示錯(cuò)誤信息
AfxMessageBox(e.Description());
}
}
// 刪除多個(gè)記錄
void CPayItems::sql_DeleteRecords(CString cRId)
{
try
{
//連接數(shù)據(jù)庫
ADOConn m_AdoConn;
//設(shè)置Delete語句
_bstr_t bSql;
bSql = "Delete From PayItems Where RegId="+cRId;
m_AdoConn.ExecuteSQL(bSql);
//斷開與數(shù)據(jù)庫的連接
m_AdoConn.ExitConnect();
}
// 捕捉異常
catch(_com_error e)
{
// 顯示錯(cuò)誤信息
AfxMessageBox(e.Description());
}
}
double CPayItems::GetSum(CString cRId)
{
double dRSum = 0;
try
{
_variant_t vRSum;
// 指明數(shù)據(jù)類型為double
vRSum.vt = VT_R8;
_RecordsetPtr m_pRecordset;
// 連接數(shù)據(jù)庫
ADOConn m_AdoConn;
_bstr_t bSQL;
bSQL = "SELECT SUM(Price*PNum) AS RSum FROM PayItems WHERE RegId="+cRId+" GROUP BY RegId";
// 執(zhí)行SELETE語句
m_pRecordset = m_AdoConn.GetRecordSet(bSQL);
// 如果結(jié)果集為空則返回0
if(!m_pRecordset->adoEOF)
{
vRSum = m_pRecordset->GetCollect("RSum");
dRSum = vRSum.dblVal;
}
//斷開與數(shù)據(jù)庫的連接
m_AdoConn.ExitConnect();
return dRSum;
}
// 捕捉異常
catch(_com_error e)
{
// 顯示錯(cuò)誤信息
AfxMessageBox(e.Description());
}
return dRSum;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -