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

📄 borrowdlg.cpp

📁 小图书馆管理系统
💻 CPP
字号:
// BorrowDlg.cpp : implementation file
//

#include "stdafx.h"
#include "Lib.h"
#include "BorrowDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CBorrowDlg dialog

CBorrowDlg::CBorrowDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CBorrowDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CBorrowDlg)
	m_Bookid = _T("");
	m_Bookname = _T("");
	m_booknum = _T("");
	m_borrownum = _T("");
	m_Username = _T("");
	m_Userid = _T("");
	//}}AFX_DATA_INIT    
}
void CBorrowDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CBorrowDlg)
	DDX_Control(pDX, IDC_BUTTON1, m_Button);
	DDX_Text(pDX, IDC_EDIT_BOOKID, m_Bookid);
	DDX_Text(pDX, IDC_STATIC_BOOKNAME, m_Bookname);
	DDX_Text(pDX, IDC_STATIC_BOOKNUM, m_booknum);
	DDX_Text(pDX, IDC_STATIC_BORROWNUM, m_borrownum);
	DDX_Text(pDX, IDC_STATIC_USERNAME, m_Username);
	DDX_Text(pDX, IDC_EDIT_USERID, m_Userid);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CBorrowDlg, CDialog)
	//{{AFX_MSG_MAP(CBorrowDlg)
	ON_BN_CLICKED(IDC_BUTTON1, OnBorrow)
	ON_WM_CREATE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBorrowDlg message handlers

void CBorrowDlg::OnOK() 
{
	// TODO: Add extra validation here
};

/////////////////////////////////////
BOOL CBorrowDlg::CheckValid() 
{

	//检查输入的合法性
	char buffer[20];//      
	if(m_Userid.IsEmpty() || m_Bookid.IsEmpty())
	{
		AfxMessageBox("请输入借书证号和书号!");
		return false;
	}
	m_UserSet.Open();
	m_UserSet.m_strFilter="userid='"+m_Userid+"'";
	m_UserSet.Requery();
	if(m_UserSet.GetRecordCount()==0)
	{
		AfxMessageBox("您的借书证号输入有误,请重新输入!");
		GetDlgItem(IDC_EDIT_USERID)->SetFocus();
		m_UserSet.Close();
		return false;
	}
	  else 
	  {
    	 m_Username=m_UserSet.m_username;//
         ltoa(m_UserSet.m_borrownum,buffer,10);
 	     m_borrownum=buffer;//
         UpdateData(false);//
	  };

	m_BookSet.Open();
	m_BookSet.m_strFilter="bookid='"+m_Bookid+"'";
	m_BookSet.Requery();
	if(m_BookSet.GetRecordCount()==0)
	{
		AfxMessageBox("您的书号输入有误,请重新输入!");
		GetDlgItem(IDC_EDIT_BOOKID)->SetFocus();
		m_UserSet.Close();
		m_BookSet.Close();
		return false;
	}
	  else
	  {
	     m_Bookname=m_BookSet.m_bookname;//
		 ltoa(m_BookSet.m_remain,buffer,10);
 	     m_booknum=buffer;//
         
         UpdateData(false);//
	  }

	if(m_BookSet.m_remain<1)
	{
		AfxMessageBox("此书已借出,请重新输入!");
		GetDlgItem(IDC_EDIT_BOOKID)->SetFocus();
		m_UserSet.Close();
		m_BookSet.Close();
		return false;
	}     
	return true;

}

void CBorrowDlg::OnBorrow() 
{
	// TODO: Add your control notification handler code here
     UpdateData();
	if(CheckValid())
	{
     AfxMessageBox("借出成功");
     UpdateData(false);
	 SaveData();
	}

}
void CBorrowDlg::SaveData()
{
    //将数据保存到数据库
	//设置借书期限是一个月
	char buffer[20];
	//CTimeSpan m_BorrowSpan(30,0,0,0);

	//m_BorrowTime=CTime::GetCurrentTime();
	//m_ReturnTime=m_BorrowTime+m_BorrowSpan;

	//保存数据到borrow表
	m_BorrowSet.Open();
	m_BorrowSet.AddNew();
	m_BorrowSet.m_userid=m_UserSet.m_userid;
	m_BorrowSet.m_bookid=m_BookSet.m_bookid;
	m_BorrowSet.m_remaindate=30;
	m_BorrowSet.Update();

	//保存数据到user表
	m_UserSet.Edit();
	m_UserSet.m_borrownum++;
	m_UserSet.Update();

	//保存数据到book表
	m_BookSet.Edit();
	m_BookSet.m_remain--;
	m_BookSet.Update();
     //更新对话框的数据
	ltoa(m_BookSet.m_remain,buffer,10);
 	m_booknum=buffer;//
    ltoa(m_UserSet.m_borrownum,buffer,10);
 	m_borrownum=buffer;
         //

     m_BorrowSet.Close();
     m_UserSet.Close();
	 m_BookSet.Close();
     UpdateData(false);
}

BOOL CBorrowDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	// if (isReturn==1) m_Button.SetWindowText("归还");else
    m_Button.SetWindowText("借出");

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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