📄 borrow.cpp
字号:
// Borrow.cpp: implementation of the CBorrow class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "libraryMS.h"
#include "Borrow.h"
#include "ADOConn.h"
#include "Borrow.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CBorrow::CBorrow()
{
}
CBorrow::~CBorrow()
{
}
void CBorrow::SetIDReader(CString vIDReader)
{
IDReader = vIDReader;
}
CString CBorrow::GetIDReader()
{
return IDReader;
}
void CBorrow::SetISBN(CString vISBN)
{
ISBN = vISBN;
}
CString CBorrow::GetISBN()
{
return ISBN;
}
void CBorrow::SetNameReader(CString vNameReader)
{
NameReader = vNameReader;
}
CString CBorrow::GetNameReader()
{
return NameReader;
}
void CBorrow::SetTitle(CString vTitle)
{
Title = vTitle;
}
CString CBorrow::GetTitle()
{
return Title;
}
void CBorrow::sql_insert()
{ //连接数据库
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
//设置INSERT语句以及操作记录语句 多个操作集成一个事务
_bstr_t vSQL;
vSQL ="BEGIN TRANSACTION INSERT INTO t_Borrow (IDReader, NameReader, Title, ISBN, KeepTime) VALUES('"+IDReader+"','"+NameReader+"','"+Title+"','"+ISBN+"','"+KeepTime+"')"
"INSERT INTO t_BorrowBack (IDReader, Title, ISBN) VALUES ('"+IDReader+"','"+Title+"','"+ISBN+"')"
"UPDATE t_BookCount SET MaxCount= MaxCount-1 Where ISBN ='"+ISBN+"'"
"if @@ERROR<>0 ROLLBACK TRAN else COMMIT TRAN";
if(m_Adoconn.ExecuteSQL(vSQL))//执行INSERT语句
AfxMessageBox("借阅成功");
else AfxMessageBox("借阅失败");
m_Adoconn.ExitConnect(); //断开数据库连接
}
void CBorrow::sql_getKeepTime()
{//连接数据库
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
_RecordsetPtr m_pRecordset;
//设置UPDATE语句
_bstr_t vSQL;
vSQL = "select dbo.GetKeepTime(GETDATE()) as KeepTime from [libraryMS].[dbo].[t_KeepTimeBook]";
m_pRecordset = m_Adoconn.GetRecordSet(vSQL);
KeepTime = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("KeepTime");
}
void CBorrow::sql_delete(CString vISBN)//还书
{//连接数据库
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
//设置DELETE语句
_bstr_t vSQL;
vSQL = "BEGIN TRANSACTION DELETE FROM [libraryMS].[dbo].[t_Borrow] WHERE ISBN = '"+vISBN+"'"
"INSERT INTO [libraryMS].[dbo].[t_Return] (IDReader,NameReader,Title, ISBN) VALUES ('"+IDReader+"','"+NameReader+"','"+Title+"','"+ISBN+"')"
"UPDATE t_BookCount SET MaxCount= MaxCount+1 Where ISBN ='"+ISBN+"'"
"if @@ERROR<>0 ROLLBACK TRAN else COMMIT TRAN";
if(m_Adoconn.ExecuteSQL(vSQL))//执行INSERT语句
AfxMessageBox("还书成功");
else AfxMessageBox("还书失败");
m_Adoconn.ExitConnect(); //断开数据库连接
}
void CBorrow::GetData(CString vISBN)
{
//连接数据库
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
//执行SELECT语句
_RecordsetPtr m_pRecordset;
_bstr_t vSQL= "SELECT COUNT(*) FROM t_Borrow Where ISBN ='"+vISBN+"'";
m_pRecordset = m_Adoconn.GetRecordSet(vSQL);
_variant_t vCount = m_pRecordset->GetCollect((_variant_t)(long)(0)) ;
if (vCount.lVal == 0)//找不到记录 置ISBNBook = -1
{
this->SetISBN('-1');
m_Adoconn.ExitConnect();
return ;
}
vSQL= "SELECT * FROM t_Borrow Where ISBN ='"+vISBN+"'";
m_pRecordset = m_Adoconn.GetRecordSet(vSQL);
if(m_pRecordset->adoEOF == 1)
CBorrow();
else
{
IDReader = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("IDReader");
ISBN = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("ISBN");
NameReader = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("NameReader");
Title = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Title");
ISBN = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("ISBN");
DateB = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("DateB");
KeepTime = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("KeepTime");
}
m_Adoconn.ExitConnect(); //断开数据库连接
}
void CBorrow::SetDateB(CString vDateB)
{
}
CString CBorrow::GetDateB()
{
return DateB;
}
void CBorrow::SetKeepTime(CString vKeepTime)
{
KeepTime=vKeepTime;
}
CString CBorrow::GetKeepTime()
{
return KeepTime;
}
void CBorrow::sql_getTime()
{
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
_RecordsetPtr m_pRecordset;
//设置UPDATE语句
_bstr_t vSQL;
vSQL = "select GETDATE() as Time from [libraryMS].[dbo].[t_KeepTimeBook]";
m_pRecordset = m_Adoconn.GetRecordSet(vSQL);
DateB= (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Time");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -