数据库课程设计网吧管理系统设计报告书.docx

上传人:b****0 文档编号:9251245 上传时间:2023-05-17 格式:DOCX 页数:31 大小:151.86KB
下载 相关 举报
数据库课程设计网吧管理系统设计报告书.docx_第1页
第1页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第2页
第2页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第3页
第3页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第4页
第4页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第5页
第5页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第6页
第6页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第7页
第7页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第8页
第8页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第9页
第9页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第10页
第10页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第11页
第11页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第12页
第12页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第13页
第13页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第14页
第14页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第15页
第15页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第16页
第16页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第17页
第17页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第18页
第18页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第19页
第19页 / 共31页
数据库课程设计网吧管理系统设计报告书.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库课程设计网吧管理系统设计报告书.docx

《数据库课程设计网吧管理系统设计报告书.docx》由会员分享,可在线阅读,更多相关《数据库课程设计网吧管理系统设计报告书.docx(31页珍藏版)》请在冰点文库上搜索。

数据库课程设计网吧管理系统设计报告书.docx

数据库课程设计网吧管理系统设计报告书

设计题目

网吧管理系统

设计技术

参数

1.题目要达到的目标:

完成系统的登陆、数据的插入删除修改统计等基本操作。

2.数据库:

采用关系数据库ACCESS2003/SQLSERVER2000。

3.所使用的语言、工具:

VB6.0+ACCESS2003+WINDOWSXP。

4.所采用的技术、系统结构:

ADO数据库联接技术,系统结构为C/S结构。

1.上机前预先把所有的源程序编写好。

2.上机时不得迟到,不得缺席,爱护设备,认真调试程序。

3.仔细查阅相关资料,认真完成思考题。

4.按要求书写设计任务书,并按要求按版打印,不得雷同。

工作量

一周

周一听取教师布置设计的任务及要求。

周二学生查阅相关资料,进行数据库设计。

周三至周五:

详细设计与界面设计。

周一至周四程序设计与上机,调试源程序。

周五书写课程设计任务书。

参考资料

《数据库系统概论》

《数据库系统概论实验指导书》自编

《数据库系统概论课程设计大纲》等自编

指导教师评语

该生在数据库系统概论课程设计期间:

上机时不迟到,不缺席,爱护设备,认真调试程序。

仔细查阅相关资料,认真完成作业。

听从指导教师安排。

在设计与实现过程中,能使设计的系统达到预期设计要求,功能合理,流程清楚,语句条理通顺。

按要求书写设计任务书,其论文格式规范,图表清晰合理,资料详实。

系统界面友好,程序运行基本正常,功能完备。

 

说明:

此表一式四份,学生、指导教师、教研室、系部各一份。

可加附页。

2008年7月4

 

第一章概述

随着上个世纪九十年代计算机网络的高速发展,人类进入到了网络化、信息化的时代。

而网络的发展带动了一种新兴产业——网吧行业。

从上世纪九十年代至今,网吧经历了前所未有的发展。

从小规模到大规模,从单一经营到连锁经营,从简单提供上网服务演变到休息、娱乐场所。

这就带来了新的问题——网吧管理。

  目前,网吧的人工管理已经不能适应网吧的高速发展,成为阻碍网吧发展的桎梏。

因此开发一套完善的网吧管理系统成为网吧发展的首要任务。

  本系统主要负责服务器子系统的设计。

采用功能强大的VisualBasic6.0作为开发工具,MicrosoftAccess作为数据库平台。

  本系统采用C/S结构。

它将一个应用系统分成两大部分,由多台计算机分别执行,协同完成整个系统的应用,从而达到系统中软、硬件资源最大限度的利用。

因此,对于一个相对专用、独立的系统,它是—个较好的系统建立方法。

因此,本设计采用这一模式。

  本系统从操作简便、界面友好、灵活、实用、安全的要求出发,实现较为简单。

本系统设计功能较为齐全,适合于中小型网吧的管理。

第二章问题定义

网吧管理人员:

系统的录入人员,主要指管理各种档案的工作人员,需要通过密码才能进入。

他们拥有对系统数据的录入、修改、查询、删除等操作权限。

但不可以更改系统密码。

上机人员:

权限最低的登入人员,当上网时间到了之后就会被提示。

第三章需求分析

一、主要功能:

完成网吧管理人员对上机人员的调整,对机器的分配,以及纪录用户的上机时间,并对整个网吧的系统进行管理。

因此,本系统应该主要完成和实现如下功能:

初始化系统数据;

录入登陆人员的基本信息数据;

上机时间,下机时间的基本设定;

查询机器的剩余时间;

计算上机的费用;

人员信息:

在该项内容中将包括的数据库项有用户名,用户密码,密码确认,开户时间,开户金额,开户总机时,剩余时间,上机次数,备注。

会员信息:

用户名,用户密码,密码确认,开户时间,开户金额,折扣,总时间,上机次数,备注。

机器编号:

ID,IP。

 

二、数据流图(DFD):

 

三、数据字典(DD):

ClientIP=ID+IP

History=ID+用户名+机器号+开始时间+结束时间+应付费

Member=用户名+用户密码+密码确认+开户时间+开户金额+折扣+总时间+上机次数+备注

 

四、程序流程图:

 

 

五、功能结构图:

 

 

网吧管理系统模块

 

 

时间设定模块

 

第四章数据库设计

二、逻辑设计:

下面列出几个主要的数据库表设计:

4.1ClientIP表:

序号

中文名

字段名

类型

备注

0

ID

3

字符型

主键

1

IP

10

文本archar

 

4.2history表:

序号

中文名

字段名

类型

备注

0

ID

2

字符型

主键

1

userID

(10,2)

文本型

2

pcid

2

数字

3

starttime

日期时间

4

endtime

日期时间

5

pay

2

货币

 

4.3member表:

序号

中文名

字段名

类型

备注

0

userID

10

文本符型

主键

1

Pwd

10

文本符型

2

ChkPwd

10

文本类型

3

DataTime

日期时间

4

Balance

2

数字

5

Discount

2

数字

6

Totaltime

2

数字

7

CountNum

2

数字

9

Memo

备注

4.3member1表:

序号

中文名

字段名

类型

备注

0

userID

10

文本符型

主键

1

Pwd

10

文本符型

2

ChkPwd

10

文本类型

3

DataTime

日期时间

4

Balance

2

数字

5

Discount

2

数字

6

Totaltime

2

数字

7

CountNum

2

数字

9

Memo

备注

4.4online表:

序号

中文名

字段名

类型

备注

0

ID

10

字符型

主键

1

ClientID

(10,2)

字符型archar

2

LoginTime

时间日期

3

TimeOut

10

字符型

4.4online表:

序号

中文名

字段名

类型

备注

0

ID

10

字符型

主键

1

Mstate

(是,否)

判断

2

Jstate

文本

3

stime

日期

4

Endtime

日期

5

Time

10

数字

6

Money

货币

7

Ltime

10

数字

8

Userid

文本

9

uprice

货币

三、物理设计

写索引是如何设计的:

写索引是如何设计的:

镞索引是行的物理顺序和索引的顺序是一致的。

页级,低层等索引的各个级别上都包含实际的数据页。

一个表只能是有一个镞索引。

由于update,delete语句要求相对多一些的读操作,因此镞索引常常能加速这样的操作。

在至少有一个索引的表中,你应该有一个镞索引

第五章界面设计

一、主界面

单击主界面上的各个按钮,可以进入相应的界面中。

二、系统设置

对参数进行设置

功能介绍,相关控件;

三、查询上机时间等信息

功能介绍,相关控件;

第六章代码与注释

一、窗体1代码

OptionExplicit

PrivateSubcmdexit_Click()

UnloadMe

EndSub

PrivateSubcmdcounter_Click()

DimcnAsADODB.Connection

DimiAsInteger

DimrstAsADODB.Recordset

DimstrsqlAsString

Setcn=NewConnection

Setrst=NewADODB.Recordset

cn.Openconcn

'Íùhistory±íÖÐÌí¼Ó¼Ç¼

frmManager.Adodc1.Recordset!

endtime=Now()

txtmoney.Text=frmManager.Adodc1.Recordset!

Time*frmManager.Adodc1.Recordset!

uprice

'×¢Òâʱ¼ä×ֶεÄÌí¼Ó·½·¨£¬#

strsql="insertintohistory(pcid,starttime,endtime,pay)values("&frmManager.Adodc1.Recordset!

Mid&",#"&frmManager.Adodc1.Recordset!

stime&"#,#"&frmManager.Adodc1.Recordset!

endtime&"#,"&txtmoney.Text&")"

Debug.Printstrsql

cn.Executestrsql

'Êշѳɹ¦£¬Êý¾Ý³õʼ»¯

WithfrmManager.Adodc1

.Recordset!

mstate=0

.Recordset!

[stime]=0

.Recordset!

[jstate]="δ¼Æ·Ñ"

.Recordset!

[Money]=0

.Recordset!

[endtime]=0

.Recordset!

[Time]=0

.Recordset!

[lTime]=0

.Recordset!

[userID]=""

OnErrorGoToerror_proc

.Recordset.Save

EndWith

frmManager.Refresh'ʹÊý¾Ýͬ²½ÏÔʾ

MsgBox"Êշѳɹ¦"

UnloadMe

ExitSub

error_proc:

MsgBoxErr.Description,vbCritical,"ÖØÊÔ"

UnloadMe

EndSub

PrivateSubcmdvipexit_Click()

UnloadMe

EndSub

PrivateSubcmdvipcounter_Click()

DimGdiscountAsDouble

DimcnAsADODB.Connection

DimiAsInteger

DimrstAsADODB.Recordset

DimstrsqlAsString

DimupriceAsDouble

Setcn=NewConnection

Setrst=NewADODB.Recordset

cn.Openconcn

frmManager.Adodc1.Recordset!

endtime=Now()

Gdiscount=frmMember.datPrimaryRS.Recordset!

[DISCOUNT]'»áÔ±µÄÕË»§ÉϵĽð¶î

txtvipmoney.Text=frmManager.Adodc1.Recordset!

Time*frmManager.Adodc1.Recordset!

[uprice]*Gdiscount

strsql="insertintohistory(pcid,starttime,endtime,pay,userid)values("&frmManager.Adodc1.Recordset!

[Mid]&",#"&frmManager.Adodc1.Recordset!

stime&"#,#"&frmManager.Adodc1.Recordset!

endtime&"#,"&txtvipmoney.Text&","""&frmManager.Adodc1.Recordset!

userID&""")"

cn.Executestrsql

'¸üÐÂMEMBER±í

strsql="updatemembersetcountNum=countNum+1,TOTALTIME=TOTALTIME+"&frmManager.Adodc1.Recordset!

Time&",balance=balance-"&CSng(txtvipmoney.Text)&"WHEREuserid="""&frmManager.Adodc1.Recordset!

[userID]&""""

cn.Executestrsql

'²é³öÓû§Óà¶î

strsql="selectbalancefrommemberwhereuserid="""&frmManager.Adodc1.Recordset!

[userID]&""""

rst.Openstrsql,cn,adOpenDynamic,adLockOptimistic

Ifrst.BOFAndrst.EOFThen

MsgBox"SystemError5"

ExitSub

EndIf

uprice=rst("balance")

Ifuprice<0Then

MsgBox"Óû§"&frmManager.Adodc1.Recordset!

[userID]&"ÒѾÇ··Ñ"&(-uprice)&"Ôª"

EndIf

strsql="updatepcsetmstate=0,stime=0,jstate=""δ¼Æ·Ñ"",[money]=0,endtime=0,ltime=0,[time]=0,userid=""""wheremid="&frmManager.Adodc1.Recordset!

[Mid]

OnErrorGoToerror_proc

cn.Executestrsql

rst.Close

Setrst=Nothing

cn.Close

Setcn=Nothing

frmManager.Refresh'ʹÊý¾Ýͬ²½ÏÔʾ

MsgBox"»áÔ±Êշѳɹ¦"

UnloadMe

ExitSub

error_proc:

MsgBoxErr.Description,vbCritical,"ÖØÊÔ"

UnloadMe

EndSub

 

PrivateSubForm_Load()

'´ÓÊý¾Ý¿âÖлñÈ¡ÉÏÍøʱ¼ä

IfIsNull(frmManager.Adodc1.Recordset!

[Time])=FalseThen

'×¢Òâ²»ÄÜÓÃÕâÖÖÐÎʽ¸³Öµtxttime.Text=txtviptime.Text=frmManager.Adodc1.Recordset!

[Time]&""

'ÏÔʾÉÏÍøÓ¦¸¶½ð¶î

If(frmManager.Adodc1.Recordset!

[userID]="")Or(IsNull(frmManager.Adodc1.Recordset!

[userID]))Then

frmCounter.SSTab1.Tab=0

txttime.Text=frmManager.Adodc1.Recordset!

[Time]&""

txtmoney.Text=frmManager.Adodc1.Recordset!

Time*frmManager.Adodc1.Recordset!

uprice&""

frmCounter.cmdvipcounter.Visible=False

Else

frmCounter.SSTab1.Tab=1

txtviptime.Text=frmManager.Adodc1.Recordset!

[Time]&""

txtvipmoney.Text=frmManager.Adodc1.Recordset!

Time*frmManager.Adodc1.Recordset!

uprice&""

frmCounter.cmdcounter.Visible=False

EndIf

Else

MsgBox"ÉÏÍøʱ¼äΪÁã"

EndIf

EndSub

二、窗体2代码

OptionExplicit

 

PrivateSubForm_Load()

datPrimaryRS.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"\mechanicID.mdb;PersistSecurityInfo=False"

datPrimaryRS.CommandType=adCmdTable

datPrimaryRS.RecordSource="history"

datPrimaryRS.Refresh

EndSub

PrivateSubForm_Resize()

OnErrorResumeNext

'µ±´°Ìåµ÷Õûʱ»áµ÷ÕûÍø¸ñ

grdDataGrid.Height=Me.ScaleHeight-datPrimaryRS.Height-30-picButtons.Height

EndSub

PrivateSubForm_Unload(CancelAsInteger)

Screen.MousePointer=vbDefault

EndSub

PrivateSubdatPrimaryRS_Error(ByValErrorNumberAsLong,DescriptionAsString,ByValScodeAsLong,ByValSourceAsString,ByValHelpFileAsString,ByValHelpContextAsLong,fCancelDisplayAsBoolean)

'´íÎó´¦Àí³ÌÐò´úÂëÖÃÓÚ´Ë´¦

'ÏëÒªºöÂÔ´íÎó£¬×¢Ê͵ôÏÂÒ»ÐÐ

'ÏëÒª²¶»ñËüÃÇ£¬ÔÚ´ËÌí¼Ó´úÂëÒÔ´¦ÀíËüÃÇ

MsgBox"Dataerroreventhiterr:

"&Description

EndSub

 

PrivateSubcmdDelete_Click()

OnErrorGoToDeleteErr

WithdatPrimaryRS.Recordset

.Delete

.MoveNext

If.EOFThen.MoveLast

EndWith

ExitSub

DeleteErr:

MsgBoxErr.Description

EndSub

PrivateSubcmdClose_Click()

UnloadMe

EndSub

三、窗体3代码

OptionExplicit

PrivateSubcmdok_Click()

IftxtHour.Text=""Then

MsgBox"ÄãµÄʱ¼äÊäÈë²»ÄÜΪ¿Õ,ÇëÖØÊÔ!

",vbCritical

txtHour.Text=""

txtHour.SetFocus

Else

frmManager.Adodc1.Recordset!

mstate=1

frmManager.Adodc1.Recordset!

[lTime]=txtHour.Text

frmManager.Adodc1.Recordset!

[stime]=Now()

frmManager.Adodc1.Recordset!

[jstate]="¼Æ·ÑÖÐ"

frmManager.Adodc1.Recordset.Save

UnloadMe

EndIf

EndSub

PrivateSubcmdcancel_Click()

UnloadMe

EndSub

PrivateSubForm_Load()

'DimcnAsADODB.Connection

'DimrstAsADODB.Recordset

'Setcn=NewConnection

'Setrst=NewADODB.Recordset

'cn.Openconcn

EndSub

四、窗体4代码

OptionExplicit

PublicblnReceivedAsBoolean

PublicblnOnlineOKAsBoolean'ÅжÏÊÇ·ñÔÚÏß

PublicstrDataAsString

 

PrivateSubDataGrid1_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

'°´ÏÂÓÒ¼ü£¬µ¯³ö²Ëµ¥

IfButton=2ThenPopupMenumnupopup

EndSub

PrivateSubForm_Activate()

'Ò»¼¤»î¾ÍÕ¼ÆÁÄ»µÄÖмä

datagrid1.Left=(Me.ScaleWidth-datagrid1.Width)/2

EndSub

PrivateSubForm_Load()

'Êý¾ÝÁ¬½Ó³õʼ»¯

Adodc1.ConnectionString=concn

Adodc1.CommandType=adCmdTable

Adodc1.RecordSource="pc"

Adodc1.Refresh

CallDisableX(Me)'½ûÓùرմ°Ìå

DimcnAsADODB.Connection

DimrsAsADODB.Recordset

DimsqlAsString

Setcn=NewADODB.Connection

Setrs=NewADODB.Recordset

cn.Openconcn

sql="selectid,ipfromclientip"

rs.Opensql,cn,adOpenKeyset

rs.MoveNext

rs.MoveFirst

glngClientNum

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2