// LibraryView.cpp : implementation of the CLibraryView class
//
#include "stdafx.h"
#include "Library.h"
#include "LibrarySet.h"
#include "LibraryDoc.h"
#include "LibraryView.h"
#include "QueryBorrowInfo.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CLibraryView
IMPLEMENT_DYNCREATE(CLibraryView, CRecordView)
BEGIN_MESSAGE_MAP(CLibraryView, CRecordView)
//{{AFX_MSG_MAP(CLibraryView)
ON_COMMAND(ID_QUERY_BORROW, OnQueryBorrow)
ON_COMMAND(ID_INSERT_BORROW, OnInsertBorrow)
ON_COMMAND(ID_DELETE_BORROW, OnDeleteBorrow)
ON_EN_KILLFOCUS(IDC_BOOKNAME, OnKillfocusBookname)
ON_EN_KILLFOCUS(IDC_CARDID, OnKillfocusCardid)
ON_EN_KILLFOCUS(IDC_PRIVIDER, OnKillfocusPrivider)
ON_BN_CLICKED(IDC_INLIBRIRY, OnInlibriry)
ON_COMMAND(ID_UNQUERY_BORROW, OnUnqueryBorrow)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CRecordView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CLibraryView construction/destruction
CLibraryView::CLibraryView()
: CRecordView(CLibraryView::IDD)
{
//{{AFX_DATA_INIT(CLibraryView)
m_pSet = NULL;
m_sBookName = _T("");
m_sISBN = _T("");
m_sPrice = _T("");
m_sPrivider = _T("");
m_sPrividerAddr = _T("");
m_sLinkMan = _T("");
m_nBorrowCardNum = 0;
m_nPrividerPhone = 0;
m_olePublishDate = COleDateTime::GetCurrentTime();
m_sPublishing = _T("");
m_sReaderAddr = _T("");
m_sReaderName = _T("");
m_nReaderPhone = 0;
m_oleSignDate = COleDateTime::GetCurrentTime();
m_sWriterName = _T("");
m_oleBuyDate = COleDateTime::GetCurrentTime();
//}}AFX_DATA_INIT
// TODO: add construction code here
m_bAdding = FALSE;
}
CLibraryView::~CLibraryView()
{
}
void CLibraryView::DoDataExchange(CDataExchange* pDX)
{
CRecordView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CLibraryView)
DDX_Text(pDX, IDC_BOOKNAME, m_sBookName);
DDX_Text(pDX, IDC_ISBN, m_sISBN);
DDX_Text(pDX, IDC_PRICE, m_sPrice);
DDX_Text(pDX, IDC_PRIVIDER, m_sPrivider);
DDX_Text(pDX, IDC_PRIVIDERADDR, m_sPrividerAddr);
DDX_Text(pDX, IDC_LINKMAN, m_sLinkMan);
DDX_Text(pDX, IDC_CARDID, m_nBorrowCardNum);
DDX_Text(pDX, IDC_PRIVIDERPHONE, m_nPrividerPhone);
DDX_Text(pDX, IDC_PUBLISHDATE, m_olePublishDate);
DDX_Text(pDX, IDC_PUBLISHING, m_sPublishing);
DDX_Text(pDX, IDC_READERADDR, m_sReaderAddr);
DDX_Text(pDX, IDC_READERNAME, m_sReaderName);
DDX_Text(pDX, IDC_READERPHONE, m_nReaderPhone);
DDX_Text(pDX, IDC_SIGNDATE, m_oleSignDate);
DDX_Text(pDX, IDC_WRITERNAME, m_sWriterName);
DDX_FieldCheck(pDX, IDC_INLIBRIRY, m_pSet->m_InLibrary, m_pSet);
DDX_FieldText(pDX, IDC_BOOKID, m_pSet->m_LibraryBookCode, m_pSet);
DDX_Text(pDX, IDC_BUYDATE, m_oleBuyDate);
//}}AFX_DATA_MAP
}
BOOL CLibraryView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CRecordView::PreCreateWindow(cs);
}
void CLibraryView::OnInitialUpdate()
{
m_pSet = &GetDocument()->m_librarySet;
CRecordView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
// 移动到第一条记录
if (m_pSet->IsBOF() == FALSE)
m_pSet->MoveFirst();
else
m_pSet->SetFieldNull(NULL);
// 显示记录集内容
ShowSetData();
}
/////////////////////////////////////////////////////////////////////////////
// CLibraryView printing
BOOL CLibraryView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CLibraryView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CLibraryView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CLibraryView diagnostics
#ifdef _DEBUG
void CLibraryView::AssertValid() const
{
CRecordView::AssertValid();
}
void CLibraryView::Dump(CDumpContext& dc) const
{
CRecordView::Dump(dc);
}
CLibraryDoc* CLibraryView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CLibraryDoc)));
return (CLibraryDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CLibraryView database support
CRecordset* CLibraryView::OnGetRecordset()
{
return m_pSet;
}
/////////////////////////////////////////////////////////////////////////////
// CLibraryView message handlers
void CLibraryView::OnQueryBorrow()
{
CQueryBorrowInfo dlg;
if (dlg.DoModal() == IDOK)
{
// 各种查询条件
CString sBookInfoCondition = "";
CString sBorrowInfoCondition = "";
CString sBorrowCardCondition = "";
// 从书目信息表的查询
if (dlg.m_sBookName != "")
sBookInfoCondition += "书名 = '" + dlg.m_sBookName + "' AND ";
if (dlg.m_sWriter != "")
sBookInfoCondition += "作者 = '" + dlg.m_sWriter + "' AND ";
if (dlg.m_sISBN != "")
sBookInfoCondition += "书号 = '" + dlg.m_sISBN + "' AND ";
if (dlg.m_sPublishingHouse != "")
sBookInfoCondition += "出版社 = '" + dlg.m_sPublishingHouse + "' AND ";
if (dlg.m_sYear != "" && dlg.m_sCondition != "" && dlg.m_sMonth != "")
{
// 得到月份
CString sMonth;
if (dlg.m_sMonth.Left(1) == "1")
sMonth = dlg.m_sMonth.Left(2);
else
sMonth = dlg.m_sMonth.Mid(1, 1);
if (dlg.m_sCondition == "等于")
sBookInfoCondition += "出版日期 >= #" + sMonth + "/1/" + dlg.m_sYear + "# AND 出版日期 <= #" + sMonth + "/31/" + dlg.m_sYear + "# AND ";
if (dlg.m_sCondition == "大于")
sBookInfoCondition += "出版日期 > #" + sMonth + "/31/" + dlg.m_sYear + "# AND ";
if (dlg.m_sCondition == "小于")
sBookInfoCondition += "出版日期 < #" + sMonth + "/1/" + dlg.m_sYear + "# AND ";
}
sBookInfoCondition += "图书ID > 0";
if (sBookInfoCondition != "图书ID > 0")
{
// 关闭书目信息记录集
if (m_BookInfoSet.IsOpen() == TRUE)
m_BookInfoSet.Close();
// 查找指定条件的记录
m_BookInfoSet.m_strFilter = sBookInfoCondition;
// 打开记录集
m_BookInfoSet.Open();
if (m_BookInfoSet.GetRecordCount() > 0)
{
// 为借阅信息表的查询添加条件
CString sTemp;
sTemp.Format("图书ID = %d AND ", m_BookInfoSet.m_BookInfoID);
sBorrowInfoCondition += sTemp;
}
// 关闭记录集
m_BookInfoSet.Close();
}
// 从借书卡信息表进行查询
if (dlg.m_sBorrowCardNum != "")
sBorrowCardCondition += "卡号 = " + dlg.m_sBorrowCardNum + " AND ";
if (dlg.m_sBorrower != "")
sBorrowCardCondition += "持有人 = '" + dlg.m_sBorrower + "' AND ";
sBorrowCardCondition += "借书卡ID > 0";
if (sBorrowCardCondition != "借书卡ID > 0")
{
// 关闭借书卡信息记录集
if (m_BorrowerCardSet.IsOpen() == TRUE)
m_BorrowerCardSet.Close();
// 查找指定条件的记录
m_BorrowerCardSet.m_strFilter = sBorrowCardCondition;
// 打开记录集
m_BorrowerCardSet.Open();
if (m_BorrowerCardSet.GetRecordCount() > 0)
{
// 为借阅信息表的查询添加条件
CString sTemp;
sTemp.Format("借书卡ID = %d AND ", m_BorrowerCardSet.m_BorrowCardID);
sBorrowInfoCondition += sTemp;
}
// 关闭记录集
m_BorrowerCardSet.Close();
}
// 从借阅信息表进行查询
if (dlg.m_sLibraryBookID != "")
sBorrowInfoCondition += "馆藏图书编号 = '" + dlg.m_sLibraryBookID + "' AND ";
if (dlg.m_bInLibrary == 0)
sBorrowInfoCondition += "是否在库 = 0 AND ";
if (dlg.m_bInLibrary == 1)
sBorrowInfoCondition += "是否在库 = 1 AND ";
sBorrowInfoCondition += "馆藏图书ID > 0";
// 关闭数据库
if (m_pSet->IsOpen() == TRUE)
没有合适的资源?快使用搜索试试~ 我知道了~
C++实现的图书馆管理系统
共80个文件
obj:30个
h:16个
cpp:15个
需积分: 9 30 下载量 17 浏览量
2008-12-31
17:18:51
上传
评论
收藏 526KB RAR 举报
温馨提示
C++实现的图书馆管理系统 实现简单的ODBC与ACCESS
资源详情
资源评论
资源推荐
收起资源包目录
Library.rar (80个子文件)
Sample11
Library.cpp 4KB
BookInfoSet.cpp 2KB
RES
Library.rc2 399B
Library.ico 1KB
LibraryDoc.ico 1KB
Toolbar.bmp 1KB
providerview.h 2KB
StdAfx.cpp 209B
RegisterDlg.cpp 1KB
LibraryDoc.h 1KB
ProviderSet.h 1KB
Library.rc 23KB
LogoutDlg.h 1KB
Library.opt 74KB
QueryBorrowInfo.cpp 2KB
LogoutDlg.cpp 943B
QueryBookInfo.cpp 1KB
图书借阅管理数据库.mdb 292KB
LibraryView.h 3KB
ProviderSet.cpp 2KB
Library.dsw 539B
MainFrm.h 2KB
LibraryDoc.cpp 1KB
BookInfoView.cpp 6KB
BookInfoView.h 2KB
LibrarySet.cpp 2KB
QueryBookInfo.h 1KB
providerview.cpp 3KB
LibraryView.cpp 16KB
RegisterDlg.h 1KB
Debug
BorrowerCard.obj 16KB
BookInfoView.obj 45KB
Library.res 12KB
LogoutDlg.obj 10KB
VC60.PDB 364KB
Library.obj 23KB
Library.exe 180KB
ProviderView.obj 26KB
LibraryView.obj 77KB
MainFrm.obj 40KB
LibrarySet.obj 15KB
StdAfx.obj 105KB
BookInfoSet.obj 18KB
QueryBorrowInfo.obj 17KB
QueryBookInfo.obj 15KB
Library.pdb 441KB
ProviderSet.obj 16KB
LibraryDoc.obj 17KB
RegisterDlg.obj 14KB
Library.ncb 153KB
LibrarySet.h 1KB
StdAfx.h 1KB
BookInfoSet.h 1KB
Library.aps 38KB
MainFrm.cpp 8KB
Library.plg 3KB
Resource.h 3KB
Release
BorrowerCard.obj 10KB
BookInfoView.obj 27KB
Library.res 12KB
LogoutDlg.obj 8KB
Library.obj 16KB
Library.exe 64KB
ProviderView.obj 15KB
LibraryView.obj 45KB
MainFrm.obj 24KB
LibrarySet.obj 10KB
StdAfx.obj 798B
BookInfoSet.obj 11KB
QueryBorrowInfo.obj 11KB
QueryBookInfo.obj 10KB
ProviderSet.obj 10KB
LibraryDoc.obj 10KB
RegisterDlg.obj 10KB
BorrowerCard.cpp 2KB
Library.h 1KB
Library.clw 10KB
BorrowerCard.h 1KB
Library.dsp 6KB
QueryBorrowInfo.h 1KB
共 80 条
- 1
michaelxqy
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0