vb飯店菜式管理系統(tǒng)課程設計_第1頁
已閱讀1頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  VB程序設計及數(shù)據(jù)庫應用課程設計</p><p>  題目 飯店菜式管理系統(tǒng) </p><p>  課 程 名 稱 VB程序設計及數(shù)據(jù)庫應用課程設計 </p><p>  專 業(yè) 工業(yè)工程 </p><p>  學

2、 號 </p><p>  姓 名 </p><p>  指 導 教 師 </p><p><b>  目錄</b></p><p>

3、;<b>  1.選題的意義1</b></p><p>  1.1 選該題目的原因1</p><p>  1.2 完成此題目用到的數(shù)據(jù)結構和知識點1</p><p>  2.系統(tǒng)功能簡介2</p><p><b>  2.1登錄2</b></p><p>  2.2

4、菜式管理系統(tǒng)2</p><p>  2.3 菜式瀏覽2</p><p><b>  2.4點菜系統(tǒng)2</b></p><p><b>  3. 概要設計2</b></p><p>  3.1 各模塊之間關系3</p><p>  3.2 各模塊流程圖3</p

5、><p><b>  4.系統(tǒng)實現(xiàn)4</b></p><p><b>  4.1 主界面4</b></p><p>  4.2 登錄、注冊、修改密碼5</p><p>  4.3 菜式管理界面8</p><p>  4.4 菜式瀏覽界面11</p><

6、;p>  4.5 點菜界面16</p><p><b>  5.總結17</b></p><p>  5.1 疑難點17</p><p><b>  5.2 體會18</b></p><p><b>  參考文獻:18</b></p><p&

7、gt;<b>  1.選題的意義</b></p><p>  1.1 選該題目的原因</p><p>  通過對飯店菜式管理系統(tǒng)的程序設計,了解軟件開發(fā)基本步驟,諸如問題分析、系統(tǒng)設計、程序編碼、測試等基本方法和技能。本程序可實現(xiàn)顧客點菜,按菜名、價格、菜系瀏覽菜式功能,同時飯店內部人員可以通過該程序對菜式添加、刪除、修改功能。</p><p>

8、;  1.2 完成此題目用到的數(shù)據(jù)結構和知識點</p><p><b>  數(shù)據(jù)結構:</b></p><p>  通過可視化數(shù)據(jù)管理器可以進行數(shù)據(jù)庫操作。建立數(shù)據(jù)庫:啟動可視化數(shù)據(jù)管理器,創(chuàng)建數(shù)據(jù)庫,創(chuàng)建數(shù)據(jù)庫表,然后編輯數(shù)據(jù)庫。</p><p><b>  知識點:</b></p><p>  

9、Access技術:可以開發(fā)關系數(shù)據(jù)庫,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲和檢索。數(shù)據(jù)庫(Database)是由一些有意義和有關系的數(shù)據(jù)(data)所組合而成。一個數(shù)據(jù)庫中,包含了許多條記錄(Record),而每條記錄是由多個字段(Field)所組成,不同的字段存放這不同的數(shù)據(jù)。所以數(shù)據(jù)庫的嚴格定義是一組相關記錄的集合,而字段則是最基本的數(shù)據(jù)項,也是數(shù)據(jù)庫中最小的單位。在計算機中用來幫我們管理數(shù)據(jù)庫的系統(tǒng),我們稱之為數(shù)據(jù)庫管理管理系統(tǒng)(D

10、atabase Management System DBMS)。數(shù)據(jù)庫管理系統(tǒng)是架構在一個或多個數(shù)據(jù)庫之上,并針對數(shù)據(jù)庫中的數(shù)據(jù)進行管理運用。Access 的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息,數(shù)據(jù)表示圖提供了一種類似于 Excel 的電子表格,可以使數(shù)據(jù)庫一目了然。另外,Access 允許創(chuàng)建自定義報表用于打印或輸出數(shù)據(jù)庫中的信息。Access也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網絡文件服務器,與其他

11、網絡用戶共享數(shù)據(jù)庫。如上所述,Access 作為關系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點,可以在一個數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利</p><p>  結構化查詢語言SQL: 結構化查詢語言(Structrued Query Lauguage,SQL)是訪問數(shù)據(jù)庫的標準語言,使用SQL語言可以從數(shù)據(jù)庫中獲取數(shù)據(jù),建立數(shù)據(jù)庫和數(shù)據(jù)庫對象,增加,修改數(shù)據(jù)和實現(xiàn)復雜的查詢功能。它是本系統(tǒng)實現(xiàn)的基礎。</p><

12、;p>  使用data控件訪問數(shù)據(jù)庫:主要使用的是data控件和數(shù)據(jù)綁定控件編寫數(shù)據(jù)庫應用程序的方法。</p><p><b>  2.系統(tǒng)功能簡介</b></p><p><b>  2.1登錄</b></p><p>  打開飯店菜式管理系統(tǒng)程序,進入主界面。通過輸入用戶名和密碼登錄到菜式管理界面</p&g

13、t;<p><b>  2.2菜式管理系統(tǒng)</b></p><p>  通過輸入用戶名和密碼進入到了菜式管理界面,對菜式進行添加、刪除和修改,以及瀏覽全部菜式,并可返回主界面。</p><p><b>  2.3 菜式瀏覽</b></p><p>  進入菜式瀏覽界面,可根據(jù)菜名、菜價、菜系瀏覽菜式,并可返回

14、主界面</p><p><b>  2.4點菜系統(tǒng)</b></p><p>  通過點擊菜式管理系統(tǒng)的點菜按鈕進入到點菜系統(tǒng)。此界面有一個List和一個MSFlexGrid,MSFlexGrid用來顯示所有菜式,List用來顯示已點的菜。通過點菜按鈕將MSFlexGrid中選擇的菜添加到List中,通過退菜按鈕將List中已選菜退掉,在點菜和退菜的同時還對顧客消費進行

15、計算,點菜完成后進行落單,點擊返回按鈕返回主界面。</p><p><b>  概要設計</b></p><p>  3.1 各模塊之間關系</p><p>  .

16、 </p><p><b>  登</b></p><p>  錄 </p><p><b>  失</b></p><p>  敗 </

17、p><p>  3.2 各模塊流程圖</p><p><b>  a 菜式管理系統(tǒng)</b></p><p><b>  b 菜式瀏覽系統(tǒng)</b></p><p><b>  c 點菜系統(tǒng)</b></p><p><b>  4.系統(tǒng)實現(xiàn)</b

18、></p><p><b>  4.1 主界面 </b></p><p>  包含菜式管理(登錄)、菜式瀏覽、點菜,如圖</p><p><b>  核心代碼:</b></p><p>  Private Sub Command1_Click() '單擊菜式瀏覽按鈕</p>

19、<p>  Unload Form4</p><p>  Form5.Show</p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click() '單擊點菜按鈕</p><p>  Unload Form4</p><

20、;p>  Form3.Show</p><p><b>  End Sub</b></p><p>  Private Sub enter_Click() '單擊登錄</p><p>  Unload Form4</p><p>  Form6.Show</p><p><b&

21、gt;  End Sub</b></p><p>  4.2 登錄、注冊、修改密碼</p><p>  a 工作人員登錄界面</p><p><b>  核心代碼:</b></p><p>  Private Sub Command1_Click() '單擊確定按鈕</p><p&

22、gt;  Adodc1.RecordSource = "select * from 登錄信息 where 用戶名=" + "'" + Trim(Text1.Text) + "'" + " and 密碼=" + "'" + Trim(Text2.Text) + "'"</p>

23、<p>  Adodc1.Refresh</p><p>  If Adodc1.Recordset.EOF = True Or Adodc1.Recordset.BOF = True Then '判斷用戶名與密碼是否相符</p><p>  MsgBox "用戶名或密碼錯誤"</p><p><b>  Else&

24、lt;/b></p><p>  Unload Form6</p><p>  form1.Show</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Command2_Cl

25、ick() '單擊注冊按鈕</p><p>  Unload Form6</p><p>  Form7.Show '進入注冊界面</p><p><b>  End Sub</b></p><p>  Private Sub Command3_Click() '單擊取消按鈕</

26、p><p>  Unload Form6</p><p>  Form4.Show '返回主界面</p><p><b>  End Sub</b></p><p><b>  b注冊界面</b></p><p><b>  核心代碼:</b>

27、</p><p>  Private Sub Command1_Click() '單擊注冊按鈕</p><p>  Adodc1.RecordSource = "select * from 登錄信息 where 用戶名=" + "'" + Trim(Text1.Text) + "'"</p>

28、<p>  Adodc1.Refresh</p><p>  If Adodc1.Recordset.EOF = True Or Adodc1.Recordset.BOF = True Then '判斷用戶名是否已經存在</p><p>  Adodc1.Recordset.AddNew</p><p>  Adodc1.Recordset.Fie

29、lds("用戶名") = Trim(Text1.Text)</p><p>  Adodc1.Recordset.Fields("密碼") = Trim(Text2.Text) '將用戶名密碼存入數(shù)據(jù)庫</p><p>  Adodc1.Recordset.Update</p><p>  Adodc1.Refre

30、sh</p><p>  If Text2.Text = Text3.Text Then</p><p>  MsgBox ("注冊成功")</p><p><b>  End If</b></p><p><b>  Else</b></p><p> 

31、 MsgBox "用戶名已存在"</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click() '單擊返回按鈕</p><p>  Unload Form

32、7</p><p>  Form6.Show '返回登錄界面</p><p><b>  End Sub</b></p><p><b>  c 修改密碼界面</b></p><p><b>  核心代碼:</b></p><p>  

33、Private Sub Command1_Click() '單擊確認按鈕</p><p>  Adodc1.RecordSource = "select * from 登錄信息 where 用戶名=" + "'" + Trim(Text1.Text) + "'"</p><p>  Adodc1.Refr

34、esh</p><p>  If Adodc1.Recordset.EOF = False And Adodc1.Recordset.BOF = False Then</p><p>  Adodc1.Recordset.Fields("密碼") = Trim(Text2.Text) '將新密碼存入數(shù)據(jù)庫</p><p>  Adodc

35、1.Recordset.Update</p><p>  Adodc1.Refresh</p><p>  MsgBox "修改密碼成功"</p><p><b>  Else</b></p><p>  MsgBox "用戶名不存在"</p><p>&l

36、t;b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click() '單擊取消按鈕</p><p>  Unload Form8</p><p>  form1.Show '返回菜式管理界面

37、</p><p><b>  End Sub</b></p><p>  4.3 菜式管理界面</p><p>  對菜式進行添加、刪除和修改,以及瀏覽全部菜式</p><p><b>  核心代碼: </b></p><p>  Private Sub Command1_

38、Click() '單擊添加按鈕</p><p>  Data1.Recordset.AddNew</p><p>  Text1.Locked = False</p><p>  Text2.Locked = False</p><p>  Text3.Locked = False</p><p>  Tex

39、t4.Locked = False</p><p>  Text5.Locked = False</p><p>  Text7.Locked = False '將所有文本框鎖定</p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click() &

40、#39;單擊刪除按鈕</p><p>  Dim msg As Integer</p><p>  msg = MsgBox("你確定要刪除編號為" & Text1.Text & " , 菜名為" & Text2.Text & "的菜式的所有信息嗎?", vbYesNo, "刪除菜式&qu

41、ot;)</p><p>  If msg = vbYes Then</p><p>  Data1.Recordset.Delete '刪除所選信息</p><p>  Data1.Recordset.MoveFirst</p><p><b>  End If</b></p><p&g

42、t;<b>  End Sub</b></p><p>  Private Sub Command3_Click() '單擊確定按鈕</p><p>  Text1.Locked = True</p><p>  Text2.Locked = True</p><p>  Text3.Locked = True&

43、lt;/p><p>  Text4.Locked = True</p><p>  Text5.Locked = True</p><p>  Text7.Locked = True '將所有文本框解鎖</p><p><b>  End Sub</b></p><p>  Private

44、 Sub Command4_Click() '單擊修改按鈕</p><p>  Text1.Locked = False</p><p>  Text2.Locked = False</p><p>  Text3.Locked = False</p><p>  Text4.Locked = False</p><

45、;p>  Text5.Locked = False</p><p>  Text7.Locked = False '將所有文本框鎖定</p><p><b>  End Sub</b></p><p>  Private Sub Command5_Click() '單擊退出按鈕</p><p>

46、  Unload form1</p><p>  Form4.Show '返回到主界面</p><p><b>  End Sub</b></p><p>  Private Sub Command6_Click() '單擊取消按鈕</p><p>  Data1.Recordset.Delete<

47、/p><p>  Data1.Recordset.MoveFirst</p><p><b>  End Sub</b></p><p>  Private Sub Command7_Click() '單擊全部顯示按鈕</p><p>  Load form1</p><p>  Form2.

48、Show '進入全部顯示界面</p><p><b>  End Sub</b></p><p><b>  核心代碼:</b></p><p>  Private Sub Command1_Click() '單擊返回按鈕</p><p>  Unload Form2</p&

49、gt;<p>  form1.Data1.Refresh</p><p>  form1.Show '返回到菜式管理</p><p><b>  End Sub</b></p><p>  4.4 菜式瀏覽界面</p><p><b>  按菜名瀏覽</b></p>

50、;<p><b>  按菜價降序瀏覽</b></p><p><b>  按菜系“徽菜”瀏覽</b></p><p><b>  按菜系“川菜”瀏覽</b></p><p><b>  按菜系“魯菜”瀏覽</b></p><p><b&

51、gt;  按菜系“粵菜”瀏覽</b></p><p><b>  核心代碼:</b></p><p>  Private Sub Command1_Click() '單擊按菜名瀏覽按鈕</p><p>  Dim sy As String</p><p>  sy = "select * f

52、rom 菜式"</p><p>  Data1.RecordSource = sy</p><p>  Data1.Refresh</p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click() '單擊徽菜按鈕</p>&

53、lt;p>  Dim hc As String</p><p>  hc = "select * from 菜式 where 菜系='徽菜'"</p><p>  Data1.RecordSource = hc</p><p>  Data1.Refresh</p><p><b>  En

54、d Sub</b></p><p>  Private Sub Command3_Click() '單擊按菜價瀏覽按鈕</p><p>  Dim jg As String</p><p>  jg = "select * from 菜式 order by val(價格) desc "</p>

55、<p>  Data1.RecordSource = jg</p><p>  Data1.Refresh</p><p><b>  End Sub</b></p><p>  Private Sub Command4_Click() '單擊川菜按鈕</p><p>  Dim hc As Stri

56、ng</p><p>  cc = "select * from 菜式 where 菜系='川菜'"</p><p>  Data1.RecordSource = cc</p><p>  Data1.Refresh</p><p><b>  End Sub</b></p>

57、;<p>  Private Sub Command5_Click() '單擊魯菜按鈕</p><p>  Dim hc As String</p><p>  lc = "select * from 菜式 where 菜系='魯菜'"</p><p>  Data1.RecordSource = lc<

58、;/p><p>  Data1.Refresh</p><p><b>  End Sub</b></p><p>  Private Sub Command6_Click() '單擊粵菜按鈕</p><p>  Dim hc As String</p><p>  yc = "se

59、lect * from 菜式 where 菜系='粵菜'"</p><p>  Data1.RecordSource = yc</p><p>  Data1.Refresh</p><p><b>  End Sub</b></p><p>  Private Sub Command7_Cli

60、ck() '單擊返回按鈕</p><p>  Unload Form5</p><p>  Form4.Show '返回到主界面</p><p><b>  End Sub</b></p><p><b>  4.5 點菜界面</b></p><p>  D

61、im g As Single</p><p>  Private Sub Command1_Click() '選中l(wèi)ist表中已點菜品進行刪菜操作</p><p>  If List1.ListIndex <> -1 Then</p><p>  x = List1.ListIndex</p><p>  List1.Re

62、moveItem x</p><p><b>  End If</b></p><p>  Text4 = Val(Text4) - g '相應總金額減少</p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click() &#

63、39;單擊事件時,把所選菜品添加到當前點菜的list表中</p><p>  Dim a, b As Integer</p><p>  a = Len(Text1.Text)</p><p>  b = Len(Text2.Text) + Len(Text3.Text) + 1</p><p>  List1.AddItem Text1.T

64、ext & Space(18 - a * 2) & Text2.Text & "*" & Text3.Text & Space(18 - b) & Val(Text2) * Val(Text3) '按照一定位置在list表中顯示所點菜品的名字,單價,數(shù)量及總價。</p><p>  Dim c As Single</p>&

65、lt;p>  c = Val(Text2.Text) * Val(Text3.Text) '當前所選菜的總價</p><p>  Text4.Text = c + Val(Text4.Text) '每點一道菜,總金額進行累加</p><p><b>  End Sub</b></p><p>  Private Sub

66、Command3_Click()</p><p>  Label6.Caption = "您一共點了 " & List1.ListCount & " 種菜"</p><p><b>  End Sub</b></p><p>  Private Sub Command4_Click() &

67、#39;單擊返回按鈕</p><p>  Unload Form3</p><p>  Form4.Show '返回到主界面</p><p><b>  End Sub</b></p><p>  Private Sub List1_Click() '單擊列表框里的某一行時,顯示相應信息</p&g

68、t;<p>  If List1.ListIndex <> -1 Then</p><p>  x = List1.ListIndex</p><p><b>  End If</b></p><p>  Dim e, f As String</p><p>  e = List1.List(x

69、) '單擊時選中一道菜</p><p>  Text1.Text = Left(e, 8) '利用left函數(shù)提取所選中菜的菜名</p><p>  f = Right(e, 5) '利用right函數(shù)提取所選中菜品的總價</p><p>  g = Val(f)</p><p><b>  End Sub&

70、lt;/b></p><p>  Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) '鼠標按下事件,顯示相應菜品信息</p><p>  Text1.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.

71、Row, 1) '鼠標點擊某一行時,利用TextMatrix屬性把此行第二列的數(shù)據(jù)(菜名)提取出來并顯示在text1中</p><p>  Text2.Text = MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, 3) '鼠標點擊某一行時,利用TextMatrix屬性把此行第四列的數(shù)據(jù)(單價)提取出來并顯示在text2中</p><p>

72、<b>  End Sub</b></p><p><b>  5.總結</b></p><p><b>  5.1 疑難點</b></p><p>  數(shù)據(jù)庫建立以后無法與控件綁定,在系統(tǒng)運行時,無法通過系統(tǒng)對數(shù)據(jù)庫的信息進行編輯,修改,刪除;不知如何根據(jù)條件查詢符合條件的信息。通過查理論知識、相關

73、類型的編程以及與同學討論解決</p><p><b>  5.2 體會</b></p><p>  自學精神是我在這次編程中是我最大的體會,剛開始時不知整體框架如何,就去查相關編程資料。遇到暫時無法解決問題時,通過思考聯(lián)系以前知識,想一想通過什么控件可以實現(xiàn),或是查看類的問題,練習自己問題經過改造來實現(xiàn)自己目的。</p><p><b&g

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論