bookborrowdlg.cpp

来自「实现基本的图书馆管理系统」· C++ 代码 · 共 254 行

CPP
254
字号
// BookBorrowDlg.cpp : implementation file
//

#include "stdafx.h"
#include "图书馆管理系统.h"
#include "BookBorrowDlg.h"
#include "BookBorrowEdit.h"
#include "adodc.h"
#include "column.h"
#include "columns.h"
#include "AddNewBookEdit.h"
#include "Proof_Info.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CBookBorrowDlg dialog


CBookBorrowDlg::CBookBorrowDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CBookBorrowDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CBookBorrowDlg)
	m_BookID = _T("");
	m_BorrowID = _T("");
	m_BorrowTime = _T("");
	//}}AFX_DATA_INIT
}


void CBookBorrowDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CBookBorrowDlg)
	DDX_Text(pDX, IDC_BOOKID_EDIT, m_BookID);
	DDX_Text(pDX, IDC_BORROWID_EDIT, m_BorrowID);
	DDX_Control(pDX, IDC_ADODC1, m_Adodc);
	DDX_Control(pDX, IDC_DATAGRID1, m_dataGridEm);
	DDX_Text(pDX, IDC_BORROWTIME_STATIC, m_BorrowTime);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CBookBorrowDlg, CDialog)
	//{{AFX_MSG_MAP(CBookBorrowDlg)
	ON_BN_CLICKED(IDC_BOOKBORROW, OnBookborrow)
	ON_COMMAND(IDC_BORROW_RETURN, OnBorrowReturn)
	ON_BN_CLICKED(IDC_RETURN_BUTTON, OnReturnButton)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBookBorrowDlg message handlers

void CBookBorrowDlg::OnBookborrow() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	CBookBorrowEdit bookborrowedit;
	CAddNewBookEdit addnewbookedit;
	CProof_Info		proof_info;

	if(m_BorrowID=="")
	{
		MessageBox("请输入借阅证号!");
		return;
	}
	if(m_BookID=="")
	{
		MessageBox("请输入书号!");
		return;
	}

	bookborrowedit.SetBorrowID(m_BorrowID);
	bookborrowedit.SetBookID(m_BookID);
	addnewbookedit.SetBookID(m_BookID);
	proof_info.SetBorrowID(m_BorrowID);
	proof_info.GetData(m_BorrowID);

//	int amount;
//	amount=proof_info.GetBorrow_Amount();


	CTime t = CTime::GetCurrentTime();
	m_BorrowTime = t.Format("%Y-%m-%d");

	if (bookborrowedit.HaveBorrowID(m_BorrowID) == 1)
	{
		if(bookborrowedit.HaveBookID(m_BookID) == 1)
		{	
			if(proof_info.GetBorrow_Amount()<5)
			{
				bookborrowedit.sql_insert();
				
				//更新书库
				addnewbookedit.sql_update_DecNow_Amount();
				proof_info.sql_update_AddBorrowAmount();
				MessageBox("借书成功!");

				//更新数据
				CString  cSource="select BookID,BookName,Writer,Press,Price from Book_Info"
					             " where BookID in(select BookID from Borrow_Info where BorrowID "
								 "in(select BorrowID from Proof_Info where BorrowID='"+m_BorrowID+"'))";

				m_Adodc.SetRecordSource(cSource);
				m_Adodc.Refresh();

				////////////////////////////
				//设置列的宽度
				CColumns allCols;
				CColumn  onecol;
				//获得dataGrid控件的列集对象
			    allCols=m_dataGridEm.GetColumns();

			    //以序号为参数获得某列对象
			    onecol=allCols.GetItem(COleVariant(long(0)));
			    //设置属性
			    onecol.SetCaption(" 图书号");
			    //设置列宽
			    onecol.SetWidth (50);

			    onecol=allCols.GetItem(COleVariant(long(1)));
			    onecol.SetCaption(" 图书名称");
			    onecol.SetWidth (100);
			

			    onecol=allCols.GetItem(COleVariant(long(2)));
			    onecol.SetCaption(" 作者");
			    onecol.SetWidth (70);

			    onecol=allCols.GetItem(COleVariant(long(3)));
			    onecol.SetCaption(" 出版社");
			    onecol.SetWidth (100);

			    onecol=allCols.GetItem(COleVariant(long(4)));
			    onecol.SetCaption(" 价格");
			    onecol.SetWidth (40);
			}
			else
			{
				MessageBox("您借的书已经超过五本,不能再借!");
				return;
			}

		}
		else
		{
			MessageBox("不存在该图书编号,请重新输入!");
			return;
		}
	}
	else
	{
		MessageBox("借阅证不存在,请重新输入!");
       	return;
	}
}
void CBookBorrowDlg::OnBorrowReturn(void)
{

}

void CBookBorrowDlg::OnReturnButton() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	CBookBorrowEdit bookborrowedit;
	CAddNewBookEdit addnewbookedit;
	CProof_Info		proof_info;

	if(m_BorrowID=="")
	{
		MessageBox("请输入借阅证号!");
		return;
	}
	if(m_BookID=="")
	{
		MessageBox("请输入书号!");
		return;
	}

	bookborrowedit.SetBorrowID(m_BorrowID);
	bookborrowedit.SetBookID(m_BookID);
	addnewbookedit.SetBookID(m_BookID);
	proof_info.SetBorrowID(m_BorrowID);

	if (bookborrowedit.HaveBorrowID(m_BorrowID) == 1)
	{
		if(bookborrowedit.HaveBookID(m_BookID) == 1)
		{
			bookborrowedit.sql_delete();
			addnewbookedit.sql_update_AddNow_Amount();
			proof_info.sql_update_DecBorrowAmount();
			MessageBox("还书成功!");
			
			//更新数据
			CString  cSource="select BookID,BookName,Writer,Press,Price from Book_Info"
				             " where BookID in(select BookID from Borrow_Info where BorrowID "
							 "in(select BorrowID from Proof_Info where BorrowID='"+m_BorrowID+"'))";

			m_Adodc.SetRecordSource(cSource);
			m_Adodc.Refresh();

			////////////////////////////
			//设置列的宽度
			CColumns allCols;
			CColumn  onecol;
			//获得dataGrid控件的列集对象
		   allCols=m_dataGridEm.GetColumns();

		   //以序号为参数获得某列对象
		   onecol=allCols.GetItem(COleVariant(long(0)));
		   //设置属性
		   onecol.SetCaption(" 图书号");
		   //设置列宽
		   onecol.SetWidth (50);

		   onecol=allCols.GetItem(COleVariant(long(1)));
		   onecol.SetCaption(" 图书名称");
		   onecol.SetWidth (100);
		

		   onecol=allCols.GetItem(COleVariant(long(2)));
		   onecol.SetCaption(" 作者");
		   onecol.SetWidth (70);

		   onecol=allCols.GetItem(COleVariant(long(3)));
		   onecol.SetCaption(" 出版社");
		   onecol.SetWidth (100);

		   onecol=allCols.GetItem(COleVariant(long(4)));
		   onecol.SetCaption(" 价格");
		   onecol.SetWidth (40);

		}
		else
		{
			MessageBox("不存在该图书编号,请重新输入!");
			return;
		}
	}
	else
	{
		MessageBox("借阅证不存在,请重新输入!");
       	return;
	}
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?