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

📄 querybasicdlg.cpp

📁 同学编写的图书馆管理系统(数据库原理大作业)
💻 CPP
字号:
// QueryBasicDlg.cpp : implementation file
//

#include "stdafx.h"
#include "LIBRARY.h"
#include "QueryBasicDlg.h"
#include "QueryAdvancedDlg.h"
#include "BookRS1.h"

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

/////////////////////////////////////////////////////////////////////////////
// CQueryBasicDlg dialog


CQueryBasicDlg::CQueryBasicDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CQueryBasicDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CQueryBasicDlg)
	m_strKeyWord = _T("");
	m_strKey = _T("");
	m_strOrder = _T("");
	//}}AFX_DATA_INIT
}


void CQueryBasicDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CQueryBasicDlg)
	DDX_Control(pDX, IDC_LIST_RESULT, m_listResult);
	DDX_Control(pDX, IDC_LIST_DETAIL, m_listDetail);
	DDX_Text(pDX, IDC_KEY_WORD, m_strKeyWord);
	DDX_CBString(pDX, IDC_SELKEY, m_strKey);
	DDX_CBString(pDX, IDC_SELORDER, m_strOrder);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CQueryBasicDlg, CDialog)
	//{{AFX_MSG_MAP(CQueryBasicDlg)
	ON_BN_CLICKED(IDC_QUERY, OnQuery)
	ON_LBN_SELCHANGE(IDC_LIST_RESULT, OnSelchangeListResult)
	ON_BN_CLICKED(IDC_ADVANCED, OnAdvanced)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CQueryBasicDlg message handlers

void CQueryBasicDlg::OnQuery() 
{
	// TODO: Add your control notification handler code here
	CString kw,odby;
	UpdateData();
	m_listResult.ResetContent();
	if (! m_bookSet.IsOpen())
		m_bookSet.Open();

	if (m_strKey=="书号") kw="bno";
	else if (m_strKey=="年份") kw="year";
	else if (m_strKey=="类别") kw="category";
	else if (m_strKey=="出版社") kw="press";
	else if (m_strKey=="作者") kw="author";
	else if (m_strKey=="价格") kw="price";
	else if (m_strKey=="总藏书量") kw="totalnum";
	else if (m_strKey=="现藏书量") kw="stockednum";
	else kw="title";
	if (m_strOrder=="升序") odby="asc";
	else odby="desc";

	m_bookSet.m_strFilter="title like '%"+m_strKeyWord+"%'";
	m_bookSet.m_strSort=kw+" "+odby;
	m_bookSet.Requery();

	if (m_bookSet.IsEOF())
	{
		AfxMessageBox("对不起,没有找到相关的书籍,请检查输入。");
		return;
	}
	
	while(! m_bookSet.IsEOF())
	{
		m_listResult.AddString(m_bookSet.m_title);
		m_bookSet.MoveNext();
	}
}


void CQueryBasicDlg::OnSelchangeListResult() 
{
	// TODO: Add your control notification handler code here
	CString Title[9];
	Title[0]="图书编号:                        ";
	Title[1]="类别:                              ";
	Title[2]="书名:                              ";
	Title[3]="出版社:                           ";
	Title[4]="出版年份:                        ";
	Title[5]="作者:                              ";
	Title[6]="价格:                              ";
	Title[7]="总藏书量:                        ";
	Title[8]="现藏数量:                        ";
	m_listDetail.ResetContent();
	int curSel;
	CString strDetail;
	CString strline;
	curSel=m_listResult.GetCurSel();
	m_bookSet.SetAbsolutePosition(curSel+1);
	for (unsigned int i=0;i<m_bookSet.m_nFields;i++)
	{
		m_bookSet.GetFieldValue(i,strDetail);
		strline.Empty();
		strline+=Title[i];
		strline+=strDetail;
		m_listDetail.AddString(strline);
	}	
	
}
	

void CQueryBasicDlg::OnAdvanced() 
{
	// TODO: Add your control notification handler code here
	CQueryBasicDlg::OnCancel();
	CQueryAdvancedDlg advancedQuery;
	advancedQuery.DoModal();
}

⌨️ 快捷键说明

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