1、vc图书管理系统一 绪论1.1 课题背景及现状图书馆管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端的应用程序的开发两个方面。对于前者要求建立数据的一致性和完整性,对于后者则要求应用程序功能的完备,易用等的特点。该图书管理系统是一款多功能的图书管理类工具,可以快速、准确、详细地查询书籍和读者,以及出版社信息,及受欢迎程度等。开发化境:+6.0。1.2 开发工具介绍 数据库的建立基于SQL-Server 2000,前台应用程序基于 vc(有相应的数据库访问组件)。二 需求分析立足于校园实际,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现
2、信息资源的共享。图书管理系统是一 种基于集中统一规划的数据库数据管理新模式。在对图书、读者、出版社信息的管理,其实是对图书、读者数据出版社信息的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销、图书归还中的问题;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况,还可以根据图书类别查询图书,可以查询出版社的信息,以及某出版社的图书在本校的借阅情况和平均价钱等信息。 图书管理系统,最主要处理两个过程,借书与还书。借书之前先看看是不是有借书的资格。还
3、书时,检查一下书是否过期等如有进行相关的处理。其他的一些功能主要是围绕这两个功能展开。图书模块的功能应包括:图书信息的添加、删除、修改、编辑、并可以根据图书类别查询图书。管理员,出版社等信息查询与图书相类似。当然为了更好的订阅,要给出出版社相对质量的参照,便于以后订购较受欢迎的图书。当然考虑到前台应用程序的需要,以及相关要求,要定义一部分视图(后面遇到时,再详细介绍)。前台应用程序的界面要尽量的友好美观,便于用户操作,使用户可以不用怎样刻意的去学习,只要看到界面就可以做出正确的操作。用vc作为前台的开发工具,定义Cdatabase、CRecordset建立与数据库的连接。要求应前台用程序和后台
4、数据库在数据类型方面要统一,否则会出现插入和更新异常等,导致系统异常,不利于使用。 本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。 三 概要设计 读者 图3-1读者 图书: 图3-2 图书出版社: 图3-3出版社管理员涉及两张表,密码登陆上次时间放在表MP中,另一张表结构如下: 图3-4 管理员借书关系: 图3-4 借阅属性罚金: 图3-5罚款 图3-6借阅关系四 逻辑设计 book( bid char(8)primary key,/编号 bname char(20), isbn char(13), type cha
5、r(8), publisher char(20), writer char(10), price float, location char(12), bcount int, )reader( rid char(6)primary key, rname char(10), rsex char(2), raddr char(20), )mang( mid char(6)primary key, mname char(10), msex char(2) , mbirth datetime, maddr char(20), )borrow( bid char(8), rid char(6), outd
6、ate datetime,/借书日期 indate datetime,/还书日期 mid char(6), primary key(bid,rid), foreign key(bid)references book(bid), foreign key(rid)references reader(rid), foreign key(mid)references mang(mid), )publisher( pname char(20), pdir char(10), paddr char (20), ptel char(11) )table 罚金( nindex int primary key,
7、 rid char(6) , type char(4), btime datetime, fine float , foreign key (rid)references reader(rid) Mp/保存管理员登陆时间密码的表( mid char(6) primary key, lasttime datetime , pw char(8), foreign key (mid) references mang(mid)至于定义的视图等,在前台应用程序中用到时再进行说明。五 详细设计准备工作:1.重写CButton 类 CbuttonST ,用到的功能较少,只需改写按钮的颜色,使之美观。所以重载
8、虚函数DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct).2.程序中,要将借书期限以及最大借书数目文件存储,所以要写头文件Keep.h代码如下:class Keep public: Keep(); Keep(); int GetVs(); int SetVs(int day);/最大借书天数int GetKs();int SetKs(int kep);/最大借书数目; 3.应用程序中为美化界面用到很多图片、图标要准备。可以根据自己的喜好制作:如图5-1 登录标题图片其他图片图标等不再描述。4数据库建好后要建立数据源,数据源的名字为library具体设计: 在
9、描述过程中以视图类为主线。 图5-2主界面图片CMalibView:CMalibView() : CRecordView(CMalibView:IDD) m_db.Open(NULL,FALSE,FALSE,ODBC;DSN=library,FALSE);/连接数据库 m_set=new CRecordset(&m_db);/用已经连接的数据库创建视图 m_allBack.CreateSolidBrush(RGB(241,252,249);/定义主界面画刷BOOL CMalibView:PreCreateWindow(CREATESTRUCT& cs) if(m_checkin.DoModal
10、()=IDOK) m_mid=m_checkin.m_str;/登陆对话框,m_mid为视图类中定义的变量,用于存储登陆的管理员的编号,便于后边使用 void CMalibView:OnBBorrow() /借书 CBBorrow dlg;/将当前管理员编号的值赋给m_Mid便于向borrow中插入数据与还书公用一个对话框,根据m_flag,隐藏还书按钮void CMalibView:OnBook() /查询图书信息 ShowInf(select *from book);void CMalibView:OnBorrrow() /查询借阅信息 ShowInf(select *from borro
11、w); void CMalibView:OnMang() / ShowInf(select *from mangstr); void CMalibView:OnReader()/查询读者信息 ShowInf(select *from reader); BOOL CMalibView:ShowInf(CString str)/显示信息函数 try BeginWaitCursor();/启动鼠标等待 根据不同的str打开不同的表 将属性列的名字读取到控件 根据属性要求调整列宽 /将记录的值读取到界面控件m_MSG中 EndWaitCursor(); catch(CDBException *e)/异
12、常处理 return true;void CMalibView:OnPublisher() /查询出版社信息 ShowInf(select *from publisher); void CMalibView:OnReaderadd() /添加读者void CMalibView:OnReaderborrowinf() /借书信息void CMalibView:OnReaderdel() /删除读者信息void CMalibView:OnBookadd() /添加图书void CMalibView:OnBookkind() /根据图书种类查询图书位置void CMalibView:OnPinfin
13、() /出版社信息录入void CMalibView:OnPinf() /出版社受欢迎程度的参考void CMalibView:OnReaderbreak() /查看逾期不还书的信息 void CMalibView:OnMmin() /管理员信息录入void CMalibView:OnBookcon() /图书续借void CMalibView:OnBookReturn() /还书void CMalibView:OnBrake() /罚款记录对话框void CMalibView:OnSetting() /系统设置对话框void CMalibView:OnPaint() /绘图Void CMal
14、ibView:OnDestroy()/关闭应用程序前系统调用的函数,将管理员的登陆时/间改为当前时间void CMalibView:OnDraw()/绘制标题图片HBRUSH CMalibView:OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)/对话框底/色void CMalibView:OnButtonMain() /打开学校主页void CMalibView:ShowMT()/显示当前登录的管理员信息int CMalibView:OnCreate(LPCREATESTRUCT lpCreateStruct) /设置时间函数便于显/示当前时间void CMalibView:OnTimer(UINT nIDEvent) /显示时间函数void CMalibView:OnContextMenu(CWnd*, CPoint point)/右键菜单通过active 控件/生成具体功能模块的设计:1. 登录对话框 图5-3登录对话框CCh
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1