📄 book.cpp
字号:
// Book.cpp: implementation of the CBook class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "libraryMS.h"
#include "Book.h"
#include "ADOConn.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
extern CUsers curUser;
CBook::CBook()
{
}
CBook::~CBook()
{
}
void CBook::SetAuthorBook(CString vAuthor)
{
Author = vAuthor;
}
CString CBook::GetAuthorBook()
{
return Author;
}
void CBook::SetTitleBook(CString vTitle)
{
Title = vTitle;
}
CString CBook::GetTitleBook()
{
return Title;
}
void CBook::SetISBNBook(CString vISBN)
{
ISBN = vISBN;
}
CString CBook::GetISBNBook()
{
return ISBN;
}
void CBook::SetCommentBook(CString vComment)
{
Comment = vComment;
}
CString CBook::GetCommentBook()
{
return Comment;
}
void CBook::SetPressName(CString vPressName)
{
PressName = vPressName;
}
CString CBook::GetPressName()
{
return PressName;
}
void CBook::SetTOTBook(CString vTOT)
{
TOT = vTOT;
}
CString CBook::GetTOTBook()
{
return TOT;
}
void CBook::SetTypeCode(CString vTypeCode)
{
TypeCode = vTypeCode;
}
CString CBook::GetTypeCode()
{
return TypeCode;
}
void CBook::SetLogBook(CString vLog)
{
LogBook = vLog;
}
CString CBook::GetLogBook()
{
return LogBook;
}
void CBook::sql_insert()
{ //连接数据库
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
CString vID_UserOP,vEvent_t_BookOP;
vID_UserOP = curUser.GetIDUser();
vEvent_t_BookOP = "添加";
//设置INSERT语句以及操作记录语句 两个操作集成一个事务
_bstr_t vSQL;
vSQL = "BEGIN TRANSACTION INSERT INTO t_Book(Title, ISBN, Author, PressName,TOT,TypeCode,Comment) VALUES('"+Title+"','"+ISBN+"','"+Author+"','"+PressName+"','"+TOT+"','"+TypeCode+"','"+Comment+"')"
"INSERT INTO t_BookBack (ID_UserOP, Event_t_BookOP, Comment, Title_t_Book, ISBN_t_Book, Author_t_Book, PressName_t_Book, Comment_t_BookOP) VALUES ('"+vID_UserOP+"','"+vEvent_t_BookOP+"','"+LogBook+"','"+Title+"','"+ISBN+"','"+Author+"','"+PressName+"','"+Comment+"')"
"INSERT INTO t_BookCount (ISBN,MaxCount) VALUES('"+ISBN+"','"+TOT+"')"
"if @@ERROR<>0 ROLLBACK TRAN else COMMIT TRAN";
if(m_Adoconn.ExecuteSQL(vSQL))//执行INSERT语句
AfxMessageBox("添加成功");
else AfxMessageBox("添加失败");
m_Adoconn.ExitConnect(); //断开数据库连接
}
void CBook::sql_update(CString vISBN)
{//连接数据库
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
CString vID_UserOP,vEvent_t_BookOP;
vID_UserOP = curUser.GetIDUser();
vEvent_t_BookOP = "更新";
//设置UPDATE语句
_bstr_t vSQL;
vSQL = "BEGIN TRANSACTION UPDATE t_Book SET Title='"+Title+"' , Author='"+Author+"', PressName='"+PressName+"', TOT='"+TOT+"', TypeCode= '"+TypeCode+"', Comment='"+Comment+"' Where ISBN ='"+vISBN+"'"
"INSERT INTO t_BookBack (ID_UserOP, Event_t_BookOP, Comment, Title_t_Book, ISBN_t_Book, Author_t_Book, PressName_t_Book, Comment_t_BookOP) VALUES ('"+vID_UserOP+"','"+vEvent_t_BookOP+"','"+LogBook+"','"+Title+"','"+ISBN+"','"+Author+"','"+PressName+"','"+Comment+"')"
"UPDATE t_BookCount SET MaxCount = '"+TOT+"' where ISBN = '"+vISBN+"'" "if @@ERROR<>0 ROLLBACK TRAN else COMMIT TRAN ";
if(m_Adoconn.ExecuteSQL(vSQL))//执行UPDATE语句
AfxMessageBox("更新成功");
else
AfxMessageBox("更新失败");
m_Adoconn.ExitConnect(); //断开数据库连接
}
void CBook::sql_delete(CString vISBN)
{//连接数据库
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
CString vID_UserOP,vEvent_t_BookOP;
vID_UserOP = curUser.GetIDUser();
vEvent_t_BookOP = "删除";
//设置DELETE语句
_bstr_t vSQL;
vSQL = "BEGIN TRANSACTION DELETE t_Book Where ISBN ='"+vISBN+"'"
"INSERT INTO t_BookBack (ID_UserOP, Event_t_BookOP, Comment, Title_t_Book, ISBN_t_Book, Author_t_Book, PressName_t_Book, Comment_t_BookOP) VALUES ('"+vID_UserOP+"','"+vEvent_t_BookOP+"','"+LogBook+"','"+Title+"','"+ISBN+"','"+Author+"','"+PressName+"','"+Comment+"')"
"DELETE FROM t_BookCount WHERE ISBN ='"+vISBN+"'""if @@ERROR<>0 ROLLBACK TRAN else COMMIT TRAN";
if(m_Adoconn.ExecuteSQL(vSQL))//执行INSERT语句
AfxMessageBox("添加成功");
else AfxMessageBox("添加失败");
m_Adoconn.ExitConnect(); //断开数据库连接
}
void CBook::GetData(CString vISBN)
{
//连接数据库
ADOConn m_Adoconn;
m_Adoconn.OnInitADOConn();
//执行SELECT语句
_RecordsetPtr m_pRecordset;
_bstr_t vSQL= "SELECT COUNT(*) FROM t_Book 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->SetISBNBook('-1');
m_Adoconn.ExitConnect();
return ;
}
vSQL= "SELECT * FROM t_Book Where ISBN ='"+vISBN+"'";
m_pRecordset = m_Adoconn.GetRecordSet(vSQL);
if(m_pRecordset->adoEOF == 1)
CBook();
else
{
Title = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Title");
ISBN = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("ISBN");
Author = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Author");
PressName = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("PressName");
Author = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Author");
TypeCode = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("TypeCode");
TOT = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("TOT");
Comment = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Comment");
}
m_Adoconn.ExitConnect(); //断开数据库连接
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -