版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、设计题目网吧管理系统设计技术参数1 题目要达到的目标:完成系统的登陆、数据的插入删除修改统计等基本操作。2 数据库:采用关系数据库access2003/sqlserver2000。3 所使用的语言、工具:vb6.0+access2003+windowsxp。4 所采用的技术、系统结构:ado数据库联接技术,系统结构为c/s结构。设计要求1 上机前预先把所有的源程序编写好。2 上机时不得迟到,不得缺席,爱护设备,认真调试程序。3 仔细查阅相关资料,认真完成思考题。4 按要求书写设计任务书,并按要求按版打印,不得雷同。工作量一周工作计划周一听取教师布置设计的任务及要求。周二学生查阅相关资料,进行数
2、据库设计。周三至周五:详细设计与界面设计。周一至周四程序设计与上机,调试源程序。周五书写课程设计任务书。参考资料数据库系统概论数据库系统概论实验指导书自编数据库系统概论课程设计大纲等自编指导教师评语该生在数据库系统概论课程设计期间:上机时不迟到,不缺席,爱护设备,认真调试程序。仔细查阅相关资料,认真完成作业。听从指导教师安排。在设计与实现过程中,能使设计的系统达到预期设计要求,功能合理,流程清楚,语句条理通顺。按要求书写设计任务书,其论文格式规范,图表清晰合理,资料详实。系统界面友好,程序运行基本正常,功能完备。说明:此表一式四份,学生、指导教师、教研室、系部各一份。可加附页。2008年 7
3、月 4 目录第一章 概述2第二章 问题定义2第三章 需求分析4第四章 数据库设计7第五章 界面设计9第六章 代码11第一章 概述随着上个世纪九十年代计算机网络的高速发展,人类进入到了网络化、信息化的时代。而网络的发展带动了一种新兴产业网吧行业。从上世纪九十年代至今,网吧经历了前所未有的发展。从小规模到大规模,从单一经营到连锁经营,从简单提供上网服务演变到休息、娱乐场所。这就带来了新的问题网吧管理。目前,网吧的人工管理已经不能适应网吧的高速发展,成为阻碍网吧发展的桎梏。因此开发一套完善的网吧管理系统成为网吧发展的首要任务。本系统主要负责服务器子系统的设计。采用功能强大的visual basic6
4、.0作为开发工具,microsoft access作为数据库平台。本系统采用c/s结构。它将一个应用系统分成两大部分,由多台计算机分别执行,协同完成整个系统的应用,从而达到系统中软、硬件资源最大限度的利用。因此,对于一个相对专用、独立的系统,它是个较好的系统建立方法。因此,本设计采用这一模式。本系统从操作简便、界面友好、灵活、实用、安全的要求出发,实现较为简单。本系统设计功能较为齐全,适合于中小型网吧的管理。第二章 问题定义网吧管理人员:系统的录入人员,主要指管理各种档案的工作人员,需要通过密码才能进入。他们拥有对系统数据的录入、修改、查询、删除等操作权限。但不可以更改系统密码。上机人员:权限
5、最低的登入人员,当上网时间到了之后就会被提示。第三章 需求分析一、主要功能: 完成网吧管理人员对上机人员的调整,对机器的分配,以及纪录用户的上机时间,并对整个网吧的系统进行管理。因此,本系统应该主要完成和实现如下功能:初始化系统数据;录入登陆人员的基本信息数据;上机时间,下机时间的基本设定;查询机器的剩余时间;计算上机的费用;人员信息: 在该项内容中将包括的数据库项有用户名,用户密码,密码确认,开户时间,开户金额,开户总机时,剩余时间,上机次数,备注。会员信息:用户名,用户密码,密码确认,开户时间,开户金额,折扣,总时间,上机次数,备注。机器编号:id,ip。二、数据流图(dfd):三、数据字
6、典(dd): clientip=id+iphistory=id+用户名+机器号+开始时间+结束时间+应付费member=用户名+用户密码+密码确认+开户时间+开户金额+折扣+总时间+上机次数+备注四、程序流程图:不限时限时系统主界面时间类型时间设置系统设置调用系统菜单退出系统五、功能结构图:网吧管理系统登陆人员信息上机时间设定费用汇总下机时间查询退出 网吧管理系统模块时间的基本设定 下机时间上机时间总时间时间设定模块第四章 数据库设计二、逻辑设计:下面列出几个主要的数据库表设计:4.1 clientip表:序号中文名字段名类型备注0id3字符型 主键1ip10文本archar4.2histor
7、y表:序号中文名字段名类型备注0id2字符型主键1userid(10,2)文本型 2pcid 2数字3starttime日期时间4endtime日期时间5pay 2货币4.3member表:序号中文名字段名类型备注0userid10文本符型主键1pwd10文本符型2chkpwd10文本类型3datatime日期时间4balance2数字5discount2数字6totaltime2数字7countnum2数字9memo备注4.3member1表:序号中文名字段名类型备注0userid10文本符型主键1pwd10文本符型2chkpwd10文本类型3datatime日期时间4balance2数字5
8、discount2数字6totaltime2数字7countnum2数字9memo备注4.4online表:序号中文名字段名类型备注0id10字符型 主键1clientid(10,2)字符型archar2logintime时间日期3timeout 10字符型4.4online表:序号中文名字段名类型备注0id10字符型 主键1mstate(是,否)判断2jstate文本3stime日期4endtime日期5time 10数字6money货币7ltime10数字8userid文本9uprice货币三、物理设计写索引是如何设计的:写索引是如何设计的:镞索引是行的物理顺序和索引的顺序是一致的。页级,
9、低层等索引的各个级别上都包含实际的数据页。一个表只能是有一个镞索引。由于update,delete语句要求相对多一些的读操作,因此镞索引常常能加速这样的操作。在至少有一个索引的表中,你应该有一个镞索引第五章 界面设计一、主界面单击主界面上的各个按钮,可以进入相应的界面中。二、系统设置对参数进行设置功能介绍,相关控件;三、查询上机时间等信息功能介绍,相关控件;第六章 代码与注释一、窗体1代码option explicitprivate sub cmdexit_click()unload meend subprivate sub cmdcounter_click() dim cn as adodb
10、.connection dim i as integer dim rst as adodb.recordset dim strsql as string set cn = new connection set rst = new adodb.recordset cn.open concn history frmmanager.adodc1.recordset!endtime = now() txtmoney.text = frmmanager.adodc1.recordset!time * frmmanager.adodc1.recordset!uprice # strsql = insert
11、 into history (pcid,starttime,endtime,pay) values ( & frmmanager.adodc1.recordset!mid & ,# & frmmanager.adodc1.recordset!stime & #,# & frmmanager.adodc1.recordset!endtime & #, & txtmoney.text & ) debug.print strsql cn.execute strsql with frmmanager.adodc1 .recordset!mstate = 0 .recordset!stime = 0 .
12、recordset!jstate = .recordset!money = 0 .recordset!endtime = 0 .recordset!time = 0 .recordset!ltime = 0 .recordset!userid = on error goto error_proc .recordset.save end with frmmanager.refresh msgbox unload me exit sub error_proc: msgbox err.description, vbcritical, unload meend subprivate sub cmdvi
13、pexit_click()unload meend subprivate sub cmdvipcounter_click() dim gdiscount as double dim cn as adodb.connection dim i as integer dim rst as adodb.recordset dim strsql as string dim uprice as double set cn = new connection set rst = new adodb.recordset cn.open concn frmmanager.adodc1.recordset!endt
14、ime = now() gdiscount = frmmember.datprimaryrs.recordset!discount txtvipmoney.text = frmmanager.adodc1.recordset!time * frmmanager.adodc1.recordset!uprice * gdiscount strsql = insert into history (pcid,starttime,endtime,pay,userid) values ( & frmmanager.adodc1.recordset!mid & ,# & frmmanager.adodc1.
15、recordset!stime & #,# & frmmanager.adodc1.recordset!endtime & #, & txtvipmoney.text & , & frmmanager.adodc1.recordset!userid & ) cn.execute strsql member strsql = update member set countnum=countnum+1,totaltime=totaltime+ & frmmanager.adodc1.recordset!time & , balance=balance- & csng(txtvipmoney.tex
16、t) & where userid= & frmmanager.adodc1.recordset!userid & cn.execute strsql strsql = select balance from member where userid= & frmmanager.adodc1.recordset!userid & rst.open strsql, cn, adopendynamic, adlockoptimistic if rst.bof and rst.eof then msgbox system error5 exit sub end if uprice = rst(bala
17、nce) if uprice =ltime and ltime0 and jstate= rst.open strsql, cn, adopendynamic, adlockoptimistic if rst.recordcount 0 then rst.movefirst while not rst.eof rst!jstate = rst.update msgbox ( & rst!mid & ) rst.movenext wend end if adodc1.recordset.absoluteposition = iend subprivate sub timer3_timer() d
18、im cn as adodb.connection dim rst as adodb.recordset dim strsql as string set cn = new adodb.connection set rst = new adodb.recordset cn.open concn strsql = select clientid from online rst.open strsql, cn if rst.bof and rst.eof then exit sub end if while not rst.eof addtimeout rst(clientid) rst.move
19、next wendend subprivate sub toolbar1_buttonclick(byval button as mscomctllib.button) dim pc_numbera as integer dim cn as adodb.connection dim i as integer dim rst as adodb.recordset set cn = new connection set rst = new adodb.recordset cn.open concn frmmanager.datagrid1.row = frmmanager.datagrid1.ro
20、w frmmanager.datagrid1.col = 0 pc_number1 = frmmanager.datagrid1.text pc_numbera = cint(pc_number1) select case button.key case cmdnumberid case cmdtiming frmtiming.show case cmdlimittime frmlimittime.show case cmdlock forcescreenlock pc_numbera pc_numbera = 0 case cmdpoweroff forceshutdown pc_numbe
21、ra case cmdreboot forcereboot pc_numbera case cmdreleaselock releaselock pc_numbera pc_numbera = 0 end select pc_numbera = 0end sub public sub winsock1_dataarrival(byval bytestotal as long) dim params() as string if bytestotal 0 then on error goto error_proc winsock1.getdata strdata serverdealdata s
22、trdata exit sub end iferror_proc: if err.number = 10054 then msgbox msgbox err.descriptionend sub五、窗体5代码private sub form_load()datprimaryrs.connectionstring = concndatprimaryrs.commandtype = adcmdtabledatprimaryrs.recordsource = memberdatprimaryrs.refreshend subprivate sub datprimaryrs_error(byval e
23、rrornumber as long, description as string, byval scode as long, byval source as string, byval helpfile as string, byval helpcontext as long, fcanceldisplay as boolean) msgbox data error event hit err: & descriptionend subprivate sub form_resize() on error resume next grddatagrid.width = me.scalewidt
24、h grddatagrid.height = me.scaleheight - grddatagrid.top - datprimaryrs.height - 30 - picbuttons.heightend subprivate sub form_unload(cancel as integer) screen.mousepointer = vbdefaultend subprivate sub cmdadd_click() on error goto adderr datprimaryrs.recordset.addnew exit subadderr: msgbox err.descr
25、iptionend subprivate sub cmddelete_click() on error goto deleteerr with datprimaryrs.recordset .delete .movenext if .eof then .movelast end with msgbox exit subdeleteerr: msgbox err.descriptionend subprivate sub cmdupdate_click() on error goto updateerr datprimaryrs.recordset.updatebatch adaffectall
26、 msgbox exit subupdateerr: msgbox err.descriptionend subprivate sub cmdclose_click() unload meend sub四、窗体4代码private sub form_load() datprimaryrs.connectionstring = provider=microsoft.jet.oledb.4.0;data source= & app.path & mechanicid.mdb;persist security info=false datprimaryrs.commandtype = adcmdta
27、bledatprimaryrs.recordsource = admidatprimaryrs.refreshend subprivate sub form_resize() on error resume next grddatagrid.width = me.scalewidth grddatagrid.height = me.scaleheight - grddatagrid.top - datprimaryrs.height - 30 - picbuttons.heightend subprivate sub form_unload(cancel as integer) screen.
28、mousepointer = vbdefaultend subprivate sub datprimaryrs_error(byval errornumber as long, description as string, byval scode as long, byval source as string, byval helpfile as string, byval helpcontext as long, fcanceldisplay as boolean) msgbox data error event hit err: & descriptionend subprivate sub cmdadd_click() on error goto adderr datprimaryrs.recordset.addnew exit subadderr: msgbox err.descriptionend subprivate sub cmddelete_click() on error goto deleteerr with datprimaryrs.recordset .delete .movenext if .eof then .movelast end with exit subdeleteerr: msgbox
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新疆警察学院《怪物角色动作设计》2023-2024学年第一学期期末试卷
- 校园防欺凌防侵害安全教育
- 2024年保险业务员个人工作总结(34篇)
- 水泥涵洞销售合同范例
- 出售铁皮房子合同范例
- 光伏发电租地劳务合同范例
- 《优育婴儿期》课件
- 俄文合同范例
- 造价公司解聘合同范例
- 演出导播合同范例
- 部编版四年级语文上册课内阅读复习试题含答案全套
- 国开电大专科《公共行政学》形考任务三试题及答案
- TD-T 1044-2014 生产项目土地复垦验收规程
- 小学一、二年级科技节活动规则说明PPT
- 企业所得税月(季)度预缴纳税申报表A类
- GB/T 36447-2018多媒体教学环境设计要求
- 摄影课程 3、中国摄影史
- GB/T 16717-2013包装容器重型瓦楞纸箱
- 《建设工程全过程质量行为导则》解读2021
- 出境竹木草制品企业管理手册(精)
- 预防中心静脉导管感染相关知识考核试题及答案
评论
0/150
提交评论