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

📄 toutdlg.cpp

📁 图书管理系统,相对全面,ODBC学习的好材料,仅攻学习,谢绝抄袭
💻 CPP
字号:
// ToutDlg.cpp : implementation file
//

#include "stdafx.h"
#include "MyLib.h"
#include "ToutDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CToutDlg dialog


CToutDlg::CToutDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CToutDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CToutDlg)
	m_BOOKID = _T("");
	m_DATEF = 0;
	m_DATET = 0;
	m_FBOOKID = _T("");
	m_FREADERID = _T("");
	m_READERID = _T("");
	//}}AFX_DATA_INIT
}


void CToutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CToutDlg)
	DDX_Control(pDX, IDC_LIST1, m_List);
	DDX_Text(pDX, IDC_BOOKID, m_BOOKID);
	DDV_MaxChars(pDX, m_BOOKID, 20);
	DDX_DateTimeCtrl(pDX, IDC_DATEF, m_DATEF);
	DDX_DateTimeCtrl(pDX, IDC_DATET, m_DATET);
	DDX_Text(pDX, IDC_FBOOKID, m_FBOOKID);
	DDV_MaxChars(pDX, m_FBOOKID, 20);
	DDX_Text(pDX, IDC_FREADERID, m_FREADERID);
	DDV_MaxChars(pDX, m_FREADERID, 20);
	DDX_Text(pDX, IDC_READERID, m_READERID);
	DDV_MaxChars(pDX, m_READERID, 20);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CToutDlg, CDialog)
	//{{AFX_MSG_MAP(CToutDlg)
	ON_BN_CLICKED(IDC_EXIT, OnExit)
	ON_BN_CLICKED(IDC_SEARCH1, OnSearch1)
	ON_BN_CLICKED(IDC_SEARCH2, OnSearch2)
	ON_BN_CLICKED(IDC_SERCHALL, OnSerchall)
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList)
	ON_BN_CLICKED(IDC_TOFINE, OnTofine)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

BOOL CToutDlg::OnInitDialog() 
{
	flag = 1;
	CDialog::OnInitDialog();
	m_List.InsertColumn(0,"图书ID");
	m_List.InsertColumn(1,"读者ID");
	RECT rect;
	m_List.GetWindowRect(&rect);
	int wid=rect.right-rect.left;
	m_List.SetColumnWidth(0,wid/2);
	m_List.SetColumnWidth(1,wid/2);
	m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT);
	return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CToutDlg message handlers

void CToutDlg::OnExit() 
{
	if (borrowset.IsOpen())
	{
		borrowset.Close();
	}
	if (fineset.IsOpen())
	{
		fineset.Close();
	}
	CDialog::OnCancel();
}

void CToutDlg::OnSearch1() 
{
	flag = 1;
	m_List.DeleteAllItems();
	UpdateData(TRUE);
	CString sqlstr;
	sqlstr = "SELECT * FROM BORROW WHERE BOOKID='";
	sqlstr += m_FBOOKID;
	sqlstr += "'";
	if (borrowset.IsOpen())
	{
		borrowset.Close();
	}
	if (!borrowset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
	{
		MessageBox("借阅表打开失败!");
		return;
	}
	int i=0;
	CTime t = CTime::GetCurrentTime();
	while (!borrowset.IsEOF())
	{
		if ((t-borrowset.m_DATET)>=CTimeSpan(1,0,0,0))
		{
			m_List.InsertItem(i,borrowset.m_BOOKID);
			m_List.SetItemText(i,1,borrowset.m_READERID);
			i++;
		}
		borrowset.MoveNext();
	}
	UpdateData(FALSE);
	borrowset.Close();
}

void CToutDlg::OnSearch2() 
{
	flag = 2;
	m_List.DeleteAllItems();
	UpdateData(TRUE);
	CString sqlstr;
	sqlstr = "SELECT * FROM BORROW WHERE READERID='";
	sqlstr += m_FREADERID;
	sqlstr += "'";
	if (borrowset.IsOpen())
	{
		borrowset.Close();
	}
	if (!borrowset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
	{
		MessageBox("借阅表打开失败!");
		return;
	}
	int i=0;
	CTime t = CTime::GetCurrentTime();
	while (!borrowset.IsEOF())
	{
		if ((t-borrowset.m_DATET)>=CTimeSpan(1,0,0,0))
		{
			m_List.InsertItem(i,borrowset.m_BOOKID);
			m_List.SetItemText(i,1,borrowset.m_READERID);
			i++;
		}
		borrowset.MoveNext();
	}
	UpdateData(FALSE);
	borrowset.Close();
}

void CToutDlg::OnSerchall() 
{
	flag = 3;
	m_List.DeleteAllItems();
	UpdateData(TRUE);
	CString sqlstr;
	sqlstr = "SELECT * FROM BORROW";
	if (borrowset.IsOpen())
	{
		borrowset.Close();
	}
	if (!borrowset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
	{
		MessageBox("借阅表打开失败!");
		return;
	}
	int i=0;
	CTime t = CTime::GetCurrentTime();
	while (!borrowset.IsEOF())
	{
		if ((t-borrowset.m_DATET)>=CTimeSpan(1,0,0,0))
		{
			m_List.InsertItem(i,borrowset.m_BOOKID);
			m_List.SetItemText(i,1,borrowset.m_READERID);
			i++;
		}
		borrowset.MoveNext();
	}
	UpdateData(FALSE);
	borrowset.Close();	
}

void CToutDlg::OnClickList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	char BOOKID[20];
	POSITION pos = m_List.GetFirstSelectedItemPosition();
	if (pos != NULL)
	{
		int n = m_List.GetNextSelectedItem(pos);  
		m_List.GetItemText(n,0,BOOKID,20);
		if (borrowset.IsOpen())
		{
			borrowset.Close();
		}
		CString sqlstr = "SELECT * FROM BORROW WHERE BOOKID='";
		sqlstr += BOOKID;
		sqlstr += "'";
		if (!borrowset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
		{
			MessageBox("借阅表打开失败!");
			return;
		}
		m_BOOKID = borrowset.m_BOOKID;
		m_READERID = borrowset.m_READERID;
		m_DATEF = borrowset.m_DATEF;
		m_DATET = borrowset.m_DATET;
		borrowset.Close();
		UpdateData(FALSE);
	}
	*pResult = 0;
}

void CToutDlg::OnTofine() 
{
	UpdateData(TRUE);
	CString sqlstr;
	switch (flag)
	{
		case 1:  sqlstr = "SELECT * FROM BORROW WHERE BOOKID='";
			     sqlstr += m_FBOOKID;
				 sqlstr += "'";
		         break;
		case 2:  sqlstr = "SELECT * FROM BORROW WHERE READERID='";
				 sqlstr += m_FREADERID;
				 sqlstr += "'";
		         break;
        default: sqlstr = "SELECT * FROM BORROW";
		         break;
	}
	if (borrowset.IsOpen())
	{
		borrowset.Close();
	}
	if (!borrowset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
	{
		MessageBox("借阅表打开失败!");
		return;
	}
	while (!borrowset.IsEOF())
	{
		sqlstr = "SELECT * FROM FINE WHERE BOOKID='";
		sqlstr += borrowset.m_BOOKID;
		sqlstr += "' AND READERID='";
		sqlstr += borrowset.m_READERID;
		sqlstr += "'";
		if (fineset.IsOpen())
		{
			fineset.Close();
		}
		if (!fineset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
		{
			MessageBox("罚金表打开失败!");
			borrowset.Close();
			return;
		}
		bool single = false;
		while (!fineset.IsEOF())
		{
			if (fineset.m_DEAL==FALSE)
			{
				single = TRUE;
				break;
			}
			fineset.MoveNext();
		}
		fineset.Close();
		if (single==FALSE)
		{
			sqlstr = "SELECT * FROM FINE";
			if (fineset.IsOpen())
			{
				fineset.Close();
			}
			if (!fineset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
			{
				MessageBox("罚金表打开失败!");
				borrowset.Close();
				return;
			}
			fineset.AddNew();
			fineset.m_BOOKID = borrowset.m_BOOKID;
			fineset.m_READERID = borrowset.m_READERID;
			fineset.m_DATE = borrowset.m_DATET;
			fineset.Update();
			fineset.Requery();
			fineset.Close();
		}
		borrowset.MoveNext();
	}
	borrowset.Close();
}

⌨️ 快捷键说明

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