?? reader.cpp
字號(hào):
// Reader.cpp: implementation of the CReader class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "libraryMS.h"
#include "Reader.h"
#include "ADOConn.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
extern CUsers curUser;
CReader::CReader()
{
}
CReader::~CReader()
{
}
// 設(shè)置和讀取成員變量值
//////////////////////////////////////////////////////
//讀者最大借書(shū)量的設(shè)置和讀取
void CReader::SetMaxBook(CString vMaxBook)
{
MaxBook = vMaxBook;
}
CString CReader::GetMaxBook()
{
return MaxBook;
}
//讀者的名字設(shè)置與讀取
void CReader::SetNameReader(CString vNameReader)
{
NameReader = vNameReader;
}
CString CReader::GetNameReader()
{
return NameReader;
}
//讀者ID設(shè)置與讀取
void CReader::SetIDReader(CString vIDReader)
{
IDReader = vIDReader;
}
CString CReader::GetIDReader()
{
return IDReader;
}
//讀者信息操作記錄內(nèi)容設(shè)置與讀取
void CReader::SetLogReader(CString vLogReader)
{
LogReader = vLogReader;
}
CString CReader::GetLogUser()
{
return LogReader;
}
//數(shù)據(jù)庫(kù)操作
void CReader::sql_delete(CString vIDReader)
{
//連接數(shù)據(jù)庫(kù)
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
CString vID_UserOP,vEvent_t_ReaderOP;
vID_UserOP = curUser.GetIDUser();
vEvent_t_ReaderOP = "刪除";
//設(shè)置DELETE語(yǔ)句
_bstr_t vSQL;
vSQL = "BEGIN TRANSACTION DELETE t_Reader Where IDReader ='"+vIDReader+"'"
"INSERT INTO t_ReaderBack (ID_UserOP, Event_t_ReaderOP, Comment_t_ReaderOP, ID_t_Reader, Name_t_Reader) "
"VALUES ('"+vID_UserOP+"','"+vEvent_t_ReaderOP+"','"+LogReader+"','"+IDReader+"','"+NameReader+"')"
"if @@ERROR<>0 ROLLBACK TRAN else COMMIT TRAN";
m_Adoconn.ExecuteSQL(vSQL); //執(zhí)行DELETE語(yǔ)句
m_Adoconn.ExitConnect(); //斷開(kāi)數(shù)據(jù)庫(kù)連接
}
void CReader::sql_update(CString vIDReader)
{
//連接數(shù)據(jù)庫(kù)
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
CString vID_UserOP,vEvent_t_ReaderOP;
vID_UserOP = curUser.GetIDUser();
vEvent_t_ReaderOP = "更新";
//設(shè)置UPDATE語(yǔ)句
_bstr_t vSQL;
vSQL = "BEGIN TRANSACTION UPDATE t_Reader SET NameReader = '"+NameReader+"' , MaxBook = '"+MaxBook+"' Where IDReader = '" +vIDReader+"'"
"INSERT INTO t_ReaderBack (ID_UserOP, Event_t_ReaderOP, Comment_t_ReaderOP, ID_t_Reader, Name_t_Reader) VALUES ('"+vID_UserOP+"','"+vEvent_t_ReaderOP+"','"+LogReader+"','"+IDReader+"','"+NameReader+"')"
"if @@ERROR<>0 ROLLBACK TRAN else COMMIT TRAN";
if(m_Adoconn.ExecuteSQL(vSQL))//執(zhí)行UPDATE語(yǔ)句
AfxMessageBox("更新成功");
else
AfxMessageBox("更新失敗");
m_Adoconn.ExitConnect(); //斷開(kāi)數(shù)據(jù)庫(kù)連接
}
void CReader::sql_insert()
{
//連接數(shù)據(jù)庫(kù)
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
CString vID_UserOP,vEvent_t_ReaderOP;
vID_UserOP = curUser.GetIDUser();
vEvent_t_ReaderOP = "添加";
//設(shè)置INSERT語(yǔ)句以及操作記錄語(yǔ)句 兩個(gè)操作集成一個(gè)事務(wù)
_bstr_t vSQL;
vSQL = " INSERT INTO t_Reader(IDReader, NameReader, MaxBook) VALUES('"+IDReader+"','"+NameReader+"','"+MaxBook+"')"
"INSERT INTO t_ReaderBack (ID_UserOP, Event_t_ReaderOP, Comment_t_ReaderOP, ID_t_Reader, Name_t_Reader) "
"VALUES ('"+vID_UserOP+"','"+vEvent_t_ReaderOP+"','"+LogReader+"','"+IDReader+"','"+NameReader+"')""if @@ERROR<>0 ROLLBACK TRAN else COMMIT TRAN";
if(m_Adoconn.ExecuteSQL(vSQL))//執(zhí)行INSERT語(yǔ)句
AfxMessageBox("添加成功");
else AfxMessageBox("添加失敗");
m_Adoconn.ExitConnect(); //斷開(kāi)數(shù)據(jù)庫(kù)連接
}
void CReader::GetData(CString vIDeReader)
{
//連接數(shù)據(jù)庫(kù)
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
//執(zhí)行SELECT語(yǔ)句
_RecordsetPtr m_pRecordset;
_bstr_t vSQL= "SELECT COUNT(*) FROM t_Reader Where IDReader = '"+vIDeReader+"'";
m_pRecordset = m_Adoconn.GetRecordSet(vSQL);
_variant_t vCount = m_pRecordset->GetCollect((_variant_t)(long)(0)) ;
if (vCount.lVal == 0)//找不到記錄 置IDReader = -1
{
this->SetIDReader('-1');
m_Adoconn.ExitConnect();
return ;
}
vSQL= "SELECT * FROM t_Reader Where IDReader = '"+vIDeReader+"'";
m_pRecordset = m_Adoconn.GetRecordSet(vSQL);
if(m_pRecordset->adoEOF == 1)
CReader();
else
{
IDReader = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("IDReader");
NameReader = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("NameReader");
MaxBook = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("MaxBook");
}
m_Adoconn.ExitConnect(); //斷開(kāi)數(shù)據(jù)庫(kù)連接
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -