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

📄 inquirebookdlg.cpp

📁 简单的图书管理系统
💻 CPP
字号:
// InquireBookDlg.cpp : implementation file
//

#include "stdafx.h"
#include "book.h"
#include "InquireBookDlg.h"

#include "ReaderDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CInquireBookDlg dialog


CInquireBookDlg::CInquireBookDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CInquireBookDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CInquireBookDlg)
	m_pIBook = _T("");
	//}}AFX_DATA_INIT
}


void CInquireBookDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CInquireBookDlg)
	DDX_Control(pDX, IDC_LISTIBook, m_ListIBook);
	DDX_Control(pDX, IDC_KBook, m_KBook);
	DDX_Text(pDX, IDC_IBook, m_pIBook);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CInquireBookDlg, CDialog)
	//{{AFX_MSG_MAP(CInquireBookDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CInquireBookDlg message handlers

/*函数功能:输入某些知道的书籍信息,在书籍数据库中查找,如果存在该信息
就将信息输出到对话框。如果不存在,则提示用户该图书馆没有此图书*/
void CInquireBookDlg::OnOK() 
{
	// TODO: Add extra validation here
	CString m_Data;					//作为从选择框中得到的数据的临时变量
	BOOL flag=0;					//作为判断是否输入用户名和密码的标志,用来看是否关闭对话框
	BOOL sign=0;					//作为判断是否有该用户的标志
	int m_num=0;

	this->UpdateData();				//得到对话框中的数据

	m_ListIBook.DeleteAllItems();

	if(m_pIBook == "")				//判断是否输入内容,如果没有输出提示
	{
		::AfxMessageBox("输入内容为空");
		flag=1;
	}

	m_pBookSet.Open();				//打开书籍记录数据库

	if(flag==0)
		m_KBook.GetLBText(m_KBook.GetCurSel(),m_Data);	//将选择框中的数据读出并放入临时寄存器

	if(m_Data=="书名"&&flag==0)		//如果找到,输出
	{
		while(!m_pBookSet.IsEOF())	//是否指向末尾
		{
			if(m_pBookSet.m_BookName == m_pIBook)	//有相同的图书
			{
				CString  m_str;
				m_str = m_pBookSet.m_BookName;
				m_str.Remove(' ');						//移除空格
				m_ListIBook.InsertItem(m_num,m_str,0);	//输出书名
				m_str.Format("%d",m_pBookSet.m_Book_ID);//将整数转为字符型
				m_ListIBook.SetItemText(m_num,1,m_str);	//输出书号
				m_str = m_pBookSet.m_Author;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,2,m_str);	//输出作者
				m_str = m_pBookSet.m_Class;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,3,m_str);	//输出类型
				m_str = m_pBookSet.m_Publisher;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,4,m_str);	//输出出版社
				m_str = m_pBookSet.m_Publisher_date;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,5,m_str);	//输出出版日期
				m_str = m_pBookSet.m_Prize;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,6,m_str);	//输出价格
				m_str.Format("%d",m_pBookSet.m_Number);
				m_ListIBook.SetItemText(m_num,7,m_str);	//输出数量
				m_str = m_pBookSet.m_Place;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,8,m_str);	//输出馆内位置
				m_num++;
				sign=1;				//找到图书,标志置一
				break;				//退出循环
			}
			else					//该本书不是要找的图书
			{
				m_pBookSet.MoveNext();	//指向下一个
				sign=0;					//没有找到
			}
		}
	}
	if(m_Data=="作者"&&flag==0)		//查询书籍作者,找到后回传数据
	{
		while(!m_pBookSet.IsEOF())	//是否指向末位
		{
			if(m_pBookSet.m_Author == m_pIBook)	//如果作者名相同
			{
				CString  m_str;
				m_str = m_pBookSet.m_BookName;
				m_str.Remove(' ');				//移除空格
				m_ListIBook.InsertItem(m_num,m_str,0);	//输出书名
				m_str.Format("%d",m_pBookSet.m_Book_ID);
				m_ListIBook.SetItemText(m_num,1,m_str);	//输出书号
				m_str = m_pBookSet.m_Author;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,2,m_str);	//输出作者
				m_str = m_pBookSet.m_Class;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,3,m_str);	//输出类别
				m_str = m_pBookSet.m_Publisher;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,4,m_str);	//输出出版社
				m_str = m_pBookSet.m_Publisher_date;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,5,m_str);	//输出出版日期
				m_str = m_pBookSet.m_Prize;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,6,m_str);	//输出价格
				m_str.Format("%d",m_pBookSet.m_Number);
				m_ListIBook.SetItemText(m_num,7,m_str);	//输出数量
				m_str = m_pBookSet.m_Place;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,8,m_str);	//输出在馆内位置
				m_num++;								//行数加一
				sign=1;									//完成操作
				break;									//结束循环
			}
			else						//不相同
			{
				m_pBookSet.MoveNext();	//数据指向下一个
				sign=0;					//没有该编号
			}
		}
	}
	if(m_Data=="出版社"&&flag==0)	//查询出版社
	{
		while(!m_pBookSet.IsEOF())					//是否指向结尾
		{
			if(m_pBookSet.m_Publisher == m_pIBook)	//是该出版社
			{
				CString  m_str;
				m_str = m_pBookSet.m_BookName;
				m_str.Remove(' ');
				m_ListIBook.InsertItem(m_num,m_str,0);		//书名
				m_str.Format("%d",m_pBookSet.m_Book_ID);
				m_ListIBook.SetItemText(m_num,1,m_str);		//书号
				m_str = m_pBookSet.m_Author;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,2,m_str);		//作者
				m_str = m_pBookSet.m_Class;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,3,m_str);		//类别
				m_str = m_pBookSet.m_Publisher;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,4,m_str);		//出版社
				m_str = m_pBookSet.m_Publisher_date;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,5,m_str);		//出版日期
				m_str = m_pBookSet.m_Prize;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,6,m_str);		//价钱
				m_str.Format("%d",m_pBookSet.m_Number);
				m_ListIBook.SetItemText(m_num,7,m_str);		//数量
				m_str = m_pBookSet.m_Place;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,8,m_str);		//在馆内的位置
				m_num++;									//行数
				sign=1;
				break;										//退出
			}
			else
			{
				m_pBookSet.MoveNext();						//找下一个数据
				sign=0;
			}
		}
	}
	if(m_Data=="类别"&&flag==0)		//查询类别
	{
		while(!m_pBookSet.IsEOF())
		{
			if(m_pBookSet.m_Class == m_pIBook)
			{
				CString  m_str;
				m_str = m_pBookSet.m_BookName;
				m_str.Remove(' ');
				m_ListIBook.InsertItem(m_num,m_str,0);		//书名
				m_str.Format("%d",m_pBookSet.m_Book_ID);
				m_ListIBook.SetItemText(m_num,1,m_str);		//书号
				m_str = m_pBookSet.m_Author;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,2,m_str);		//作者
				m_str = m_pBookSet.m_Class;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,3,m_str);		//类别
				m_str = m_pBookSet.m_Publisher;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,4,m_str);		//出版社
				m_str = m_pBookSet.m_Publisher_date;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,5,m_str);		//出版日期
				m_str = m_pBookSet.m_Prize;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,6,m_str);		//价格
				m_str.Format("%d",m_pBookSet.m_Number);
				m_ListIBook.SetItemText(m_num,7,m_str);		//数量
				m_str = m_pBookSet.m_Place;
				m_str.Remove(' ');
				m_ListIBook.SetItemText(m_num,8,m_str);		//在馆内位置
				m_num++;
				sign=1;
				break;
			}
			else
			{
				m_pBookSet.MoveNext();		//找下一个数据
				sign=0;
			}
		}
	}
	if(sign==0&&flag==0)			//查找的类型中,没有与输入的内容相同的资料
		::AfxMessageBox("没有找到该信息");
	m_pBookSet.Close();				//关闭书籍记录数据库
}

/*函数功能:初始化表格*/
BOOL CInquireBookDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	int j;
	m_ListIBook.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	m_ListIBook.InsertColumn(0,_T("书名"),LVCFMT_IMAGE|LVCFMT_LEFT);
	m_ListIBook.InsertColumn(1,_T("编号"));
	m_ListIBook.InsertColumn(2,_T("作者"));
	m_ListIBook.InsertColumn(3,_T("类别"));
	m_ListIBook.InsertColumn(4,_T("出版社"));
	m_ListIBook.InsertColumn(5,_T("出版日期"));
	m_ListIBook.InsertColumn(6,_T("价钱"));
	m_ListIBook.InsertColumn(7,_T("数量"));
	m_ListIBook.InsertColumn(8,_T("在馆内位置"));
	for(j=0;j<8;j++)								//建立表格
	{
	  m_ListIBook.SetColumnWidth(j ,70);
	}
	
	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 + -