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

📄 inbookdlg.cpp

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

#include "stdafx.h"
#include "book.h"
#include "InBookDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CInBookDlg dialog


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


void CInBookDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CInBookDlg)
	DDX_Control(pDX, IDC_LIST1, m_ListInBook);
	DDX_Control(pDX, IDC_COMBO1, m_InBook);
	DDX_Text(pDX, IDC_EDIT1, m_Date);
	//}}AFX_DATA_MAP
}


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

/////////////////////////////////////////////////////////////////////////////
// CInBookDlg message handlers
/*函数功能:选择想知道的内容,连接数据库,得到资料输出*/
void CInBookDlg::OnOK() 
{
	// TODO: Add extra validation here
	CString m_Data;					//作为从选择框中得到的数据的临时变量
	BOOL flag=0;					//作为判断是否输入用户名和密码的标志,用来看是否关闭对话框
	BOOL sign=0;					//作为判断是否有该用户的标志
	int m_num=0;					//表的行数
	BOOL STOP=0;

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

	m_ListInBook.DeleteAllItems();	//删除表的内容

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

	m_pBookSet.Open();				//打开书籍数据库
	m_pLendSet.Open();				//打开借阅记录数据库
	m_pReaderSet.Open();			//打开读者数据库
	m_pLend2Set.Open();

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

	if(m_Data == "书号"&&flag==0)	//选择书号
	{
		while(!m_pLendSet.IsEOF())		//如果不是末尾
		{
			if(m_pLendSet.m_Book_ID == atoi(m_Date))	//如果符合
			{
				sign=0;
				CString  m_str;
				m_str.Format("%d",m_pLendSet.m_Book_ID);
				m_ListInBook.InsertItem(m_num,m_str,0);		//图书编号
				m_pBookSet.MoveFirst();	//指向开始
				while(!m_pBookSet.IsEOF())	//如果不是末尾
				{
					if(m_pLendSet.m_Book_ID == m_pBookSet.m_Book_ID)	//查找书号与之对应的书名
					{
						sign=0;
						CString s;
						s=m_pBookSet.m_BookName;
						s.Remove(' ');
						m_ListInBook.SetItemText(m_num,1,s);	//输出书号
						break;			//退出循环
					}
					else				//不是该书
					{
						m_pBookSet.MoveNext();		//数据下移
						sign=1;
					}
				}
				m_str.Format("%d",m_pLendSet.m_Reader_ID);
				m_ListInBook.SetItemText(m_num,2,m_str);		//读者编号
				m_pReaderSet.MoveFirst();	//读者数据指向开始
				while(!m_pReaderSet.IsEOF())	//如果不是末尾
				{
					if(m_pLendSet.m_Reader_ID == m_pReaderSet.m_Reader_ID)	//查找读者号与之对应的读者
					{
						sign=0;
						CString s;
						s=m_pReaderSet.m_Name;
						s.Remove(' ');
						m_ListInBook.SetItemText(m_num,3,s);	//输出姓名
						break;
					}
					else
					{
						m_pReaderSet.MoveNext();	//不是该读者数据下移
						sign=1;
					}
				}
				m_str = m_pLendSet.m_L_data;
				m_str.Remove(' ');
				m_ListInBook.SetItemText(m_num,4,m_str);		//借期
				m_str = m_pLendSet.m_B_data;
				m_str.Remove(' ');
				m_ListInBook.SetItemText(m_num,5,m_str);		//还期
				m_num++;
			}
			m_pLendSet.MoveNext();	//数据下移
		}
	}
	if(m_Data == "借阅证编号"&&flag==0)	//选择借阅者编号
	{
		while(!m_pLendSet.IsEOF())		//如果不是末尾
		{
			if(m_pLendSet.m_Reader_ID == atoi(m_Date))	//如果符合
			{
				sign=0;
				CString  m_str;
				m_str.Format("%d",m_pLendSet.m_Book_ID);
				m_ListInBook.InsertItem(m_num,m_str,0);		//图书编号
				m_pBookSet.MoveFirst();	//指向开始
				while(!m_pBookSet.IsEOF())	//如果不是末尾
				{
					if(m_pLendSet.m_Book_ID == m_pBookSet.m_Book_ID)	//查找书号与之对应的书名
					{
						sign=0;
						CString s;
						s=m_pBookSet.m_BookName;
						s.Remove(' ');
						m_ListInBook.SetItemText(m_num,1,s);	//输出书号
						break;			//退出循环
					}
					else				//不是该书
					{
						m_pBookSet.MoveNext();		//数据下移
						sign=1;
					}
				}
				m_str.Format("%d",m_pLendSet.m_Reader_ID);
				m_ListInBook.SetItemText(m_num,2,m_str);		//读者编号
				m_pReaderSet.MoveFirst();	//读者数据指向开始
				while(!m_pReaderSet.IsEOF())	//如果不是末尾
				{
					if(m_pLendSet.m_Reader_ID == m_pReaderSet.m_Reader_ID)	//查找读者号与之对应的读者
					{
						sign=0;
						CString s;
						s=m_pReaderSet.m_Name;
						s.Remove(' ');
						m_ListInBook.SetItemText(m_num,3,s);	//输出姓名
						break;
					}
					else
					{
						m_pReaderSet.MoveNext();	//不是该读者数据下移
						sign=1;
					}
				}
				m_str = m_pLendSet.m_L_data;
				m_str.Remove(' ');
				m_ListInBook.SetItemText(m_num,4,m_str);		//借期
				m_str = m_pLendSet.m_B_data;
				m_str.Remove(' ');
				m_ListInBook.SetItemText(m_num,5,m_str);		//还期
				m_num++;
			}
			m_pLendSet.MoveNext();	//数据下移
		}

	}
	if(sign==1)
		::AfxMessageBox("输入资料错误");
	m_pBookSet.Close();				//关闭书籍记录数据库
	m_pLendSet.Close();				//关闭借阅数据库
	m_pReaderSet.Close();			//关闭读者数据库
}

/*函数功能:初始化表头*/
BOOL CInBookDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	int j;
	m_ListInBook.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
	m_ListInBook.InsertColumn(0,_T("书号"),LVCFMT_IMAGE|LVCFMT_LEFT);
	m_ListInBook.InsertColumn(1,_T("书名"));
	m_ListInBook.InsertColumn(2,_T("借阅证编号"));
	m_ListInBook.InsertColumn(3,_T("借阅者姓名"));
	m_ListInBook.InsertColumn(4,_T("借阅日期"));
	m_ListInBook.InsertColumn(5,_T("应还日期"));
	for(j=0;j<6;j++)
	{
	  m_ListInBook.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 + -