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

📄 changebookdlg.cpp

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

#include "stdafx.h"
#include "book.h"
#include "ChangeBookDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CChangeBookDlg dialog


CChangeBookDlg::CChangeBookDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CChangeBookDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CChangeBookDlg)
	m_BOOKID = 0;
	m_CData = _T("");
	//}}AFX_DATA_INIT
}


void CChangeBookDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CChangeBookDlg)
	DDX_Control(pDX, IDC_COMBO1, m_ChangeBook);
	DDX_Text(pDX, IDC_BOOKID, m_BOOKID);
	DDX_Text(pDX, IDC_RData, m_CData);
	//}}AFX_DATA_MAP
}


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

/////////////////////////////////////////////////////////////////////////////
// CChangeBookDlg message handlers

/*函数功能:先找到出错的编号,再将出错的地方进行修改*/
void CChangeBookDlg::OnOK() 
{
	// TODO: Add extra validation here
	BOOL flag=0;					//如果没有输入数据
	BOOL sign=0;					//如果没有找到编号
	CString m_Data;					//作为从选择框中得到的数据的临时变量

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

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

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

	m_pBookSet.Open();				//打开图书数据库

	if(flag==0)						//对话框输入了数据
	{
		while(!m_pBookSet.IsEOF())	//数据不在结尾
		{
			if(m_pBookSet.m_Book_ID == m_BOOKID)	//如果输入编号在数据库中找到了
			{
				sign=0;				//标号置零
				if(m_Data=="名称")					//如果选择的是名称
				{
					m_pBookSet.Edit();				//选择编辑该行
					m_pBookSet.m_BookName = m_CData;//将该列的值从新覆盖
					m_pBookSet.Update();			//更新数据库,如不写,则不会更新置数据库中
				}
				if(m_Data=="价钱")					//如果选择的是价钱
				{
					m_pBookSet.Edit();				//选择编辑
					m_pBookSet.m_Prize = m_CData;	//将数据覆盖
					m_pBookSet.Update();			//更新
				}
				if(m_Data=="类别")					//如果选择的是类别
				{
					m_pBookSet.Edit();				//选择编辑
					m_pBookSet.m_Class = m_CData;	//将新输入的数据覆盖到数据库原有位置
					m_pBookSet.Update();			//更新数据库
				}
				if(m_Data=="作者")					//选择作者
				{
					m_pBookSet.Edit();				//选择编辑
					m_pBookSet.m_Author = m_CData;	//将更新数据填入原有位置
					m_pBookSet.Update();			//更新数据库
				}
				if(m_Data=="出版社")				//选择出版社
				{
					m_pBookSet.Edit();				//选择编辑
					m_pBookSet.m_Publisher = m_CData;	//将新数据写入
					m_pBookSet.Update();			//更新新数据
				}
				if(m_Data=="出版日期")				//选择出版日期
				{
					m_pBookSet.Edit();				//选择编辑
					m_pBookSet.m_Publisher_date = m_CData;	//将数据写入
					m_pBookSet.Update();			//更新数据库
				}
				if(m_Data=="数量")					//选择数量
				{
					m_pBookSet.Edit();				//数据库编辑
					m_pBookSet.m_Number = atoi(m_CData);	//将数据写入
					m_pBookSet.Update();			//更新数据库
				}
				if(m_Data=="在馆内位置")			//选择在馆内位置
				{
					m_pBookSet.Edit();				//数据库编辑
					m_pBookSet.m_Place = m_CData;	//将数据写入
					m_pBookSet.Update();			//更新数据库
				}
				::AfxMessageBox("修改完成");		//完成修改后弹出提示框
				break;								//修改完后退出循环
			}
			else									//如果编号不匹配
			{
				m_pBookSet.MoveNext();				//将数据后移一个
				sign=1;								//标志置为没有找到该数据
			}
		}
	}

	m_pBookSet.Close();			//关闭图书数据库

	if(sign==1)					//如果没有找到,弹出提示
		::AfxMessageBox("该编号错误");
	if(flag==0&&sign==0)		//如果数据输入作完了操作
		CDialog::OnOK();		//退出数据库
}

⌨️ 快捷键说明

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