數(shù)據(jù)庫課程設(shè)計網(wǎng)吧管理系統(tǒng)設(shè)計報告書_第1頁
數(shù)據(jù)庫課程設(shè)計網(wǎng)吧管理系統(tǒng)設(shè)計報告書_第2頁
數(shù)據(jù)庫課程設(shè)計網(wǎng)吧管理系統(tǒng)設(shè)計報告書_第3頁
數(shù)據(jù)庫課程設(shè)計網(wǎng)吧管理系統(tǒng)設(shè)計報告書_第4頁
數(shù)據(jù)庫課程設(shè)計網(wǎng)吧管理系統(tǒng)設(shè)計報告書_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、設(shè)計題目網(wǎng)吧管理系統(tǒng)設(shè)計技術(shù)參數(shù)1 題目要達(dá)到的目標(biāo):完成系統(tǒng)的登陸、數(shù)據(jù)的插入刪除修改統(tǒng)計等基本操作。2 數(shù)據(jù)庫:采用關(guān)系數(shù)據(jù)庫access2003/sqlserver2000。3 所使用的語言、工具:vb6.0+access2003+windowsxp。4 所采用的技術(shù)、系統(tǒng)結(jié)構(gòu):ado數(shù)據(jù)庫聯(lián)接技術(shù),系統(tǒng)結(jié)構(gòu)為c/s結(jié)構(gòu)。設(shè)計要求1 上機(jī)前預(yù)先把所有的源程序編寫好。2 上機(jī)時不得遲到,不得缺席,愛護(hù)設(shè)備,認(rèn)真調(diào)試程序。3 仔細(xì)查閱相關(guān)資料,認(rèn)真完成思考題。4 按要求書寫設(shè)計任務(wù)書,并按要求按版打印,不得雷同。工作量一周工作計劃周一聽取教師布置設(shè)計的任務(wù)及要求。周二學(xué)生查閱相關(guān)資料,進(jìn)行數(shù)

2、據(jù)庫設(shè)計。周三至周五:詳細(xì)設(shè)計與界面設(shè)計。周一至周四程序設(shè)計與上機(jī),調(diào)試源程序。周五書寫課程設(shè)計任務(wù)書。參考資料數(shù)據(jù)庫系統(tǒng)概論數(shù)據(jù)庫系統(tǒng)概論實(shí)驗指導(dǎo)書自編數(shù)據(jù)庫系統(tǒng)概論課程設(shè)計大綱等自編指導(dǎo)教師評語該生在數(shù)據(jù)庫系統(tǒng)概論課程設(shè)計期間:上機(jī)時不遲到,不缺席,愛護(hù)設(shè)備,認(rèn)真調(diào)試程序。仔細(xì)查閱相關(guān)資料,認(rèn)真完成作業(yè)。聽從指導(dǎo)教師安排。在設(shè)計與實(shí)現(xiàn)過程中,能使設(shè)計的系統(tǒng)達(dá)到預(yù)期設(shè)計要求,功能合理,流程清楚,語句條理通順。按要求書寫設(shè)計任務(wù)書,其論文格式規(guī)范,圖表清晰合理,資料詳實(shí)。系統(tǒng)界面友好,程序運(yùn)行基本正常,功能完備。說明:此表一式四份,學(xué)生、指導(dǎo)教師、教研室、系部各一份。可加附頁。2008年 7

3、月 4 目錄第一章 概述2第二章 問題定義2第三章 需求分析4第四章 數(shù)據(jù)庫設(shè)計7第五章 界面設(shè)計9第六章 代碼11第一章 概述隨著上個世紀(jì)九十年代計算機(jī)網(wǎng)絡(luò)的高速發(fā)展,人類進(jìn)入到了網(wǎng)絡(luò)化、信息化的時代。而網(wǎng)絡(luò)的發(fā)展帶動了一種新興產(chǎn)業(yè)網(wǎng)吧行業(yè)。從上世紀(jì)九十年代至今,網(wǎng)吧經(jīng)歷了前所未有的發(fā)展。從小規(guī)模到大規(guī)模,從單一經(jīng)營到連鎖經(jīng)營,從簡單提供上網(wǎng)服務(wù)演變到休息、娛樂場所。這就帶來了新的問題網(wǎng)吧管理。目前,網(wǎng)吧的人工管理已經(jīng)不能適應(yīng)網(wǎng)吧的高速發(fā)展,成為阻礙網(wǎng)吧發(fā)展的桎梏。因此開發(fā)一套完善的網(wǎng)吧管理系統(tǒng)成為網(wǎng)吧發(fā)展的首要任務(wù)。本系統(tǒng)主要負(fù)責(zé)服務(wù)器子系統(tǒng)的設(shè)計。采用功能強(qiáng)大的visual basic6

4、.0作為開發(fā)工具,microsoft access作為數(shù)據(jù)庫平臺。本系統(tǒng)采用c/s結(jié)構(gòu)。它將一個應(yīng)用系統(tǒng)分成兩大部分,由多臺計算機(jī)分別執(zhí)行,協(xié)同完成整個系統(tǒng)的應(yīng)用,從而達(dá)到系統(tǒng)中軟、硬件資源最大限度的利用。因此,對于一個相對專用、獨(dú)立的系統(tǒng),它是個較好的系統(tǒng)建立方法。因此,本設(shè)計采用這一模式。本系統(tǒng)從操作簡便、界面友好、靈活、實(shí)用、安全的要求出發(fā),實(shí)現(xiàn)較為簡單。本系統(tǒng)設(shè)計功能較為齊全,適合于中小型網(wǎng)吧的管理。第二章 問題定義網(wǎng)吧管理人員:系統(tǒng)的錄入人員,主要指管理各種檔案的工作人員,需要通過密碼才能進(jìn)入。他們擁有對系統(tǒng)數(shù)據(jù)的錄入、修改、查詢、刪除等操作權(quán)限。但不可以更改系統(tǒng)密碼。上機(jī)人員:權(quán)限

5、最低的登入人員,當(dāng)上網(wǎng)時間到了之后就會被提示。第三章 需求分析一、主要功能: 完成網(wǎng)吧管理人員對上機(jī)人員的調(diào)整,對機(jī)器的分配,以及紀(jì)錄用戶的上機(jī)時間,并對整個網(wǎng)吧的系統(tǒng)進(jìn)行管理。因此,本系統(tǒng)應(yīng)該主要完成和實(shí)現(xiàn)如下功能:初始化系統(tǒng)數(shù)據(jù);錄入登陸人員的基本信息數(shù)據(jù);上機(jī)時間,下機(jī)時間的基本設(shè)定;查詢機(jī)器的剩余時間;計算上機(jī)的費(fèi)用;人員信息: 在該項內(nèi)容中將包括的數(shù)據(jù)庫項有用戶名,用戶密碼,密碼確認(rèn),開戶時間,開戶金額,開戶總機(jī)時,剩余時間,上機(jī)次數(shù),備注。會員信息:用戶名,用戶密碼,密碼確認(rèn),開戶時間,開戶金額,折扣,總時間,上機(jī)次數(shù),備注。機(jī)器編號:id,ip。二、數(shù)據(jù)流圖(dfd):三、數(shù)據(jù)字

6、典(dd): clientip=id+iphistory=id+用戶名+機(jī)器號+開始時間+結(jié)束時間+應(yīng)付費(fèi)member=用戶名+用戶密碼+密碼確認(rèn)+開戶時間+開戶金額+折扣+總時間+上機(jī)次數(shù)+備注四、程序流程圖:不限時限時系統(tǒng)主界面時間類型時間設(shè)置系統(tǒng)設(shè)置調(diào)用系統(tǒng)菜單退出系統(tǒng)五、功能結(jié)構(gòu)圖:網(wǎng)吧管理系統(tǒng)登陸人員信息上機(jī)時間設(shè)定費(fèi)用匯總下機(jī)時間查詢退出 網(wǎng)吧管理系統(tǒng)模塊時間的基本設(shè)定 下機(jī)時間上機(jī)時間總時間時間設(shè)定模塊第四章 數(shù)據(jù)庫設(shè)計二、邏輯設(shè)計:下面列出幾個主要的數(shù)據(jù)庫表設(shè)計:4.1 clientip表:序號中文名字段名類型備注0id3字符型 主鍵1ip10文本archar4.2histor

7、y表:序號中文名字段名類型備注0id2字符型主鍵1userid(10,2)文本型 2pcid 2數(shù)字3starttime日期時間4endtime日期時間5pay 2貨幣4.3member表:序號中文名字段名類型備注0userid10文本符型主鍵1pwd10文本符型2chkpwd10文本類型3datatime日期時間4balance2數(shù)字5discount2數(shù)字6totaltime2數(shù)字7countnum2數(shù)字9memo備注4.3member1表:序號中文名字段名類型備注0userid10文本符型主鍵1pwd10文本符型2chkpwd10文本類型3datatime日期時間4balance2數(shù)字5

8、discount2數(shù)字6totaltime2數(shù)字7countnum2數(shù)字9memo備注4.4online表:序號中文名字段名類型備注0id10字符型 主鍵1clientid(10,2)字符型archar2logintime時間日期3timeout 10字符型4.4online表:序號中文名字段名類型備注0id10字符型 主鍵1mstate(是,否)判斷2jstate文本3stime日期4endtime日期5time 10數(shù)字6money貨幣7ltime10數(shù)字8userid文本9uprice貨幣三、物理設(shè)計寫索引是如何設(shè)計的:寫索引是如何設(shè)計的:鏃索引是行的物理順序和索引的順序是一致的。頁級,

9、低層等索引的各個級別上都包含實(shí)際的數(shù)據(jù)頁。一個表只能是有一個鏃索引。由于update,delete語句要求相對多一些的讀操作,因此鏃索引常常能加速這樣的操作。在至少有一個索引的表中,你應(yīng)該有一個鏃索引第五章 界面設(shè)計一、主界面單擊主界面上的各個按鈕,可以進(jìn)入相應(yīng)的界面中。二、系統(tǒng)設(shè)置對參數(shù)進(jìn)行設(shè)置功能介紹,相關(guān)控件;三、查詢上機(jī)時間等信息功能介紹,相關(guān)控件;第六章 代碼與注釋一、窗體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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論