proppagetransmitlenddlg.cpp

来自「用Visual c++.net开发的图书管理系统」· C++ 代码 · 共 131 行

CPP
131
字号
// PropPageTransmitLendDlg.cpp : 实现文件
//

#include "stdafx.h"
#include "myBook.h"
#include "PropPageTransmitLendDlg.h"
#include ".\proppagetransmitlenddlg.h"


// CPropPageTransmitLendDlg 对话框

IMPLEMENT_DYNAMIC(CPropPageTransmitLendDlg, CPropertyPage)
CPropPageTransmitLendDlg::CPropPageTransmitLendDlg()
	: CPropertyPage(CPropPageTransmitLendDlg::IDD)
	, m_strBookID(_T(""))
	, m_strReaderID(_T(""))
{
}

CPropPageTransmitLendDlg::~CPropPageTransmitLendDlg()
{
}

void CPropPageTransmitLendDlg::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	DDX_Text(pDX, IDC_EDIT_BOOK_ID, m_strBookID);
	DDX_Text(pDX, IDC_EDIT_READER_ID, m_strReaderID);
}


BEGIN_MESSAGE_MAP(CPropPageTransmitLendDlg, CPropertyPage)
	ON_BN_CLICKED(IDC_BUTTON_OUT, OnBnClickedButtonOut)
	ON_BN_CLICKED(IDC_BUTTON_LOCK, OnBnClickedButtonLock)
	ON_BN_CLICKED(IDC_BUTTON_RETURN, OnBnClickedButtonReturn)
	ON_BN_CLICKED(IDC_BUTTON_EXIT, OnBnClickedButtonExit)
END_MESSAGE_MAP()


// CPropPageTransmitLendDlg 消息处理程序

BOOL CPropPageTransmitLendDlg::OnInitDialog()
{
	CPropertyPage::OnInitDialog();

	CWnd *pCtrl = NULL;
	CWnd *pParent = GetParent();
	ASSERT( pParent != NULL );
	const int CTRLIDARRAY[4] = {
		IDOK,
		IDCANCEL,
		ID_APPLY_NOW,
		IDHELP };
	for (int nIndex = 0; nIndex < sizeof(CTRLIDARRAY)/sizeof(CTRLIDARRAY[0]); ++nIndex)
	{
		pCtrl = pParent->GetDlgItem( CTRLIDARRAY[nIndex] );
		if ( pCtrl != NULL )
		{
			pCtrl->ShowWindow( SW_HIDE );
		}
	}

	return TRUE;
}

void CPropPageTransmitLendDlg::OnBnClickedButtonOut()
{
	UpdateData( TRUE );

	CString strSQL;
	strSQL.Format( _T("INSERT INTO my_recorder(RecorderBookID,RecorderReaderID,RecorderOutDate) VALUES('%s','%s','%s')"),
		m_strBookID,
		m_strReaderID,
		(LPCTSTR)(CTime::GetCurrentTime() + CTimeSpan(30,0,0,0)).Format( _T("%Y/%m/%d") )
		);
	TRACE0( strSQL );
	try
	{
		CDatabase db;
		db.OpenEx(_T("DSN=myLib;UID=sa;PWD='';"), CDatabase::noOdbcDialog);
		CRecordset rset( &db );
		rset.Open(CRecordset::dynaset,_T("SELECT * FROM my_book WHERE BookID=") + m_strBookID);
		if( rset.GetRecordCount() <= 0 )
		{
			AfxMessageBox( _T("错误的书号") );
			return;
		}
		rset.Close();
		rset.Open(CRecordset::dynaset,_T("SELECT * FROM my_reader WHERE ReaderID='") + m_strReaderID + _T("'"));
		if( rset.GetRecordCount() <= 0 )
		{
			AfxMessageBox( _T("错误的读者号") );
			return;
		}
		rset.Close();
		db.ExecuteSQL( strSQL );
		db.Close();
	}
	catch ( CDBException *e )
	{
		e->ReportError();
		e->Delete();
		return;
	}
	AfxMessageBox( _T("借书成功") );
}

void CPropPageTransmitLendDlg::OnBnClickedButtonLock()
{
	// TODO: 在此添加控件通知处理程序代码
}

void CPropPageTransmitLendDlg::OnBnClickedButtonReturn()
{
	CWnd *pParent = GetParent();
	ASSERT( pParent != NULL );
	static_cast<CPropertySheet*>(pParent)->PressButton( PSBTN_CANCEL );
}

void CPropPageTransmitLendDlg::OnBnClickedButtonExit()
{
	CWnd *pParent = GetParent();
	ASSERT( pParent != NULL );
	CWnd *pParentParent = pParent->GetParent();
	static_cast<CPropertySheet*>(pParent)->PressButton( PSBTN_CANCEL );
	if (pParentParent != NULL)
	{
		pParentParent->PostMessage( WM_CLOSE, 0, 0L );
	}
}

⌨️ 快捷键说明

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