资源简介
用mfc做的一个图书馆管理系统,使用的数据库是mysql,可以直接运行,要自己连接odbc,压缩文件附带使用说明,
如果你是刚入门的菜鸟,这绝对是你的最佳选择。
代码片段和文件信息
// BookBorrowDlg.cpp : implementation file
//
#include “stdafx.h“
#include “Library.h“
//以下头文件是手动添加的
#include “BookRS.h“
#include “BorrowRS.h“
#include “CardRS.h“
#include “StoreBookRS.h“
//以上头文件是手动添加的
#include “BookBorrowDlg.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBookBorrowDlg dialog
CBookBorrowDlg::CBookBorrowDlg(CWnd* pParent /*=NULL*/)
: CDialog(CBookBorrowDlg::IDD pParent)
{
//{{AFX_DATA_INIT(CBookBorrowDlg)
m_strBookNum = _T(““);
m_strCardNum = _T(““);
//}}AFX_DATA_INIT
}
void CBookBorrowDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBookBorrowDlg)
DDX_Text(pDX IDC_BOOK_NUM m_strBookNum);
DDX_Text(pDX IDC_CARD_NUM m_strCardNum);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBookBorrowDlg CDialog)
//{{AFX_MSG_MAP(CBookBorrowDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBookBorrowDlg message handlers
void CBookBorrowDlg::OnOK()
{
UpdateData();//将编辑框中的数据更新到成员变量m_strCardNum和m_strBookNum中
//如果卡号不存在,或者已经挂失、注销等,则拒绝借书
if (!IsValidCard(m_strCardNum)){
CDialog::OnOK();//调用基类CDialog的OnOK函数来关闭对话框
return;
}
//如果有书过期,或者借书总数超过12本,也返回
if (AnyBookExpired(m_strCardNum)){
CDialog::OnOK();
return;
}
//判断该书是否允许外借(是否有预约等情况)
if (!AllowedToBorrow(m_strBookNum))
{
CDialog::OnOK();
return;
}
//以上情况都没有问题,才允许外借图书
if (BorrowBook(m_strCardNumm_strBookNum)){
AfxMessageBox(“借书成功“);
}else{
AfxMessageBox(“借书失败“);
}
CDialog::OnOK();
}
bool CBookBorrowDlg::IsValidCard(const CString &cardNum){
if (!m_cardSet.IsOpen()){
m_cardSet.Open();
}
//指定查询条件Cno为用户卡号
m_cardSet.m_strFilter.Format(“Cno=%s“cardNum);
m_cardSet.Requery();
//结果集为空则表明卡号不存在
if (m_cardSet.IsEOF()){
AfxMessageBox(“该卡号不存在“);
return false;
}
if (!m_cardSet.m_flag.IsEmpty()){
//正常使用中的卡号flag字段为NULL值
AfxMessageBox(“您的卡号已经注销或挂失“);
return false;
}
//以上情况均不存在表明是正常使用中的卡号
return true;
}
bool CBookBorrowDlg::AnyBookExpired(const CString &cardNum)
{
int nBooks=0;//用来记录借书总数
if (!m_borrowSet.IsOpen()){
m_borrowSet.Open();
}
m_borrowSet.m_strFilter.Format(“cno=%s and Return_date is null“cardNum);
m_borrowSet.Requery();
CTime today=CTime::GetCurrentTime();//得到今天的日期
CTimeSpan diffDays;
while (!m_borrowSet.IsEOF()){
nBooks++;//总借书数+1
diffDays=today-m_borrowSet.m_Borrow_date;//计算今天与借书时间的间隔
//超过30天(近似一个月),则报错返回
if (diffDays.GetDays()>30){
AfxMessageBox(“您有书过期了“);
return TRUE;
}
m_borrowSet.MoveNext();
}
//借书总数不能超过12本
if (nBooks>12){
AfxMessageBox(“您借书总数超额了“);
return TRUE;
}
return FALSE;
}
bool CBookBorrowDlg::AllowedToBorrow(const CString &bookNum)
{
if (!m_storeBookSet.IsOpen()){
m_storeBookSet
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4947 2006-09-21 14:34 用ODBC方法实现图书流通管理功能案例\Library\BookBorrowDlg.cpp
文件 1744 2006-09-18 20:57 用ODBC方法实现图书流通管理功能案例\Library\BookBorrowDlg.h
文件 2552 2007-06-11 21:33 用ODBC方法实现图书流通管理功能案例\Library\BookReturnDlg.cpp
文件 1449 2006-09-21 15:34 用ODBC方法实现图书流通管理功能案例\Library\BookReturnDlg.h
文件 2238 2010-06-03 10:09 用ODBC方法实现图书流通管理功能案例\Library\BookRS.cpp
文件 1580 2006-09-16 14:55 用ODBC方法实现图书流通管理功能案例\Library\BookRS.h
文件 1341 2010-06-03 10:09 用ODBC方法实现图书流通管理功能案例\Library\BorrowRS.cpp
文件 1314 2006-09-16 14:55 用ODBC方法实现图书流通管理功能案例\Library\BorrowRS.h
文件 1224 2006-09-25 14:59 用ODBC方法实现图书流通管理功能案例\Library\CardLostDlg.cpp
文件 1275 2006-09-25 14:59 用ODBC方法实现图书流通管理功能案例\Library\CardLostDlg.h
文件 2497 2006-09-25 14:44 用ODBC方法实现图书流通管理功能案例\Library\CardNewDlg.cpp
文件 1552 2006-09-25 14:38 用ODBC方法实现图书流通管理功能案例\Library\CardNewDlg.h
文件 1361 2006-09-19 19:25 用ODBC方法实现图书流通管理功能案例\Library\CardRS.cpp
文件 1308 2006-09-16 14:56 用ODBC方法实现图书流通管理功能案例\Library\CardRS.h
文件 36832 2010-05-17 22:57 用ODBC方法实现图书流通管理功能案例\Library\Library.aps
文件 10940 2010-06-03 10:26 用ODBC方法实现图书流通管理功能案例\Library\Library.clw
文件 4227 2006-09-16 14:53 用ODBC方法实现图书流通管理功能案例\Library\Library.cpp
文件 6577 2006-09-25 16:03 用ODBC方法实现图书流通管理功能案例\Library\Library.dsp
文件 537 2006-09-16 16:17 用ODBC方法实现图书流通管理功能案例\Library\Library.dsw
文件 1367 2006-09-16 14:53 用ODBC方法实现图书流通管理功能案例\Library\Library.h
文件 279552 2010-06-03 10:26 用ODBC方法实现图书流通管理功能案例\Library\Library.ncb
文件 62976 2010-06-03 10:26 用ODBC方法实现图书流通管理功能案例\Library\Library.opt
文件 5427 2010-06-03 10:26 用ODBC方法实现图书流通管理功能案例\Library\Library.plg
文件 21773 2006-09-25 14:58 用ODBC方法实现图书流通管理功能案例\Library\Library.rc
文件 1762 2006-09-16 14:53 用ODBC方法实现图书流通管理功能案例\Library\LibraryDoc.cpp
文件 1486 2006-09-16 14:53 用ODBC方法实现图书流通管理功能案例\Library\LibraryDoc.h
文件 2609 2006-09-16 14:53 用ODBC方法实现图书流通管理功能案例\Library\LibraryView.cpp
文件 1907 2006-09-16 14:53 用ODBC方法实现图书流通管理功能案例\Library\LibraryView.h
文件 3379 2006-09-25 15:02 用ODBC方法实现图书流通管理功能案例\Library\MainFrm.cpp
文件 1623 2006-09-25 15:01 用ODBC方法实现图书流通管理功能案例\Library\MainFrm.h
............此处省略32个文件信息
- 上一篇:基于视频车辆测速代码
- 下一篇:C语言端口扫描源码
相关资源
- 利用MFC实现的停车场模拟仿真程序
- MFC mschart绘制曲线、饼图、柱状小程序
- mfc 修改密码对话框
- MFC42U.DLL
- 计算机图形学——立方体旋转 VC MFC
- C++二叉树基于Mfc的程序开发
- MFC 日志记录
- 简单的n皇后基于MFC
- MFC 动态创建按钮
-
mfc通过xm
l文件生成word文档 - 任务管理器MFC实现
- MFC的·绘图代码,模仿CAD的界面是我找
- 将彩色图片转换为灰度图片mfc实现
- MFC基于多线程的聊天程序用了winsock套
- SiamFCdemo运行所需stats.mat文件
- 超市管理系统(MFC编写
- MFC五子棋,本地,网络,人机
- 银行家算法 MFC实现
- MFC对话框标题栏的隐藏和高度设置
- easysize MFC对话框大小自动调整
- 基于无限射频卡的饭卡充值系统MFC
- MFC modBus 读写串口
- MFC通过windowsAPI控制计算机关机,注销
- 在MFC中嵌入cef浏览器demo
- mfc安装全局钩子,显示窗口的标题
- OCI连接oracle数据库c++实现
- VC/MFC 布局类
- MFC 动态数据显示控件
- DX_MFC框架
- 斗地主MFC源代码
评论
共有 条评论