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

📄 libraryview.cpp

📁 图书借阅管理 图书借阅管理
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		// 滚动到下一条记录
		m_BookInfoSet.MoveNext();

		// 防止越界
		if (m_BookInfoSet.IsEOF() == TRUE)
			m_BookInfoSet.MoveLast();
		if (m_BookInfoSet.IsBOF() == TRUE)
			m_BookInfoSet.SetFieldNull(NULL);
	}
}

BOOL CLibraryView::OnMove(UINT nIDMoveCommand) 
{
	if (m_bAdding == TRUE)
	{
		// 变量复位
		m_bAdding = FALSE;

		// 将数据写入记录集
		SetNewValue();
	}
	else
	{
		// 先移动记录集
		BOOL ret = CRecordView::OnMove(nIDMoveCommand);

		// 显示记录集内容
		ShowSetData();

		return ret;
	}
}

void CLibraryView::ShowSetData()
{
	// 关闭书目信息表
	if (m_BookInfoSet.IsOpen() == TRUE)
		m_BookInfoSet.Close();
	
	// 设置对应的书目信息记录
	m_BookInfoSet.m_strFilter.Format("图书ID = %d", m_pSet->m_BookInfoID);

	// 打开书目信息表
	m_BookInfoSet.Open();

	// 书名
	m_sBookName = m_BookInfoSet.m_BookName;
	
	// 作者
	m_sWriterName = m_BookInfoSet.m_Writer;

	// 书号
	m_sISBN = m_BookInfoSet.m_ISBN;

	// 出版社
	m_sPublishing = m_BookInfoSet.m_PublishingHouse;

	// 出版日期
	m_olePublishDate.SetDate(m_BookInfoSet.m_PublisDate.GetYear(), m_BookInfoSet.m_PublisDate.GetMonth(), m_BookInfoSet.m_PublisDate.GetDay());

	// 定价
	m_sPrice = m_BookInfoSet.m_Price;

	// 入库时间
	m_oleBuyDate.SetDate(m_pSet->m_BuyDate.GetYear(), m_pSet->m_BuyDate.GetMonth(), m_pSet->m_BuyDate.GetDay());

	// 关闭书目信息记录集
	m_BookInfoSet.Close();

	// 关闭借书卡信息表
	if (m_BorrowerCardSet.IsOpen() == TRUE)
		m_BorrowerCardSet.Close();
	
	// 设置对应的书目信息记录
	m_BorrowerCardSet.m_strFilter.Format("借书卡ID = %d", m_pSet->m_BorrowCardID);

	// 打开书目信息表
	m_BorrowerCardSet.Open();

	// 卡号
	m_nBorrowCardNum = m_BorrowerCardSet.m_CardNum;
	
	// 签发日期
	m_oleSignDate.SetDate(m_BorrowerCardSet.m_SignDate.GetYear(), m_BorrowerCardSet.m_SignDate.GetMonth(), m_BorrowerCardSet.m_SignDate.GetDay());

	// 姓名
	m_sReaderName = m_BorrowerCardSet.m_CardHolder;

	// 电话
	m_nReaderPhone = m_BorrowerCardSet.m_CardHolderPhone;

	// 住址
	m_sReaderAddr = m_BorrowerCardSet.m_CardHolderAddr;

	// 关闭借书卡信息记录集
	m_BorrowerCardSet.Close();

	// 关闭借书卡信息表
	if (m_ProviderSet.IsOpen() == TRUE)
		m_ProviderSet.Close();
	
	// 设置对应的书目信息记录
	m_ProviderSet.m_strFilter.Format("供应商ID = %d", m_pSet->m_PrividerID);

	// 打开书目信息表
	m_ProviderSet.Open();

	// 供应商
	m_sPrivider = m_ProviderSet.m_ProviderName;

	// 联系人
	m_sLinkMan = m_ProviderSet.m_LinkMan;

	// 联系电话
	m_nPrividerPhone = m_ProviderSet.m_Phone;

	// 联系地址
	m_sPrividerAddr = m_ProviderSet.m_Address;

	// 关闭供应商信息记录集
	m_BorrowerCardSet.Close();

	// 更新显示
	UpdateData(FALSE);
}

void CLibraryView::SetNullValue()
{
	// 书名
	m_sBookName = "";
	
	// 作者
	m_sWriterName = "";

	// 书号
	m_sISBN = "";

	// 出版社
	m_sPublishing = "";

	// 出版日期
	m_olePublishDate = COleDateTime::GetCurrentTime();

	// 定价
	m_sPrice = "";

	// 入库时间
	m_oleBuyDate = COleDateTime::GetCurrentTime();

	// 卡号
	m_nBorrowCardNum = 0;
		
	// 签发日期
	m_oleSignDate = COleDateTime::GetCurrentTime();

	// 姓名
	m_sReaderName = "";

	// 电话
	m_nReaderPhone = 0;

	// 住址
	m_sReaderAddr = "";

	// 供应商
	m_sPrivider = "";

	// 联系人
	m_sLinkMan = "";

	// 联系电话
	m_nPrividerPhone = 0;

	// 联系地址
	m_sPrividerAddr = "";
}

void CLibraryView::SetNewValue()
{
	// 更新数据
	UpdateData(TRUE);

	// 将时间写入记录集
	int year = m_oleBuyDate.GetYear();
	int month = m_oleBuyDate.GetMonth();
	int day = m_oleBuyDate.GetDay();
	m_pSet->m_BuyDate = CTime(year, month, day, 0, 0, 0);

	// 更新数据
	if (m_pSet->CanUpdate() == TRUE)
		m_pSet->Update();

	// 刷新记录
	if (m_pSet->CanRestart() == TRUE)
		m_pSet->Requery();

	// 更新显示
	UpdateData(FALSE);
}

void CLibraryView::OnKillfocusBookname() 
{
	// 更新数据
	UpdateData(TRUE);

	// 关闭书目信息表
	if (m_BookInfoSet.IsOpen() == TRUE)
		m_BookInfoSet.Close();
	
	// 设置对应的书目信息记录
	m_BookInfoSet.m_strFilter = "书名 = '" + m_sBookName + "'";

	// 打开书目信息表
	m_BookInfoSet.Open();

	// 设置对应的书目信息索引
	if (m_BookInfoSet.GetRecordCount() > 0)
	{
		// 书目信息索引
		m_pSet->m_BookInfoID = m_BookInfoSet.m_BookInfoID;

		// 书名
		m_sBookName = m_BookInfoSet.m_BookName;
		
		// 作者
		m_sWriterName = m_BookInfoSet.m_Writer;

		// 书号
		m_sISBN = m_BookInfoSet.m_ISBN;

		// 出版社
		m_sPublishing = m_BookInfoSet.m_PublishingHouse;

		// 出版日期
		m_olePublishDate.SetDate(m_BookInfoSet.m_PublisDate.GetYear(), m_BookInfoSet.m_PublisDate.GetMonth(), m_BookInfoSet.m_PublisDate.GetDay());

		// 定价
		m_sPrice = m_BookInfoSet.m_Price;
	}
	else
	{
		m_pSet->m_BookInfoID = 0;
		AfxMessageBox("没有相应书目信息,请确认书名录入是否正确!");
	}

	// 关闭书目信息记录集
	m_BookInfoSet.Close();

	// 更新数据显示
	UpdateData(FALSE);
}

void CLibraryView::OnKillfocusCardid() 
{
	// 更新数据
	UpdateData(TRUE);

	// 关闭书目信息表
	if (m_BorrowerCardSet.IsOpen() == TRUE)
		m_BorrowerCardSet.Close();
	
	// 设置对应的书目信息记录
	m_BorrowerCardSet.m_strFilter.Format("卡号 = %d", m_nBorrowCardNum);
	
	// 打开书目信息表
	m_BorrowerCardSet.Open();

	// 设置对应的书目信息索引
	if (m_BorrowerCardSet.GetRecordCount() > 0)
	{
		// 书目信息索引
		m_pSet->m_BorrowCardID = m_BorrowerCardSet.m_BorrowCardID;

		// 卡号
		m_nBorrowCardNum = m_BorrowerCardSet.m_CardNum;
		
		// 签发日期
		m_oleSignDate.SetDate(m_BorrowerCardSet.m_SignDate.GetYear(), m_BorrowerCardSet.m_SignDate.GetMonth(), m_BorrowerCardSet.m_SignDate.GetDay());

		// 姓名
		m_sReaderName = m_BorrowerCardSet.m_CardHolder;

		// 电话
		m_nReaderPhone = m_BorrowerCardSet.m_CardHolderPhone;

		// 住址
		m_sReaderAddr = m_BorrowerCardSet.m_CardHolderAddr;
	}
	else
	{
		m_pSet->m_BorrowCardID = 0;
		AfxMessageBox("没有相应读者信息,请确认借书卡录入是否正确!");
	}

	// 关闭借书卡信息记录集
	m_BorrowerCardSet.Close();

	// 更新数据显示
	UpdateData(FALSE);
}

void CLibraryView::OnKillfocusPrivider() 
{
	// 更新数据
	UpdateData(TRUE);

	// 关闭供应商信息表
	if (m_ProviderSet.IsOpen() == TRUE)
		m_ProviderSet.Close();
	
	// 设置对应的供应商信息记录
	m_ProviderSet.m_strFilter = "书店、单位名称 = '" + m_sPrivider + "'";
	
	// 打开供应商信息表
	m_ProviderSet.Open();

	// 设置对应的供应商信息索引
	if (m_ProviderSet.GetRecordCount() > 0)
	{
		// 书目信息索引
		m_pSet->m_PrividerID = m_ProviderSet.m_ProviderID;

		// 联系人
		m_sLinkMan = m_ProviderSet.m_LinkMan;

		// 联系电话
		m_nPrividerPhone = m_ProviderSet.m_Phone;

		// 联系地址
		m_sPrividerAddr = m_ProviderSet.m_Address;
	}
	else
	{
		m_pSet->m_PrividerID = 0;
		AfxMessageBox("没有相应供应商信息,请确认供应商名称录入是否正确!");
	}

	// 关闭供应商信息记录集
	m_ProviderSet.Close();

	// 更新数据显示
	UpdateData(FALSE);
}

void CLibraryView::OnInlibriry() 
{
	// 对是否在馆进行控制
	if (m_pSet->m_InLibrary == TRUE)
	{
		m_pSet->m_InLibrary = FALSE;
	}
	else
	{
		// 标记为在馆
		m_pSet->m_InLibrary = TRUE;
	
		// 借书卡信息自动同步
		m_nBorrowCardNum = 1;
		UpdateData(FALSE);
		OnKillfocusCardid();
	}
}

⌨️ 快捷键说明

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