⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reader.cpp

📁 java 大作业 《处方跟踪系统》源代码 gui界面
💻 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 + -