📄 libraryview.cpp
字号:
// 滚动到下一条记录
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 + -