宛枫书社图书管理系统的设计与实现样本_第1页
宛枫书社图书管理系统的设计与实现样本_第2页
宛枫书社图书管理系统的设计与实现样本_第3页
宛枫书社图书管理系统的设计与实现样本_第4页
宛枫书社图书管理系统的设计与实现样本_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南职业技术师范学院毕业论文题目:宛枫书社图书管理系统设计与实现班级:信管993/992班姓名:胡孟杰、蔡大臣、张航指引教师:王改性信息工程与管理学院TIME\@"yyyy'年'M'月'd'日'"5月12日宛枫书社图书管理系统设计与实现文档信息开发小组:组长:胡孟杰成员:蔡大臣、张航单位:信管993/992班文献类型:软件开发用技术文档当前版本:V1.0Beta作者:胡孟杰DATE5/12/完毕日期:TIME\@"yyyy'年'M'月'd'日'"5月12日软件信息软件名称:宛枫书社图书管理系统版本号:V1.0Beta语言类型:简体中文软件主页:授权类型:免费软件/测试版运营环境:Windows95/98/NT/Me//XP等下载地址:/download/WFSSBookShopV1.0Beta.zip软件大小:3069KB指引教师:王改性软件作者:胡孟杰参加开发:蔡大臣、张航等参加测试:开发人员、考试通书店(李明友)、张科伟等联系信箱:版权所有:Copyright©-.Poweredby胡孟杰.开发日期:3月-5月有关站点:华军软件园、PChome、21CN、典型下载等软件简介:宛枫书社图书管理系统V1.0Beta测试版面向中小型书店、个体书店进行全面人员、物流管理,旨在实现书店管理信息化。本系统采用会员制管理,将人员分为经理、仓库管理员、售书员、会员、游客等,分别拥有不同权限,各司其职,以便提高工作效率。系统功能涉及:供应商管理、进书管理、图书资料管理、售书管理、会员管理、员工管理、库存记录、售书记录、退货记录、基本记录分析等。河南职业技术师范学院信息工程与管理学院信息管理与信息系统专业99级中华人民共和国.河南.新乡TIME\@"yyyy-MM-dd"-05-12目录一、前言 4二、需求分析阐明书 42.1系统简介 42.2系统面向顾客群体 42.3系统功能性需求 42.4系统非功能性需求 52.4.1顾客界面需求 52.4.2软硬件环境需求 52.4.3软件质量需求 5三、可行性分析报告 53.1技术可行性 53.2人员也许性 53.3时间、设备也许性 53.4系统工作量 53.5代码工作量 53.6文档规定 5四、开发环境与项目规划 54.1开发环境 54.2项目规划与管理 54.2.1开发人员安排 54.2.2开发进度安排 6五、软件界面设计原则与规范 65.1编写目 65.2界面设计思想 65.3界面设计原则 65.4界面设计样式 65.5常用提示信息样式 65.6常用错误信息样式 75.7其她界面商定 7六、软件编码设计原则与规范 76.1对象命名商定 76.2常量和变量命名商定 86.3构造化编码商定 86.4数据源商定 96.5数据库访问商定 96.6其她商定 9七、数据库分析与设计 107.1数据库环境阐明 107.2数据库命名原则与规范 107.3数据库逻辑设计 107.4数据库物理设计 107.4.1表、视图汇总 107.4.2各表、视图设计详解 11八、软件体系构造设计阐明书 158.1系统概述 158.2设计约束 158.3设计方略 158.4系统概要设计阐明书 168.4.1图例阐明 168.4.2系统总体构造图 168.4.3销售子系统流程图 178.4.4进货子系统流程图 178.4.5退货子系统流程图 178.5系统详细设计阐明书 178.5.1系统模块汇总 178.5.2系统核心模块详解 188.5.3系统模块详解 28九、顾客界面设计报告 429.1界面设计规范 429.2系统窗体汇总 429.3主界面设计 439.4子界面设计 439.5界面资源设计 44十、软件测试分析报告 4410.1测试范畴与重要内容 4410.2测试办法 4410.3测试报告 4410.4改进建议与办法 45十一、软件使用阐明书 4511.1软件概述 4511.2系统安装 4511.3使用阐明 4511.3.1系统登陆 4511.3.2注销与退出 4611.3.3办理进货登记 4611.3.4办理退货登记 4811.3.5销售图书 4811.3.6会员管理 4911.3.7员工管理 4911.3.8书目检索 5011.3.9查看记录信息 5011.3.10修改密码 5011.3.11关于/协助 50参照资料 51一、前言宛枫书社图书管理系统设计与推出是多方面因素促成,我有一位老乡名叫李明友,毕业后经营一家小书店:“考试通书店”,其寻常管理工作都是人工操作,历史数据很难保存和运用,对于书店经营非常不利。而其她中小型书店、个体书店大多如此。针对这种状况,我筹划开发一种面向中小型书店、个体书店图书管理系统,实现对人员、物流全面管理,以协助这些书店早日实现书店管理信息化。正在我考虑系统规划时候,我有幸得到王改性教师指引,我两位同窗:蔡大臣、张航也加入了开发队伍,这更加坚定了我完毕系统开发任务决心。为了系统顺利开发和维护,特编制如下技术文档:二、需求分析阐明书2.1系统简介本系统定位于中小型书店、个体书店,暂时考虑单机环境下实现;操作系统选取当前惯用Windows98/。系统性质为MIS(管理信息系统)或财务软件。本系统采用会员制管理,系统功能应包括进书管理、售书管理、退货管理、库存管理、记录分析、有关人员管理等。系统界面力求简洁、易用,在原则化基本上考虑界面美观和新颖。系记录划3月初开始,4月初完毕初步开发工作,别的工作依照时间安排进行。2.2系统面向顾客群体系统面向中小型书店、个体书店,顾客群体为这些书店经理、采购员/仓库管理员、图书销售人员、书店会员/游客等。2.3系统功能性需求功能序号功能名称功能阐明1供应商管理包括供应商信息登记、修改等2图书种类管理包括图书大类、小类创立3图书资料管理包括图书资料添加、修改等4新书入库管理登记新书来源、数量、单价、折扣、金额等5库存记录分门别类记录图书既有库存量、入库时间等6进货记录查询查询历次进货记录7退货登记登记供应商、图书种类、退货数量、因素等8退货记录按供应商记录退货记录9退货记录查询查询历次退货记录10图书销售管理登记销售种类、数量、单价、折扣、顾客/会员等11会员管理包括会员创立、修改、删除等12优惠政策管理包括优惠政策制定与执行13本日售书记录记录本日销售图书数量、金额等14售书记录查询查询历次售书记录15员工管理包括员工帐号创立、修改、删除等16记录分析按年月日时段记录书店经营状况17图书检索提供按图书编号、书名、责任者、出版社等途径检索18系统帐号管理提供上级对下级资料、密码管理,19个人资料、密码管理提供修改个人资料、密码工具2.4系统非功能性需求2.4.1顾客界面需求简洁、易用、易懂,美观、大方、原则,具备一定兼容性。2.4.2软硬件环境需求软件环境:兼容当前主流操作系统Windows95/98/NT/Me//XP等。硬件环境:386以上计算机,打印机、扫描仪等。2.4.3软件质量需求易用、健壮、兼容性好、运营稳定、有一定安全保障。三、可行性分析报告3.1技术可行性系统性质为MIS或财务软件,因而数据库设计与操纵是系统设计核心。我在11月至3月曾经成功完毕了“蓝色梦幻留言板”开发与维护任务,具备一定系统分析与设计能力,熟悉数据库设计与操纵;指引教师王改性近年从事数据库教学与研究工作,因而该系统实当前技术上是可行。3.2人员也许性我有“蓝色梦幻留言板”开发经验,当前时间充分,可以完毕开发任务。蔡大臣计算机功底很深,可以参加系统数据库设计与开发。张航有深厚文字功底,可以参加顾客文档制作、内部文档整顿、后期测试等任务。所有人员均可及时投入开发工作。3.3时间、设备也许性系统设计与开发工作预测耗时一种月,所有参加开发人员均可以保证准时完毕任务。实验设备如:计算机、打印机、扫描仪等局限性,上机任务可以完毕,打印机、扫描仪实验依照详细条件暂时延缓执行。3.4系统工作量该系统工作量相对于咱们开发小组来说很大,必要保证按进度完毕任务。实际工作量预测超过一种月(每天4-8小时)。如包括软件维护及技术文档整顿、制作,工作量将更大。3.5代码工作量预测需25天左右。3.6文档规定根据国家《计算机软件产品开发文献编制指南》和《当代软件工程》理论与原则编制原则软件技术文档。四、开发环境与项目规划4.1开发环境前台开发环境:MicrosoftVisualBasic6.0后台数据库环境:MicrosoftAccess/4.2项目规划与管理4.2.1开发人员安排系统分析与设计:胡孟杰程序编制:胡孟杰数据库设计:胡孟杰、蔡大臣文档整顿与制作:蔡大臣、张航系统测试:胡孟杰、蔡大臣、张航、考试通书店(李明友)等4.2.2开发进度安排3月1日至3月5日:系统分析,进行需求定义,定义系统概况3月6日至3月7日:数据库分析与设计3月8日至3月9日:软件体系构造设计3月10日至3月31日:软件编码4月1日至4月2日:系统测试五、软件界面设计原则与规范5.1编写目制定界面设计原则规范目是为了规范和统一软件界面设计制定软件界面设计原则与规范。5.2界面设计思想一方面考虑原则化,在原则化基本上进行界面美工设计。5.3界面设计原则简朴易用、简洁明了、兼容性好、原则、规范。5.4界面设计样式工具条采用原则Windows界面,自上至下依次为:标题栏、菜单栏、工具条、工作区、状态栏等。如下图示:工具条菜单栏菜单栏状态栏工作区状态栏工作区图1.系统界面5.5常用提示信息样式提示信息按如下原则进行:采用原则Windows对话框样式,添加信息图标,后接提示信息文本和相应按钮。如下图示:按钮信息图标提示文本按钮信息图标提示文本图2.常用提示信息样式5.6常用错误信息样式错误信息根据提示信息样式设计,将信息图标更改为警告图标。如下图示:警告图标提示文本警告图标提示文本图3.常用错误信息样式5.7其她界面商定除主界面外,所有子界面均采用模式窗体,即该窗体不消失,不可以在本程序内将焦点移出子窗体。六、软件编码设计原则与规范6.1对象命名商定对象名对象类型命名商定(前缀码)Form窗体FrmCommand按钮CmdLabel标签LabTextBox文本框TxtComboBox组合框ComBListBox列表框LstBAdodb数据库访问对象AdodbDataGrid数据表格显示组件DataGridFrame框架FamOption单选框OptCheckBox复选框ChkPictureBox图象显示组件PtBCommonDialog通用对话框组件ComDlgTimer时间组件TimToolBar工具栏TlBarMenu菜单MnuSSTab页框SSTabImageList界面资源组件ImgLst6.2常量和变量命名商定变量名数据类型变量类型含义UserShenFenString全局变量顾客身份标志LogOKBoolean全局变量登陆状态UserNameString全局变量顾客名GongYingShangIDString全局变量供应商编号GongYingShangString全局变量供应商名称TuShuBianHaoString全局变量图书编号DingJiaSingle全局变量图书定价ShuMingString全局变量书名HuiYuanKaHaoString全局变量会员卡号HYXingMingString全局变量会员姓名HYDengJiString全局变量会员级别6.3构造化编码商定编码应清晰、可读性好,运用缩进、空行,结合大小写区别等办法保持程序构造良好。凡与数据库操作有关模块一律加上容错代码,涉及多表操作模块应运用“事务”解决,以保持数据完整性。编码风格参照下例进行:PublicSubCheckUser(userIDAsString,passwdAsString)DimuserDBAsDatabaseDimuserRDAsRecordsetDimdbNameAsStringDimSTRSQLAsStringScreen.MousePointer=11OnErrorGoToerrEnddbName=App.PathIfRight(dbName,1)<>"、"ThendbName=dbName+"、"dbName=dbName+"DataBase、WFSSDataBase.mdb"STRSQL="select[顾客身份]from[Admin]where[顾客ID]="""&userID&"""and[顾客密码]="""&passwd&""""'打开数据库SetuserDB=DBEngine.Workspaces(0).OpenDatabase(dbName,False,True)'检索顾客,验证密码SetuserRD=userDB.OpenRecordset(STRSQL,dbOpenSnapshot)IfuserRD.RecordCount>0Then'设立顾客身份UserShenFen=userRD![顾客身份]'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=Nothing'进入顾客环境LoadFrmMainFrmMain.ShowUnloadFrmLogInlogOK=TrueuserName=userIDScreen.MousePointer=vbDefaultElse'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=NothinglogOK=FalseScreen.MousePointer=vbDefaultMsgBox"顾客名或密码错误!请重新输入!",vbOKOnly+vbExclamation,"登陆失败"EndIfExitSuberrEnd:Screen.MousePointer=vbDefaultMsgBoxErr.Description,vbOKOnly+vbExclamation,"登陆错误"logOK=FalseErr.Clear'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=NothingExitSubEndSub6.4数据源商定需用数据源组件如:DataGrid一律采用Adodb控件。有特殊需求状况如:身份验证应引用DAO(数据访问对象)。6.5数据库访问商定数据库引擎采用Microsoft.Jet.OLEDB.4.0,由Adodb组件进行数据库访问,并为其她组件提供数据源。特殊状况、身份验证等由DAO访问数据库。6.6其她商定无需数据显示状况由DAO提供数据库支持,有数据显示状况由ADODB组件提供数据库支持。七、数据库分析与设计7.1数据库环境阐明考虑该系统定位与既有技术力量,决定采用MicrosoftAccess/作为系统后台数据库开发环境。7.2数据库命名原则与规范阐明:下表所列为数据库及各表、视图命名办法,详细信息请参阅7.4.1表、视图汇总。名称类型命名办法商定WFSSDataBase系统数据库字母表基本表中文或字母查询查询中文字段字段中文或字母7.3数据库逻辑设计会员表会员级别会员表会员级别会员卡号…会员政策会员级别…Admin顾客ID…员工表员工帐号…Admin顾客ID…员工表员工帐号…图书分类图书分类图书分类号…售书记录会员卡号图书编号售书记录会员卡号图书编号…Book图书分类号图书编号…图书进价表图书进价表图书编号…进书记录图书编号供应商编号进书记录图书编号供应商编号…退货记录图书编号供应商编号…退货记录图书编号供应商编号…供应商供应商编号…图4.数据库逻辑构造图7.4数据库物理设计7.4.1表、视图汇总视图/表名类型阐明Admin基本表集中保存系统顾客帐号、密码Book基本表集中存储书目信息员工表基本表存储员工资料供应商基本表供应商资料会员表基本表会员资料会员政策基本表会员原则及优惠政策进书记录基本表进书历史记录客户反馈基本表客户反馈信息售书记录基本表售书历史记录书店简介基本表书店简介图书分类基本表图书类别图书进价表基本表图书进价列表退货记录基本表退货历史记录读者查询查询提供应所有顾客书目查询界面基本记录查询基本记录分析进书查询查询进书记录查询,含进书记录售书查询查询图书销售记录查询售书记录查询图书销售记录记录退货查询查询退货记录查询退货记录查询退货记录员工信息查询员工信息查询库存记录查询既有库存记录反馈信息查询客户反馈信息查询7.4.2各表、视图设计详解[阐明]:空缺位置表达无规定,主键在约束栏注明。基本表:[Admin]字段类型长度格式约束顾客ID文本250主键顾客密码文本250顾客身份文本250基本表:[Book]字段类型长度格式约束图书编号文本250主键图书分类号文本150书名文本255丛书文本150作者文本255出版社文本255版次文本150ISBN文本250定价货币库存量数字(整型)内容简介备注核心词文本255出版日期文本150入库时间日期/时间长日期Now()基本表:[供应商]字段类型长度格式约束供应商编号文本250主键供应商文本255地址文本255网址文本255联系人文本255电话文本50传真文本150电子邮件文本150单位简介备注基本表:[会员表]字段类型长度格式约束会员卡号文本50主键会员级别文本50姓名文本150性别文本50地址文本250单位文本250电话文本50电子邮件文本150人生格言备注注册日期日期/时间长日期基本表:[会员政策]字段类型长度格式约束会员级别文本50主键会员原则数字(整型)打折文本50赠送礼物文本250备注备注基本表:[进书记录]字段类型长度格式约束ID自动编号(长整型)主键供应商编号文本250图书编号文本250数量数字(长整型)单价货币折扣数字(单精度型)金额货币进书日期日期/时间长日期备注备注基本表:[客户反馈]字段类型长度格式约束ID自动编号(长整型)主键姓名文本150身份文本50性别文本50单位文本255地址文本255电子邮件文本150反馈信息备注反馈日期日期/时间长日期基本表:[售书记录]字段类型长度格式约束ID自动编号(长整型)主键图书编号文本250数量数字(整型)会员卡号文本250实际打折数字(单精度型)实收金额货币日期文本50长日期备注备注基本表:[书店简介]字段类型长度格式约束书店名称文本255主键地址文本255网址文本255联系人文本150电话文本50手机数字(长整型)电子邮件文本150书店简介备注备注备注基本表:[图书分类]字段类型长度格式约束图书分类号文本150主键图书分类文本250所属父类编号文本150基本表:[图书进价表]字段类型长度格式约束图书编号文本150主键进价货币进书日期日期/时间长日期基本表:[退货记录]字段类型长度格式约束ID自动编号(长整型)主键供应商编号文本250图书编号文本250进价货币退货数量数字(整型)金额货币退货因素备注退货日期日期/时间长日期备注备注基本表:[员工表]字段类型长度格式约束员工帐号文本250主键姓名文本150性别文本50地址文本255电话文本50手机文本150电子邮件文本150人生格言备注创立日期日期/时间长日期Now()视图:[基本记录]图5.基本记录视图构造视图:[读者查询]图6.读者查询视图构造视图:[退货记录]图7.退货记录视图构造视图:[售书记录]图8.售书记录视图构造视图:[售书查询]图9.售书查询视图构造注:其她视图构造:[略]。八、软件体系构造设计阐明书8.1系统概述在单机环境下进行系统安全考虑,有必要进行顾客权限划分与控制,因而系统在总体上应包括安全子系统之下各类顾客工作环境。顾客权限合理划分与有效控制是本系统体系构造设计核心。8.2设计约束系统将实现人员、物流全面管理,而物流管理是系统核心部件,如何实现两者共存,互不干扰,是本系统设计难点。本系统必要实现对顾客权限有效合理控制。8.3设计方略由于所有物流都需要有人员活动才可以发生,因而,我决定采用一种“人员活动带动物流”方略来解决人员管理与物流管理统一管理问题。这个想法是模仿现实而来,例如说,只有采购人员进行了“采购”或“进书”活动,才会引起“入库登记”或“新书入库”这个物流。8.4系统概要设计阐明书8.4.1图例阐明过程、模块1.解决过程:过程、模块数据表2.数据存储:数据表决策3.决策4.数据流:(单向)5.数据流:(双向)实体实体6.外部实体:数据表7.带有变动历史数据存储:数据表8.4.2系统总体构造图登陆验证登陆验证会员政策员工管理书店概况记录分析安全子系统权限控制身份鉴别会员政策员工管理书店概况记录分析安全子系统权限控制身份鉴别经理子系统经理子系统宛枫书社图书管理系统宛枫书社图书管理系统基本记录退货记录库存记录进货记录销售记录基本记录退货记录库存记录进货记录销售记录进货子系统库存管理退货子系统进货子系统库存管理退货子系统书目管理入库登记供应商管理仓库管理员子系统书目管理入库登记供应商管理仓库管理员子系统删除帐号修改资料创立帐号销售记录会员管理销售子系统删除帐号修改资料创立帐号销售记录会员管理销售子系统售书员子系统售书员子系统购书记录修改密码个人资料购书记录修改密码个人资料会员子系统会员子系统信息反馈会员注册书目检索信息反馈会员注册书目检索游客子系统游客子系统图10.系统总体构造图8.4.3销售子系统流程图售书员售书员BookBook会员表选取图书选取会员会员表选取图书选取会员会员表图书销售优惠政策会员表图书销售优惠政策售书记录售书记录图11.销售子系统流程图8.4.4进货子系统流程图仓管员仓管员选取供应商供应商选取供应商供应商修改资料供应商登记修改资料供应商登记选取品种供应商供应商选取品种供应商供应商添加类别添加品种添加类别添加品种BookBook入库登记修改资料图书分类入库登记修改资料图书分类BookBook图书进价表进货记录图书进价表进货记录图12.进货子系统流程图8.4.5退货子系统流程图选取供应商仓管员供应商选取品种退货记录退货登记Book进货记录选取供应商仓管员供应商选取品种退货记录退货登记Book进货记录图13.退货子系统流程图8.5系统详细设计阐明书8.5.1系统模块汇总模块名类型原型或声明模块阐明CheckUser子程序PublicSubCheckUser(userIDAsString,passwdAsString)顾客帐号、密码验证和身份鉴别LogOff子程序PublicSubLogOff()注销模块Sys_exit子程序PublicSubSys_exit()系统退出摸块Form_Load子程序PrivateSubForm_Load()初始化模块,连接数据库GetHYDaZhe函数PublicFunctionGetHYDaZhe(bianHaoAsString)AsString提取会员政策会员优惠办法GetKuCun函数PublicFunctionGetKuCun(bianHaoAsString)AsString获取、检查图书既有库存量HYShengJi函数PublicFunctionHYShengJi(HYKaHaoAsString)AsBoolean会员升级维护CmdSellBook_Click子程序PrivateSubCmdSellBook_Click()图书销售模块checkGYSID函数PublicFunctioncheckGYSID(UIDAsString)AsBoolean检查数据表主键,避免插入错误checkFenLei函数PublicFunctioncheckFenLei(UIDAsString)AsBoolean检测图书分类与否已经存在CmdNewFenLei_Click子程序PrivateSubCmdNewFenLei_Click()创立类别checkUserID函数PublicFunctioncheckUserID(UIDAsString)AsBoolean检测顾客帐号与否存在CmdChgPass_Click子程序PrivateSubCmdChgPass_Click()修改密码CmdRegMe_Click子程序PrivateSubCmdRegMe_Click()创立员工、会员帐号GetJinJia函数PublicFunctionGetJinJia(bianHaoAsString)AsString提取图书进价CmdTH_Click子程序PrivateSubCmdTH_Click()退货模块CmdSaveContinue_Click子程序PrivateSubCmdSaveContinue_Click()供应商信息登记注:其她模块(略)8.5.2系统核心模块详解全局变量定义:'顾客身份标志PublicUserShenFenAsString'登陆状态PubliclogOKAsBoolean'顾客名PublicuserNameAsString'供应商编号PublicGongYingShangIDAsString'供应商PublicGongYingShangAsString'图书编号PublicTuShuBianHaoAsString'定价PublicDingJiaAsString'书名PublicShuMingAsString'会员卡号PublicHuiYuanKaHaoAsString'会员姓名PublicHYXingMingAsString'会员级别PublicHYDengJiAsString模块名:CheckUser原型:PublicSubCheckUser(userIDAsString,passwdAsString)代码:PublicSubCheckUser(userIDAsString,passwdAsString)DimuserDBAsDatabaseDimuserRDAsRecordsetDimdbNameAsStringDimSTRSQLAsStringScreen.MousePointer=11OnErrorGoToerrEnddbName=App.PathIfRight(dbName,1)<>"\"ThendbName=dbName+"\"dbName=dbName+"DataBase\WFSSDataBase.mdb"STRSQL="select[顾客身份]from[Admin]where[顾客ID]="""&userID&"""and[顾客密码]="""&passwd&""""'打开数据库SetuserDB=DBEngine.Workspaces(0).OpenDatabase(dbName,False,True)'检索顾客,验证密码SetuserRD=userDB.OpenRecordset(STRSQL,dbOpenSnapshot)IfuserRD.RecordCount>0Then'设立顾客身份UserShenFen=userRD![顾客身份]'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=Nothing'进入顾客环境LoadFrmMainFrmMain.ShowUnloadFrmLogInlogOK=TrueuserName=userIDScreen.MousePointer=vbDefaultElse'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=NothinglogOK=FalseScreen.MousePointer=vbDefaultMsgBox"顾客名或密码错误!请重新输入!",vbOKOnly+vbExclamation,"登陆失败"EndIfExitSuberrEnd:Screen.MousePointer=vbDefaultMsgBoxErr.Description,vbOKOnly+vbExclamation,"登陆错误"logOK=FalseErr.Clear'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=NothingExitSubEndSub模块名:LogOff模块原型:PublicSubLogOff()代码:PublicSubLogOff()DimretValAsIntegerretVal=MsgBox("你拟定要注销吗?",vbOKCancel+vbQuestion,"注销当前顾客")IfretVal=vbCancelThenExitSubLoadFrmLogInFrmLogIn.ShowIfUserShenFen="经理"ThenUnloadFrmAdminMainElseIfUserShenFen="仓库管理员"ThenUnloadFrmCangGuanMainElseIfUserShenFen="售书员"ThenUnloadFrmBookSellerMainElseIfUserShenFen="会员"ThenUnloadFrmMemberMainElseUnloadFrmGuestMainEndIfUnloadFrmMainUserShenFen=""logOK=FalseEndSub模块名:Sys_exit模块原型:PublicSubSys_exit()代码:PublicSubSys_exit()DimretValAsIntegerretVal=MsgBox("你拟定要退出吗?",vbOKCancel+vbQuestion,"退出系统")IfretVal=vbCancelThenExitSubIfUserShenFen="经理"ThenUnloadFrmAdminMainElseIfUserShenFen="仓库管理员"ThenUnloadFrmCangGuanMainElseIfUserShenFen="售书员"ThenUnloadFrmBookSellerMainElseIfUserShenFen="会员"ThenUnloadFrmMemberMainElseUnloadFrmGuestMainEndIfUnloadFrmMainEndEndSub模块名:Form_Load模块原型:PrivateSubForm_Load()代码:PrivateSubForm_Load()DimdbNameAsStringDimconnSTRAsStringOnErrorGoToerrEndChDirApp.PathdbName=App.PathIfRight(dbName,1)<>"\"ThendbName=dbName+"\"dbName=dbName+"DataBase\WFSSDataBase.mdb"connSTR="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&dbName&";PersistSecurityInfo=False"Adodc1.ConnectionString=connSTRExitSuberrEnd:MsgBox"连接数据库失败!",vbOKOnly+vbExclamation,"打开数据库出错"EndEndSub模块名:GetHYDaZhe模块原型:PublicFunctionGetHYDaZhe(bianHaoAsString)AsString代码:PublicFunctionGetHYDaZhe(bianHaoAsString)AsStringOnErrorGoToerrEndIfbianHao="☆☆☆☆☆"ThenGetHYDaZhe="1"ExitFunctionEndIfAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select[打折]from[会员政策]where[会员级别]="""&bianHao&""""Adodc1.RefreshIfAdodc1.Recordset.RecordCount>0ThenAdodc1.Recordset.MoveFirstGetHYDaZhe=Adodc1.Recordset!打折ElseMsgBox"会员政策数据丢失,请与经理联系!",vbOKOnly+vbExclamation,"检索错误"GetHYDaZhe="1"EndIfExitFunctionerrEnd:MsgBox"检索数据库出错!",vbOKOnly+vbExclamation,"检索错误"GetDingJia="未知"EndFunction模块名:GetKuCun模块原型:PublicFunctionGetKuCun(bianHaoAsString)AsString代码:PublicFunctionGetKuCun(bianHaoAsString)AsStringOnErrorGoToerrEndAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select[库存量]from[Book]where[图书编号]="""&bianHao&""""Adodc1.RefreshIfAdodc1.Recordset.RecordCount>0ThenAdodc1.Recordset.MoveFirstGetKuCun=Adodc1.Recordset!库存量ElseMsgBox"图书资料数据丢失,请与经理联系!",vbOKOnly+vbExclamation,"检索错误"GetKuCun="0"EndIfExitFunctionerrEnd:MsgBox"检索数据库出错!",vbOKOnly+vbExclamation,"检索错误"GetDingJia="未知"EndFunction模块名:HYShengJi模块原型:PublicFunctionHYShengJi(HYKaHaoAsString)AsBoolean代码:PublicFunctionHYShengJi(HYKaHaoAsString)AsBooleanOnErrorGoToerrEndDimBiaoZhunAsIntegerDimSUMBookAsIntegerIfHYKaHao="Guest"ThenHYShengJi=FalseExitFunctionEndIfBeginTransAdodc1.CommandType=adCmdTextAdodc1.RecordSource="selectsum([实收金额])as[总金额]from[售书记录]where[会员卡号]="""&HYKaHao&""""Adodc1.RefreshIfAdodc1.Recordset.RecordCount>0ThenAdodc1.Recordset.MoveFirstSUMBook=CInt(Adodc1.Recordset!总金额)ElseSUMBook=0EndIfAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select[会员原则]from[会员政策]where[会员级别]='★☆☆☆☆'"Adodc1.RefreshAdodc1.Recordset.MoveFirstBiaoZhun=CInt(Adodc1.Recordset!会员原则)IfSUMBook>=BiaoZhunThenAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select*from[会员表]where[会员卡号]="""&HYKaHao&""""Adodc1.RefreshIfAdodc1.Recordset.RecordCount>0ThenAdodc1.Recordset.MoveFirstAdodc1.Recordset!会员级别="★☆☆☆☆"Adodc1.Recordset.UpdateEndIfEndIfAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select[会员原则]from[会员政策]where[会员级别]='★★☆☆☆'"Adodc1.RefreshAdodc1.Recordset.MoveFirstBiaoZhun=CInt(Adodc1.Recordset!会员原则)IfSUMBook>=BiaoZhunThenAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select*from[会员表]where[会员卡号]="""&HYKaHao&""""Adodc1.RefreshIfAdodc1.Recordset.RecordCount>0ThenAdodc1.Recordset.MoveFirstAdodc1.Recordset!会员级别="★★☆☆☆"Adodc1.Recordset.UpdateEndIfEndIfAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select[会员原则]from[会员政策]where[会员级别]='★★★☆☆'"Adodc1.RefreshAdodc1.Recordset.MoveFirstBiaoZhun=CInt(Adodc1.Recordset!会员原则)IfSUMBook>=BiaoZhunThenAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select*from[会员表]where[会员卡号]="""&HYKaHao&""""Adodc1.RefreshIfAdodc1.Recordset.RecordCount>0ThenAdodc1.Recordset.MoveFirstAdodc1.Recordset!会员级别="★★★☆☆"Adodc1.Recordset.UpdateEndIfEndIfAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select[会员原则]from[会员政策]where[会员级别]='★★★★☆'"Adodc1.RefreshAdodc1.Recordset.MoveFirstBiaoZhun=CInt(Adodc1.Recordset!会员原则)IfSUMBook>=BiaoZhunThenAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select*from[会员表]where[会员卡号]="""&HYKaHao&""""Adodc1.RefreshIfAdodc1.Recordset.RecordCount>0ThenAdodc1.Recordset.MoveFirstAdodc1.Recordset!会员级别="★★★★☆"Adodc1.Recordset.UpdateEndIfEndIfAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select[会员原则]from[会员政策]where[会员级别]='★★★★★'"Adodc1.RefreshAdodc1.Recordset.MoveFirstBiaoZhun=CInt(Adodc1.Recordset!会员原则)IfSUMBook>=BiaoZhunThenAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select*from[会员表]where[会员卡号]="""&HYKaHao&""""Adodc1.RefreshIfAdodc1.Recordset.RecordCount>0ThenAdodc1.Recordset.MoveFirstAdodc1.Recordset!会员级别="★★★★★"Adodc1.Recordset.UpdateEndIfEndIfCommitTransHYShengJi=FalseExitFunctionerrEnd:RollbackHYShengJi=TrueScreen.MousePointer=vbDefaultMsgBox"检查会员与否应升级时操作失败!",vbOKOnly+vbExclamation,"图书销售"CmdOK.Enabled=TrueEndFunction模块名:CmdSellBook_Click模块原型:PrivateSubCmdSellBook_Click()代码:PrivateSubCmdSellBook_Click()OnErrorGoToerrEndDimQDAsIntegerCmdSellBook.Enabled=FalseIfTxtShuLiang.Text=""ThenMsgBox"请输入交易数量!",vbOKOnly+vbExclamation,"填写数量"TxtShuLiang.SetFocusCmdSellBook.Enabled=TrueExitSubEndIfIfGetKuCun(TuShuBianHao)<=0OrGetKuCun(TuShuBianHao)<TxtShuLiang.TextThenMsgBox"该类图书库存量局限性,请与仓库管理员联系!",vbOKOnly+vbExclamation,"库存局限性"TxtShuLiang.SetFocusCmdSellBook.Enabled=TrueExitSubEndIfIfTxtZheKou.Text=""ThenMsgBox"请输入交易实际折扣率!",vbOKOnly+vbExclamation,"填写折扣"TxtZheKou.SetFocusCmdSellBook.Enabled=TrueExitSubEndIfIfTxtZheKou.Text<=0OrTxtZheKou.Text>1ThenMsgBox"实际折扣率填写错误!请在0与1之间选取.",vbOKOnly+vbExclamation,"填写折扣"TxtZheKou.SetFocusCmdSellBook.Enabled=TrueExitSubEndIfIfTxtSJJinE.Text=""ThenMsgBox"请输入交易实际金额!",vbOKOnly+vbExclamation,"填写金额"TxtSJJinE.SetFocusCmdSellBook.Enabled=TrueExitSubEndIfIfTxtMemo.Text=""ThenTxtMemo.Text="无"QD=MsgBox("拟定入帐吗?",vbOKCancel+vbQuestion,"确认入帐")IfQD=vbCancelThenCmdSellBook.Enabled=TrueExitSubEndIf'售书入帐Screen.MousePointer=11BeginTransAdodc1.CommandType=adCmdTableAdodc1.RecordSource="售书记录"Adodc1.RefreshAdodc1.Recordset.AddNewAdodc1.Recordset!图书编号=TuShuBianHaoAdodc1.Recordset!数量=TxtShuLiang.TextAdodc1.Recordset!会员卡号=HuiYuanKaHaoAdodc1.Recordset!实际打折=TxtZheKou.TextAdodc1.Recordset!实收金额=TxtSJJinE.TextAdodc1.Recordset!日期=Year(Now)&"-"&Month(Now)&"-"&Day(Now)&"."Adodc1.Recordset!备注=TxtMemo.TextAdodc1.Recordset.UpdateAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select*from[Book]where[图书编号]="""&TuShuBianHao&""""Adodc1.RefreshIfAdodc1.Recordset.RecordCount>0ThenAdodc1.Recordset.MoveFirstAdodc1.Recordset!库存量=Adodc1.Recordset!库存量-TxtShuLiang.TextAdodc1.Recordset.UpdateElseRollbackScreen.MousePointer=vbDefaultMsgBox"图书资料丢失,请与仓库管理员联系!",vbOKOnly+vbExclamation,"交易失败"CmdSellBook.Enabled=TrueExitSubEndIfIfHYShengJi(HuiYuanKaHao)ThenRollbackCommitTransScreen.MousePointer=vbDefaultMsgBox"恭喜您,交易成功!",vbOKOnly+vbInformation,"交易成功"UnloadMeExitSuberrEnd:RollbackScreen.MousePointer=vbDefaultMsgBoxErr.Description,vbOKOnly+vbExclamation,"操作数据库出错交易失败"CmdSellBook.Enabled=TrueEndSub8.5.3系统模块详解模块名:checkGYSID模块原型:PublicFunctioncheckGYSID(UIDAsString)AsBoolean代码:PublicFunctioncheckGYSID(UIDAsString)AsBooleanDimuserDBAsDatabaseDimuserRDAsRecordsetDimdbNameAsStringDimSTRSQLAsStringScreen.MousePointer=11OnErrorGoToerrEnddbName=App.PathIfRight(dbName,1)<>"\"ThendbName=dbName+"\"dbName=dbName+"DataBase\WFSSDataBase.mdb"STRSQL="select[图书分类]from[图书分类]where[图书分类号]="""&UID&""""'打开数据库SetuserDB=DBEngine.Workspaces(0).OpenDatabase(dbName,False,True)'检索顾客,验证密码SetuserRD=userDB.OpenRecordset(STRSQL,dbOpenSnapshot)IfuserRD.RecordCount>0Then'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=NothingcheckGYSID=TrueScreen.MousePointer=vbDefaultElse'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=NothingScreen.MousePointer=vbDefaultcheckGYSID=FalseEndIfExitFunctionerrEnd:Screen.MousePointer=vbDefaultMsgBoxErr.Description,vbOKOnly+vbExclamation,"创立类别"Err.Clear'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=NothingEndFunction模块名:checkFenLei模块原型:PublicFunctioncheckFenLei(UIDAsString)AsBoolean代码:PublicFunctioncheckFenLei(UIDAsString)AsBooleanDimuserDBAsDatabaseDimuserRDAsRecordsetDimdbNameAsStringDimSTRSQLAsStringScreen.MousePointer=11OnErrorGoToerrEnddbName=App.PathIfRight(dbName,1)<>"\"ThendbName=dbName+"\"dbName=dbName+"DataBase\WFSSDataBase.mdb"STRSQL="select[图书分类]from[图书分类]where[图书分类]="""&UID&""""'打开数据库SetuserDB=DBEngine.Workspaces(0).OpenDatabase(dbName,False,True)'检索顾客,验证密码SetuserRD=userDB.OpenRecordset(STRSQL,dbOpenSnapshot)IfuserRD.RecordCount>0Then'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=NothingcheckFenLei=TrueScreen.MousePointer=vbDefaultElse'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=NothingScreen.MousePointer=vbDefaultcheckFenLei=FalseEndIfExitFunctionerrEnd:Screen.MousePointer=vbDefaultMsgBoxErr.Description,vbOKOnly+vbExclamation,"创立类别"Err.Clear'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=NothingEndFunction模块名:CmdNewFenLei_Click模块原型:PrivateSubCmdNewFenLei_Click()代码:PrivateSubCmdNewFenLei_Click()OnErrorGoToerrEndIfTxtBianHao.Text=""ThenMsgBox"请填写图书分类号!",vbOKOnly+vbExclamation,"创立分类"TxtBianHao.SetFocusExitSubEndIfIfTxtLeiBie.Text=""ThenMsgBox"请填写图书分类名称!",vbOKOnly+vbExclamation,"创立分类"TxtLeiBie.SetFocusExitSubEndIfIfcheckFenLei(TxtLeiBie.Text)ThenMsgBox"图书分类名称不唯一,请另选一种!",vbOKOnly+vbExclamation,"创立分类"TxtLeiBie.SetFocusTxtLeiBie.SelStart=0TxtLeiBie.SelLength=Len(TxtLeiBie.Text)ExitSubEndIfIfComboFuLei.Text<>""AndComboFuLei.Text<>"选取父类"ThenIfNotcheckFenLei(ComboFuLei.Text)ThenMsgBox"所选父类不存在!请重试!",vbOKOnly+vbExclamation,"选取父类"ComboFuLei.SetFocusExitSubEndIfAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select[图书分类号]from[图书分类]where[图书分类号]=[所属父类编号]and[图书分类]="""&ComboFuLei.Text&""""Adodc1.RefreshAdodc1.Recordset.MoveFirstFuLeiBianHao=Adodc1.Recordset!图书分类号EndIfIfcheckGYSID(TxtBianHao.Text)ThenMsgBox"图书分类编号不唯一,请另选一种!",vbOKOnly+vbExclamation,"创立分类"TxtBianHao.SetFocusTxtBianHao.SelStart=0TxtBianHao.SelLength=Len(TxtBianHao.Text)ExitSubEndIfIfFuLeiBianHao=""ThenFuLeiBianHao=TxtBianHao.TextAdodc1.CommandType=adCmdTableAdodc1.RecordSource="图书分类"Adodc1.RefreshAdodc1.Recordset.AddNewAdodc1.Recordset!图书分类号=TxtBianHao.TextAdodc1.Recordset!图书分类=TxtLeiBie.TextAdodc1.Recordset!所属父类编号=FuLeiBianHaoAdodc1.Recordset.UpdateMsgBox"创立分类成功!",vbOKOnly+vbInformation,"创立分类"TxtBianHao.Text=""TxtLeiBie.Text=""ComboFuLei.Text="选取父类"FuLeiBianHao=""TxtFuLei.Text=""TxtBianHao.SetFocusExitSuberrEnd:MsgBox"更新数据库失败!",vbOKOnly+vbExclamation,"数据库出错"EndSub模块名:checkUserID模块原型:PublicFunctioncheckUserID(UIDAsString)AsBoolean代码:PublicFunctioncheckUserID(UIDAsString)AsBooleanDimuserDBAsDatabaseDimuserRDAsRecordsetDimdbNameAsStringDimSTRSQLAsStringScreen.MousePointer=11OnErrorGoToerrEnddbName=App.PathIfRight(dbName,1)<>"\"ThendbName=dbName+"\"dbName=dbName+"DataBase\WFSSDataBase.mdb"STRSQL="select[顾客身份]from[Admin]where[顾客ID]="""&UID&""""'打开数据库SetuserDB=DBEngine.Workspaces(0).OpenDatabase(dbName,False,True)'检索顾客,验证密码SetuserRD=userDB.OpenRecordset(STRSQL,dbOpenSnapshot)IfuserRD.RecordCount>0Then'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=NothingcheckUserID=TrueScreen.MousePointer=vbDefaultElse'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=NothingScreen.MousePointer=vbDefaultcheckUserID=FalseEndIfExitFunctionerrEnd:Screen.MousePointer=vbDefaultMsgBoxErr.Description,vbOKOnly+vbExclamation,"修改密码"Err.Clear'关闭数据库userRD.CloseSetuserRD=NothinguserDB.CloseSetuserDB=NothingEndFunction模块名:CmdChgPass_Click模块原型:PrivateSubCmdChgPass_Click()代码:PrivateSubCmdChgPass_Click()OnErrorGoToerrEndIfTxtUserID.Text=""ThenMsgBox"请输入你帐号!",vbOKOnly+vbExclamation,"更改密码"TxtUserID.SetFocusExitSubEndIfIfTxtPasswd.Text=""ThenMsgBox"请输入你旧密码!",vbOKOnly+vbExclamation,"更改密码"TxtPasswd.SetFocusExitSubEndIfIfTxtNewPasswd.Text=""ThenMsgBox"请输入你新密码!",vbOKOnly+vbExclamation,"更改密码"TxtNewPasswd.SetFocusExitSubEndIfIfTxtNewPasswd.Text<>TxtNewPasswdC.TextThenMsgBox"密码输入不一致,请重试!",vbOKOnly+vbExclamation,"更改密码"TxtPasswd.Text=""TxtNewPasswd.Text=""TxtNewPasswdC.Text=""TxtPasswd.SetFocusExitSubEndIfIfcheckUserID(TxtUserID.Text)ThenAdodc1.CommandType=adCmdTextAdodc1.RecordSource="select*from[Admin]where[顾客密码]="""&TxtPasswd.Text&"""and[顾客ID]="""&TxtUserID.Text&""""Adodc1.RefreshIfAdodc1.Recordset.RecordCount>0ThenAdodc1.Recordset.MoveFirstAdodc1.Recordset!顾客密码=TxtNewPasswd.TextAdodc1.Recordset.UpdateElseMsgBox"顾客密码验证错误!你无权修改密码!",vbOKOnly+vbExclamation,"密码错误"TxtPass

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论