📄 readerdlg.cpp
字号:
// ReaderDlg.cpp : implementation file
//
#include "stdafx.h"
#include "library.h"
#include "ReaderDlg.h"
#include "ReadSet.h"
#include "BookLoanSet.h"
#include "BookLibSet.h"
#include "BookingSet.h"
#include "NewReaderDlg.h"
#include "ModifyReaderDlg.h"
#include "SearchResultDlg.h"
#include "time.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CReaderDlg dialog
CReadSet m_readerlogin;
CBookLoanSet m_bookloan;
CBookingSet m_bookinged;
CBookLibSet m_books;
int flag_status;
int number;
CString bookid="";
CReaderDlg::CReaderDlg(CWnd* pParent /*=NULL*/)
: CDialog(CReaderDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CReaderDlg)
m_email = _T("");
m_grade = _T("");
m_majorname = _T("");
m_message = _T("");
m_major = _T("");
m_password = _T("");
m_readerid = _T("");
m_status = _T("");
m_time = _T("");
m_readerid_text = _T("");
m_content = _T("");
//}}AFX_DATA_INIT
}
void CReaderDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CReaderDlg)
DDX_Control(pDX, IDC_COMBO_SearchType, m_searchtype);
DDX_Text(pDX, IDC_Email, m_email);
DDX_Text(pDX, IDC_Grade, m_grade);
DDX_Text(pDX, IDC_Major, m_majorname);
DDX_Text(pDX, IDC_MESSAGE, m_message);
DDX_Control(pDX, IDC_MSFLEXGRID1, m_grid_loan);
DDX_Control(pDX, IDC_MSFLEXGRID2, m_grid_booking);
DDX_Text(pDX, IDC_PWD_MAJOR, m_major);
DDX_Text(pDX, IDC_Password, m_password);
DDX_Text(pDX, IDC_READERID, m_readerid);
DDX_Text(pDX, IDC_STATUS, m_status);
DDX_Text(pDX, IDC_Time, m_time);
DDX_Text(pDX, IDC_readerid_text, m_readerid_text);
DDX_Text(pDX, IDC_Content, m_content);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CReaderDlg, CDialog)
//{{AFX_MSG_MAP(CReaderDlg)
ON_BN_CLICKED(IDC_SUBMIT, OnSubmit)
ON_BN_CLICKED(IDC_RESET, OnReset)
ON_BN_CLICKED(IDC_New, OnNew)
ON_BN_CLICKED(IDC_Cancel_Booking, OnCancelBooking)
ON_CBN_SELCHANGE(IDC_COMBO_SearchType, OnSelchangeCOMBOSearchType)
ON_BN_CLICKED(IDC_Modify, OnModify)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CReaderDlg message handlers
BOOL CReaderDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
GetDlgItem(IDC_COMBO_SearchType)->EnableWindow(false);
GetDlgItem(IDC_Content)->EnableWindow(false);
GetDlgItem(IDC_Modify)->EnableWindow(false);
GetDlgItem(IDC_MSFLEXGRID1)->EnableWindow(false);
GetDlgItem(IDC_MSFLEXGRID2)->EnableWindow(false);
GetDlgItem(IDC_Cancel_Booking)->EnableWindow(false);
GetDlgItem(IDC_READERID)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_Password)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_Major)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_Grade)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATUS)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_Email)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_readerid_text)->ShowWindow(SW_HIDE);
m_message="你尚未登陆!";
m_major="密码:";
time_t now;
now=time(0);
struct tm *pnow;
pnow=localtime(&now);
CString str;
str.Format(_T("%04d-%02d-%02d"),pnow->tm_year+1900,pnow->tm_mon+1,pnow->tm_mday);
m_time=str;
//grid initiate
//grid 初始化
m_grid_loan.SetCols(8);
m_grid_loan.SetRows(10);
m_grid_loan.SetColWidth(-1,1100);
m_grid_booking.SetCols(8);
m_grid_booking.SetRows(10);
m_grid_booking.SetColWidth(-1,1500);
//借阅
m_grid_loan.SetRow(0);
m_grid_loan.SetCol(0);
m_grid_loan.SetText("编号");
m_grid_loan.SetCol(1);
m_grid_loan.SetText("书目号");
m_grid_loan.SetCol(2);
m_grid_loan.SetText("书名");
m_grid_loan.SetCol(3);
m_grid_loan.SetText("借阅日期");
m_grid_loan.SetCol(4);
m_grid_loan.SetText("应还日期");
m_grid_loan.SetCol(5);
m_grid_loan.SetText("状态");
//预约
m_grid_booking.SetRow(0);
m_grid_booking.SetCol(0);
m_grid_booking.SetText("编号");
m_grid_booking.SetCol(1);
m_grid_booking.SetText("书目号");
m_grid_booking.SetCol(2);
m_grid_booking.SetText("书名");
m_grid_booking.SetCol(3);
m_grid_booking.SetText("预约日期");
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CReaderDlg::OnSubmit()
{
// TODO: Add your control notification handler code here
// if(m_readerlogin.IsOpen())
// ASSERT(FALSE);
// try
// {
m_readerlogin.Open();
// }
// catch(CDBException *e)
// {
// AfxMessageBox(e->m_strError);
// }
UpdateData();
flag_status=1;
m_readerlogin.Close();
m_readerlogin.m_strFilter="ReaderId='"+m_readerid+"' AND "+"Readerpassword='"+m_password+"'";
m_readerlogin.Open();
int Rcount=m_readerlogin.GetRecordCount();
if(Rcount==0)
{
MessageBox("登录失败,请重新登录");
m_readerid="";
m_password="";
UpdateData(false);
m_readerlogin.Close();
}
else
{
if(m_readerlogin.m_lever==0)
{
MessageBox("抱歉,你现在还是受限用户,请等待管理员核实登记后再登陆!");
m_readerid="";
m_password="";
UpdateData(false);
m_readerlogin.Close();
}
else
{
GetDlgItem(IDC_COMBO_SearchType)->EnableWindow();
GetDlgItem(IDC_Content)->EnableWindow();
GetDlgItem(IDC_Modify)->EnableWindow();
GetDlgItem(IDC_MSFLEXGRID1)->EnableWindow();
GetDlgItem(IDC_MSFLEXGRID2)->EnableWindow();
GetDlgItem(IDC_Cancel_Booking)->EnableWindow();
GetDlgItem(IDC_READERID)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_Password)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_Grade)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATUS)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_Email)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_SUBMIT)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_RESET)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_New)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_Major)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_readerid_text)->ShowWindow(SW_SHOW);
m_message=m_readerlogin.m_Readername;
m_message+="同学,欢迎你!";
m_readerid_text=m_readerlogin.m_ReaderId;
m_major="专业:";
if(m_readerlogin.m_Readermajor=="")
m_majorname="未填";
else m_majorname=m_readerlogin.m_Readermajor;
if(m_readerlogin.m_Email=="")
m_email="Email: 未填";
else m_email="Email: "+m_readerlogin.m_Email;
if(m_readerlogin.m_Readergrade=="")
m_grade="年级: 未填";
else m_grade="年级: "+m_readerlogin.m_Readergrade;
UpdateData(false);
m_readerlogin.Close();
// 借阅书目
m_bookloan.Open();
UpdateData(true);
m_bookloan.Close();
m_bookloan.m_strFilter="ReaderId_loan='"+m_readerid+"'";
m_bookloan.Open();
CString status="正常";
int iRow=1;
int count=m_bookloan.GetRecordCount();
CString str;
str.Format("%d",count);
if(count!=0)
{
m_bookloan.MoveFirst();
while(!m_bookloan.IsEOF())
{
CString str1;
str.Format("记录%d",iRow);
m_grid_loan.SetRow(iRow);m_grid_loan.SetCol(0);
m_grid_loan.SetText(str);
m_grid_loan.SetCol(1);
m_grid_loan.SetText(m_bookloan.m_Bookid_loan);
m_grid_loan.SetCol(2);
m_grid_loan.SetText(m_bookloan.m_Bookname_loan);
m_grid_loan.SetCol(3);
str1.Format(_T("%04d-%02d-%02d"),m_bookloan.m_Loandate.GetYear(),m_bookloan.m_Loandate.GetMonth(),m_bookloan.m_Loandate.GetDay());
m_grid_loan.SetText(str1);
m_grid_loan.SetCol(4);
str1.Format(_T("%04d-%02d-%02d"),m_bookloan.m_Backdate.GetYear(),m_bookloan.m_Backdate.GetMonth(),m_bookloan.m_Backdate.GetDay());
m_grid_loan.SetText(str1);
m_grid_loan.SetCol(5);
CTime now;
now=time(0);
if(now>m_bookloan.m_Backdate)
{
status="超期";flag_status=0;}
else status="正常";
m_grid_loan.SetText(status);
iRow++;
m_bookloan.MoveNext();
}
}
if(flag_status==1) status="正常";
else status="超期";
m_status="状态:"+status;
UpdateData(false);
m_bookloan.Close();
//预约
m_bookinged.Open();
UpdateData(true);
m_bookinged.Close();
m_bookinged.m_strFilter="ReaderId_booking='"+m_readerlogin.m_ReaderId+"'";
m_bookinged.Open();
count=m_bookinged.GetRecordCount();
if(count!=0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -