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

📄 proppagesearchbookdlg.cpp

📁 用Visual c++.net开发的图书管理系统
💻 CPP
字号:
// PropPageSearchBookDlg.cpp : 实现文件
//

#include "stdafx.h"
#include "myBook.h"
#include "PropPageSearchBookDlg.h"
#include ".\proppagesearchbookdlg.h"
#include "booklistdlg.h"


// CPropPageSearchBookDlg 对话框

IMPLEMENT_DYNAMIC(CPropPageSearchBookDlg, CPropertyPage)
CPropPageSearchBookDlg::CPropPageSearchBookDlg()
	: CPropertyPage(CPropPageSearchBookDlg::IDD)
{
	for (int nIndex = 0; nIndex < 4; ++nIndex)
	{
		m_saValue[0] = _T("");
	}
}

CPropPageSearchBookDlg::~CPropPageSearchBookDlg()
{
}

void CPropPageSearchBookDlg::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	DDX_Text(pDX, IDC_EDIT1, m_saValue[0]);
	DDX_Text(pDX, IDC_EDIT2, m_saValue[1]);
	DDX_Text(pDX, IDC_EDIT3, m_saValue[2]);
	DDX_Text(pDX, IDC_EDIT4, m_saValue[3]);
}


BEGIN_MESSAGE_MAP(CPropPageSearchBookDlg, CPropertyPage)
	ON_BN_CLICKED(IDC_BUTTON_SEARCH, OnBnClickedButtonSearch)
	ON_BN_CLICKED(IDC_BUTTON_RETURN, OnBnClickedButtonReturn)
	ON_BN_CLICKED(IDC_BUTTON_EXIT, OnBnClickedButtonExit)
	ON_BN_CLICKED(IDC_BUTTON_CLEAR, OnBnClickedButtonClear)
END_MESSAGE_MAP()


// CPropPageSearchBookDlg 消息处理程序

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

	for ( int nIndex = 0; nIndex < sizeof(g_arrIDArray)/sizeof(g_arrIDArray[0]); ++nIndex )
	{
		static_cast<CComboBox*>( GetDlgItem( g_arrIDArray[nIndex] ) )->SetCurSel( 0 );
	}
	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 CPropPageSearchBookDlg::OnBnClickedButtonSearch()
{
	UpdateData( TRUE );

	CString strSQL;
	CString strMatch = _T("1=1");

	if ( ! m_saValue[0].IsEmpty() )
	{
		strSQL.Format( _T(" AND %s LIKE '%%%s%%'"), g_saText[0], m_saValue[0] );
		strMatch += strSQL;
	}
	if ( ! m_saValue[1].IsEmpty() )
	{
		strSQL.Format( _T(" AND %s LIKE '%%%s%%'"), g_saText[1], m_saValue[1] );
		strMatch += strSQL;
	}
	if ( ! m_saValue[2].IsEmpty() )
	{
		strSQL.Format( _T(" AND %s = '%s'"), g_saText[2], m_saValue[2] );
		strMatch += strSQL;
	}
	if ( ! m_saValue[3].IsEmpty() )
	{
		strSQL.Format( _T(" AND %s = %s"), g_saText[3], m_saValue[3] );
		strMatch += strSQL;
	}

	strSQL.Format( _T("SELECT BookID, BookName, BookPublisher, BookStatus FROM my_Book WHERE %s"), strMatch );
	TRACE0( strSQL );
	try
	{
		CDatabase db;
		db.OpenEx(_T("DSN=myLib;UID=sa;PWD='';"), CDatabase::noOdbcDialog);
		CRecordset rset(&db);
		rset.Open(CRecordset::dynaset,strSQL);
		CBookListDlg dlg;
		dlg.SetRecordSet( &rset );
		dlg.DoModal();
		rset.Close();
		db.Close();
	}
	catch ( CDBException *e )
	{
		e->ReportError();
		e->Delete();
	}
}

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

void CPropPageSearchBookDlg::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 );
	}
}

void CPropPageSearchBookDlg::OnBnClickedButtonClear()
{
	for (int nIndex = 0; nIndex < 4; ++nIndex)
	{
		m_saValue[0] = _T("");
	}
	for ( int nIndex = 0; nIndex < sizeof(g_arrIDArray)/sizeof(g_arrIDArray[0]); ++nIndex )
	{
		static_cast<CComboBox*>( GetDlgItem( g_arrIDArray[nIndex] ) )->SetCurSel( 0 );
	}
	UpdateData( FALSE );
}

⌨️ 快捷键说明

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