|
摘 要 本系統(tǒng)的主要功能是洗車(chē)房信息的管理及對(duì)各種信息的查詢,增加,修改,更新。本系統(tǒng)的數(shù)據(jù)庫(kù)是用SQL server 2008軟件進(jìn)行創(chuàng)建與設(shè)計(jì),分別包括車(chē)輛信息,車(chē)位信息,工資信息和密碼表四個(gè)表。通過(guò)系統(tǒng)ODBC數(shù)據(jù)源管理工具把已創(chuàng)建的數(shù)據(jù)源與系統(tǒng)數(shù)據(jù)庫(kù)相連。利用VB軟件對(duì)系統(tǒng)的窗口進(jìn)行設(shè)計(jì),包括歡迎界面、登陸界面、主菜單界面、瀏覽窗體和查詢窗體等,可以通過(guò)這些窗體進(jìn)行登陸操作,對(duì)輸入的用戶信息進(jìn)行驗(yàn)證,以及最重要的操作是對(duì)數(shù)據(jù)庫(kù)中信息進(jìn)行瀏覽與查詢。并可以對(duì)數(shù)據(jù)進(jìn)行添加與刪除,做到及時(shí)更新。 第1章 系統(tǒng)功能概述 1.1 系統(tǒng)功能 (1)(洗車(chē)記錄的管理與查詢 (2)(車(chē)位信息的管理與查詢 (3)(工資信息的管理與查詢 (4)(工作信息修改 1.2 系統(tǒng)結(jié)構(gòu)總圖 洗車(chē)房管理系統(tǒng)通過(guò)運(yùn)用VB軟件建立,窗口化設(shè)計(jì),對(duì)洗車(chē)房各項(xiàng)工作的查詢,管理,更新。記錄日常工作信息,合理分配工資,及時(shí)查詢工作記錄等 第2章 數(shù)據(jù)庫(kù)設(shè)計(jì) 2.1 需求分析 洗車(chē)房的業(yè)務(wù)很簡(jiǎn)單。來(lái)了一輛車(chē),記錄其車(chē)型、車(chē)牌號(hào)、洗車(chē)時(shí)間、價(jià)格,在那個(gè)車(chē)位洗車(chē)。每個(gè)車(chē)位包含若干洗車(chē)員,一輛車(chē)由多個(gè)洗車(chē)員同時(shí)清洗。洗車(chē)數(shù)量、車(chē)型與洗車(chē)員的工資掛鉤,所以必須準(zhǔn)確計(jì)算每個(gè)洗車(chē)員洗車(chē)的次數(shù)和車(chē)型。必須提供復(fù)雜的查詢功能, 2.2 E-R模型 2.3 關(guān)系模型 一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。根據(jù)E-R圖向關(guān)系模型轉(zhuǎn)換的原則,把E-R圖轉(zhuǎn)換為關(guān)系模型。關(guān)系的碼用下橫線標(biāo)出。 (1)車(chē)輛信息(車(chē)牌號(hào)、車(chē)型信息、洗車(chē)時(shí)間、洗車(chē)價(jià)格、車(chē)位) (2)車(chē)位信息(車(chē)位、洗車(chē)員1、洗車(chē)員2、洗車(chē)員3) (3)工資信息(洗車(chē)員號(hào)碼,工資,總車(chē)輛數(shù),大車(chē)數(shù)量,中車(chē)數(shù)量,小車(chē)數(shù)量) (4)密碼表(賬號(hào)、密碼) 2.4 表結(jié)構(gòu)設(shè)計(jì) 本系統(tǒng)需在SQL Server中建立四個(gè)表,分別為車(chē)輛信息,車(chē)位信息,工資信息和密碼表。 (1)洗車(chē)記錄表的建立與基本數(shù)據(jù): “洗車(chē)記錄表”如圖2.5,SQL 語(yǔ)句如下: create table 洗車(chē)記錄 (車(chē)牌號(hào) char(10) PRIMARY KEY, 車(chē)型 char(10) not null, 洗車(chē)時(shí)間 char(10) not null, 價(jià)格 char(10)not null, 車(chē)位 smallint not null,) ;   圖2.5洗車(chē)記錄表 (2)車(chē)位信息表的建立與基本數(shù)據(jù): “車(chē)位信息表”如圖2.6,SQL 語(yǔ)句如下: create table 車(chē)位信息 (車(chē)位 smallint primary key, 洗車(chē)員1 char(10), 洗車(chē)員2 char(10), 洗車(chē)員3 char(10), );  圖2.6車(chē)位信息表 (3)工資信息表的建立與基本數(shù)據(jù): “工資信息表”如2.7,SQL 語(yǔ)句如下: create table 工資信息 (洗車(chē)員char(10) primary key, 工資 char(10), 數(shù)量 char(10), 大 char(10), 中 char(10), 小 char(10), );  圖2.7工資信息表 (4)系統(tǒng)信息表的建立與基本數(shù)據(jù): “密碼表”如圖2.8,SQL語(yǔ)句如下: Create table 密碼表 (賬號(hào) varchar(10), 密碼 varchar(10));  圖2.8密碼表 第3章 系統(tǒng)各功能模塊的詳細(xì)設(shè)計(jì) 3.1各窗體的設(shè)計(jì) 本洗車(chē)房管理系統(tǒng)共包括11個(gè)窗體,分別為歡迎界面,登錄,注冊(cè)新用戶,車(chē)型信息查詢,車(chē)位信息查詢,工資信息查詢,車(chē)型信息修改,查詢車(chē)牌號(hào),MDI窗體。其中主窗體為MDI窗體。 下面介紹各個(gè)窗體的設(shè)計(jì)語(yǔ)句及實(shí)現(xiàn)功能。 3.2 封面 封面,如圖3.1,標(biāo)題為“洗車(chē)房管理系統(tǒng)”,為此標(biāo)題添加一個(gè)Timer,編輯代碼使其可以定時(shí)變色。點(diǎn)擊“點(diǎn)擊進(jìn)入系統(tǒng)”就可以關(guān)閉本窗體并打開(kāi)登錄窗體。 封面代碼如下: Private Sub Picture1_Click() Form2.Show Unload Me End Sub 3.3登錄窗體 單擊封面,進(jìn)入登錄窗口,如圖3.2,若正確則打開(kāi)下面的主窗體,如圖3.3。登錄代碼 如下: Dim miCount As Integer Private Sub CmdCancel_Click() Unload Me Private Sub CmdLand_Click() Static miCount As Integer Dim sqlstr As String sqlstr = "Select * from 密碼表 Where 賬號(hào)='" & Text1 & "'" Adodc1.RecordSource = sqlstr Adodc1.Refresh If Adodc1.Recordset.BOF Then MsgBox "賬號(hào)錯(cuò)誤,請(qǐng)重新輸入 ", vbExclamation, "警告" Text1.Text = "": Text1.SetFocus Else If Adodc1.Recordset.Fields("密碼") = Text2.Text Then MDIForm1.Show Unload Me Else MsgBox "密碼錯(cuò)誤,請(qǐng)重新輸入 ", vbExclamation, "警告" Text2.Text = "": Text2.SetFocus End If End If miCount = miCount + 1 If miCount = 3 Then Unload Me End Sub  圖3.2登錄圖 3.4 主菜單 設(shè)計(jì)為MDI窗體如圖3.3,含有主菜單:[菜單](包括洗車(chē)記錄)、[文件](包括洗車(chē)員工作記錄)。 [代碼如下: Private Sub xichejilu_Click() Form4.Show End Sub Private Sub shouru_Click() Form6.Show End Sub Private Sub xicheyuan_Click() Form7.Show End Sub Private Sub zuijia_Click() Form9.Show End Sub  圖3.3主菜單圖 3.5洗車(chē)記錄窗體 洗車(chē)記錄窗體用于查詢洗車(chē)記錄及其基本信息。單擊“錄入”按鈕,允許添加新的記錄,當(dāng)單擊確定時(shí),同時(shí)添加新記錄,單擊“刪除”按鈕,刪除已經(jīng)添加的信息 。同時(shí)包含工資信息,修改工作信息,車(chē)位表,查詢車(chē)型信息。登記代碼如下: Private Sub CmdAdd_Click() Adodc1.Recordset.AddNew CmdAdd.Enabled = False CmdDel.Enabled = False CMDOK.Enabled = True CMDESC.Enabled = True Text1.Locked = False Text2.Locked = False Text3.Locked = False Text4.Locked = False Text5.Locked = False End Sub Private Sub CmdDel_Click() x = MsgBox("確實(shí)要?jiǎng)h除當(dāng)前記錄嗎,", vbYesNo + vbQuestion, "確認(rèn)") If x = vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext If Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End If Else Adodc1.Refresh End If End Sub Private Sub CmdFirst_Click() Adodc1.Recordset.MoveFirst ' 記錄指針移到首記錄(顯示首記錄) CmdFirst.Enabled = False ' 讓[首記錄](méi)按鈕無(wú)效 CmdPre.Enabled = False ' 讓[前移]按鈕無(wú)效 CmdNext.Enabled = True ' 讓[后移]按鈕有效 CmdLast.Enabled = True ' 讓[末記錄](méi)按鈕有效 End Sub Private Sub CmdLast_Click() Adodc1.Recordset.MoveLast ' 移到末記錄 CmdFirst.Enabled = True CmdPre.Enabled = True CmdNext.Enabled = False CmdLast.Enabled = False End Sub Private Sub CmdNext_Click() Adodc1.Recordset.MoveNext '記錄指針移到下一條記錄 CmdFirst.Enabled = True CmdPre.Enabled = True If Adodc1.Recordset.EOF Then ' 如果記錄指針移到了末記錄之后 Adodc1.Recordset.MoveLast '則記錄指針移到末記錄上 CmdNext.Enabled = False CmdLast.Enabled = False End If End Sub Private Sub CmdPre_Click() Adodc1.Recordset.MovePrevious '記錄指針移到前一條記錄 CmdNext.Enabled = True CmdLast.Enabled = True If Adodc1.Recordset.BOF Then ' 如果記錄指針移到首記錄之前, Adodc1.Recordset.MoveFirst '則記錄指針移到首記錄上 CmdFirst.Enabled = False CmdPre.Enabled = False End If End Sub Private Sub Command2_Click() Adodc1.Refresh CmdAdd.Enabled = True CmdDel.Enabled = True CMDOK.Enabled = False CMDESC.Enabled = False End Sub Private Sub Command5_Click() Adodc1.Recordset.Update CmdAdd.Enabled = True CmdDel.Enabled = True CMDOK.Enabled = False CMDESC.Enabled = False End Sub Private Sub Command7_Click() Form14.Show End Sub Private Sub Command6_Click() Form10.Show End Sub Private Sub Command8_Click() Form12.Show End Sub Private Sub Command9_Click() Form13.Show End Sub “洗車(chē)記錄”界面用于進(jìn)行對(duì)“洗車(chē)記錄”瀏覽,添加,以及對(duì)其他信息的查詢修改,如圖3.4  圖3.4洗車(chē)記錄瀏覽圖 “修改工作信息”界面用于修改“工作信息”表內(nèi)容,以便對(duì)洗車(chē)員工作記錄進(jìn)行及時(shí)更新,如圖3.5  圖3.5修改工作信息 “工資信息”界面用于顯示工資信息表的內(nèi)容,以便查詢洗車(chē)員工資信息,如圖3.6  圖3.6工資信息圖 “車(chē)位表”界面用于顯示車(chē)位信息,如圖3.7  圖3.7車(chē)位表圖 點(diǎn)擊“查詢車(chē)型信息”進(jìn)入“車(chē)型查詢界面”通過(guò)輸入車(chē)牌號(hào)并點(diǎn)擊“查詢”查詢車(chē)型信息,如圖3.8,代碼如下: Dim str As String str = " Select * From 洗車(chē)記錄" str = str & "WHERE Vnumber Like '" & Text1 & "%'" Adodc1.RecordSource = str Adodc1.Refresh End Sub  圖3.8車(chē)牌號(hào)查詢界面 “洗車(chē)員工作記錄”用于查詢每位洗車(chē)員工作記錄,如圖3.9:  圖3.9洗車(chē)員工作記錄查詢表 總結(jié) 通過(guò)這次數(shù)據(jù)庫(kù)課程設(shè)計(jì),我學(xué)會(huì)了如何利用Microsoft SQL Server2008軟件建立相關(guān)信息的數(shù)據(jù)庫(kù),并通過(guò)Microsoft Visual Basic 6.0實(shí)現(xiàn)對(duì)相關(guān)信息的查詢,將所學(xué)知識(shí)都運(yùn)用到實(shí)踐中去,增加了我對(duì)數(shù)據(jù)庫(kù)的興趣,讓我能更清楚地了解到數(shù)據(jù)庫(kù)在現(xiàn)實(shí)生活中為我們帶來(lái)的極大便利,方便我們將所需要的信息進(jìn)行規(guī)劃和管理,將信息集中管理也為我們查詢我們所需要的信息帶來(lái)了簡(jiǎn)易的途經(jīng)。 最后,感謝數(shù)據(jù)庫(kù)課程設(shè)計(jì)老師對(duì)我們耐心的教導(dǎo)和幫助,為我們解決了許多在課堂上沒(méi)弄懂的問(wèn)題,讓我們對(duì)數(shù)據(jù)庫(kù)有了更進(jìn)一步的認(rèn)識(shí)和了解。今后我會(huì)更加努力學(xué)習(xí)數(shù)據(jù)庫(kù)的相關(guān)知識(shí),相信能為我以后帶來(lái)很大的幫助。
信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
|