📄 reader.cpp
字号:
// 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()
{
}
// 设置和读取成员变量值
//////////////////////////////////////////////////////
//读者最大借书量的设置和读取
void CReader::SetMaxBook(CString vMaxBook)
{
MaxBook = vMaxBook;
}
CString CReader::GetMaxBook()
{
return MaxBook;
}
//读者的名字设置与读取
void CReader::SetNameReader(CString vNameReader)
{
NameReader = vNameReader;
}
CString CReader::GetNameReader()
{
return NameReader;
}
//读者ID设置与读取
void CReader::SetIDReader(CString vIDReader)
{
IDReader = vIDReader;
}
CString CReader::GetIDReader()
{
return IDReader;
}
//读者信息操作记录内容设置与读取
void CReader::SetLogReader(CString vLogReader)
{
LogReader = vLogReader;
}
CString CReader::GetLogUser()
{
return LogReader;
}
//数据库操作
void CReader::sql_delete(CString vIDReader)
{
//连接数据库
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
CString vID_UserOP,vEvent_t_ReaderOP;
vID_UserOP = curUser.GetIDUser();
vEvent_t_ReaderOP = "删除";
//设置DELETE语句
_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); //执行DELETE语句
m_Adoconn.ExitConnect(); //断开数据库连接
}
void CReader::sql_update(CString vIDReader)
{
//连接数据库
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
CString vID_UserOP,vEvent_t_ReaderOP;
vID_UserOP = curUser.GetIDUser();
vEvent_t_ReaderOP = "更新";
//设置UPDATE语句
_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))//执行UPDATE语句
AfxMessageBox("更新成功");
else
AfxMessageBox("更新失败");
m_Adoconn.ExitConnect(); //断开数据库连接
}
void CReader::sql_insert()
{
//连接数据库
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
CString vID_UserOP,vEvent_t_ReaderOP;
vID_UserOP = curUser.GetIDUser();
vEvent_t_ReaderOP = "添加";
//设置INSERT语句以及操作记录语句 两个操作集成一个事务
_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))//执行INSERT语句
AfxMessageBox("添加成功");
else AfxMessageBox("添加失败");
m_Adoconn.ExitConnect(); //断开数据库连接
}
void CReader::GetData(CString vIDeReader)
{
//连接数据库
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
//执行SELECT语句
_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(); //断开数据库连接
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -