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

📄 modifyb.cpp

📁 实现一个图书馆管理系统
💻 CPP
字号:
// Modifyb.cpp : implementation file
//

#include "stdafx.h"
#include "library.h"
#include "Modifyb.h"
#include "BookSet.h"

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

/////////////////////////////////////////////////////////////////////////////
// CModifyb dialog
extern CDatabase db;

CModifyb::CModifyb(CWnd* pParent /*=NULL*/)
	: CDialog(CModifyb::IDD, pParent)
{
	//{{AFX_DATA_INIT(CModifyb)
	m_year = _T("");
	m_publish = _T("");
	m_no = _T("");
	m_name = _T("");
	m_month = _T("");
	m_day = _T("");
	m_author = _T("");
	//}}AFX_DATA_INIT
}


void CModifyb::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CModifyb)
	DDX_Control(pDX, IDC_COMBO, m_state);
	DDX_Text(pDX, IDC_EDIT_BMY, m_year);
	DDV_MaxChars(pDX, m_year, 4);
	DDX_Text(pDX, IDC_EDIT_BMPUBLISH, m_publish);
	DDV_MaxChars(pDX, m_publish, 40);
	DDX_Text(pDX, IDC_EDIT_BMNO, m_no);
	DDV_MaxChars(pDX, m_no, 10);
	DDX_Text(pDX, IDC_EDIT_BMNAME, m_name);
	DDV_MaxChars(pDX, m_name, 40);
	DDX_Text(pDX, IDC_EDIT_BMM, m_month);
	DDV_MaxChars(pDX, m_month, 2);
	DDX_Text(pDX, IDC_EDIT_BMD, m_day);
	DDV_MaxChars(pDX, m_day, 2);
	DDX_Text(pDX, IDC_EDIT_BMAUTHOR, m_author);
	DDV_MaxChars(pDX, m_author, 40);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CModifyb, CDialog)
	//{{AFX_MSG_MAP(CModifyb)
	ON_WM_CANCELMODE()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CModifyb message handlers

void CModifyb::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData();
	CBookSet *book=new CBookSet(&db);
	book->Open();
	if(m_author.IsEmpty() || m_day.IsEmpty() ||m_month.IsEmpty()||m_name.IsEmpty()||m_no.IsEmpty()||m_publish.IsEmpty()||m_year.IsEmpty())
	{
		MessageBox("各项记录不能为空!");
		return;
	}
	book->MoveFirst();
	book->m_BookNo.TrimRight();
	if(temp!=book->m_BookNo)
	{
		book->MoveNext();
		book->m_BookNo.TrimRight();
		while(!book->IsEOF() && temp!=book->m_BookNo)
		{
			book->MoveNext();
			book->m_BookNo.TrimRight();
		}		
	}
	book->Edit();
	book->m_Author=m_author;
	book->m_BookNo=m_no;
	book->m_Name=m_name;
	book->m_PublishingHouse=m_publish;
	CString date;
	if(m_month.GetLength()==1)
		m_month="0"+m_month;
	if(m_day.GetLength()==1)
		m_day="0"+m_day;
	if(m_year.GetLength()<4)
	{
		MessageBox("出版年月填写错误!");
		return;
	}
	date=m_year+"/"+m_month+"/"+m_day;
	book->m_PublishingDate=date;
	int index=m_state.GetCurSel();
	if(index==0)	book->m_State="丢失";
	else if(index==1)	book->m_State="借出";
	else	book->m_State="在馆";
	book->Update();
	book->Close();
	pview->RefreshBookList();
	MessageBox("修改成功!");
	CDialog::OnOK();
}

BOOL CModifyb::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	int row=pview->m_bookmanage.GetSelectionMark();
	CString num;
	num=pview->m_bookmanage.GetItemText(row,0);
	CBookSet *book=new CBookSet(&db);
	book->Open();
	book->MoveFirst();
	book->m_BookNo.TrimRight();
	if(num!=book->m_BookNo)
	{
		book->MoveNext();
		book->m_BookNo.TrimRight();
		while(!book->IsEOF() && num!=book->m_BookNo)
		{
			book->MoveNext();
			book->m_BookNo.TrimRight();
		}		
	}
	temp=book->m_BookNo;
	m_name=book->m_Name;
	m_author=book->m_Author;
	m_no=book->m_BookNo;
	m_publish=book->m_PublishingHouse;
	CString m_y,m_m,m_d;
	m_y=book->m_PublishingDate.Left(4);
	m_m=book->m_PublishingDate.Mid(5,2);
	m_d=book->m_PublishingDate.Mid(8,2);
	m_month=m_m;
	m_year=m_y;
	m_day=m_d;
	book->m_State.TrimRight();
	int comboindex;
	if(book->m_State=="在馆")
		comboindex=2;
	else if(book->m_State=="借出")
		comboindex=1;
		else	comboindex=0;
		m_state.SetCurSel(comboindex);
	UpdateData(FALSE);
	book->Close();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CModifyb::OnCancelMode() 
{
	CDialog::OnCancelMode();
	
	// TODO: Add your message handler code here
	
}

⌨️ 快捷键说明

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