sql_server2000數(shù)據(jù)庫課程設(shè)計物資管理信息系統(tǒng)_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  物資管理信息系統(tǒng)</b></p><p><b>  數(shù)據(jù)庫設(shè)計報告</b></p><p><b>  一、課程設(shè)計目的</b></p><p>  數(shù)據(jù)庫課程設(shè)計作為一個重要的的教學環(huán)節(jié),是《物流工程技術(shù)專業(yè)》集中實踐性環(huán)節(jié)系列之一,是學習完《數(shù)據(jù)庫原理與應(yīng)用》課程后

2、進行的一次全面的綜合練習。其目的在于加深對關(guān)系數(shù)據(jù)庫理論和基本知識的理解,初步掌握使用關(guān)系數(shù)據(jù)庫SQLSERVER為后臺數(shù)據(jù)庫設(shè)計一個信息管理系統(tǒng),綜合訓練學生的分析問題、設(shè)計的基本內(nèi)容和方法,提高解決實際管理問題的能力,以培養(yǎng)學生的專項技能和職業(yè)能力。 </p><p>  二、數(shù)據(jù)庫課程設(shè)計內(nèi)容簡介</p><p>  物資管理是一般工業(yè)、商業(yè)企業(yè)生產(chǎn)管理環(huán)節(jié)中重要的一環(huán),需要對物資基

3、本信息管理、物資調(diào)配信息等內(nèi)容進行完整的監(jiān)控,這樣才能更有效的里用物資。物資入庫的時候首先需要登記物資的基本信息,包括物資的種類、名稱、型號、單位、單價等,然后登記入庫信息,包括物資基本信息,入庫地點,入庫人、經(jīng)辦人、物資數(shù)量等;出庫時,需要等級出庫信息;根據(jù)物資的出入庫信息的綜合,得到各種物資的余額信息。</p><p><b>  三、需求分析</b></p><p&

4、gt;  1、有關(guān)物資基本信息的輸入,包括物資編號、物資名稱、規(guī)格型號、種類和計量單位等。</p><p>  2、物資基本信息的查詢。</p><p>  3、物資基本信息的修改。</p><p>  4、添加入庫基本信息。</p><p>  5、刪除入庫基本信息。</p><p>  6、添加出庫基本信息。<

5、;/p><p>  7、修改出庫基本信息。</p><p>  8、刪除出庫基本信息。</p><p>  9、查詢出庫基本信息。</p><p>  10、剩余物資查詢。</p><p><b>  四、系統(tǒng)結(jié)構(gòu)分析</b></p><p><b>  1、物理結(jié)構(gòu)

6、</b></p><p>  邏輯結(jié)構(gòu)(E-R圖)</p><p>  物資基本信息實體E-R圖:</p><p>  物資入庫信息實體E-R圖:</p><p>  物資出庫信息實體E-R圖:</p><p>  物資余額信息實體E-R圖:</p><p>  實體之間關(guān)系的E-R

7、圖:</p><p><b>  五、表格設(shè)計</b></p><p>  1、物資基本信息表:</p><p>  2、入庫物資信息表格:</p><p>  3、出庫物資信息表格:</p><p>  4、物資余額信息表格:</p><p>  六、數(shù)據(jù)庫構(gòu)建與代碼撰寫

8、(分工完成)</p><p><b>  1、開發(fā)環(huán)境</b></p><p>  OS: Windows XP SP3 </p><p>  IDE: Visual C++ 6.0</p><p>  DataBase: SQL Server 2000</p><p><b>  2、

9、框架構(gòu)建</b></p><p><b>  (1)登陸界面:</b></p><p>  (2)添加物資基本信息:</p><p>  (3)查詢物資基本信息:</p><p>  (4)添加入庫基本信息:</p><p>  (5)查詢?nèi)霂煳镔Y信息:</p><

10、p>  (6)添加出庫基本信息:</p><p>  (7)查詢剩余物資信息:</p><p>  (8)菜單欄主框架:</p><p><b>  3、運行結(jié)果</b></p><p><b>  (1)登陸:</b></p><p>  (2)添加基本信息:<

11、/p><p>  (3)添加入庫信息:</p><p>  (4)查詢出庫信息:</p><p>  七、課程設(shè)計心得體會</p><p>  在將近兩個星期的課程設(shè)計中,我們以小組的形式,通過合理的分工,完成了數(shù)據(jù)庫的設(shè)計。也使我們回顧了很多以前的東西,也發(fā)現(xiàn)了很多的問題,以前都沒遇見過的,收獲很大,在對不同的功能代碼是不一定可以完整的執(zhí)行的,

12、不過大概都是一樣的,只有一些小的細節(jié)。</p><p>  看著自己做的系統(tǒng),自己就會又欣慰又難過,欣慰的是自己終于把它做出來了,而且,做的還好,難過的是自己知道還有很多的不足,但是,由于認識的有限,無法去完善,才知道“書到用時方恨少”! </p><p>  此次物資管理信息系統(tǒng)的設(shè)計讓我們對數(shù)據(jù)庫的了解更深入,可以把它同實際相結(jié)合,同時,又讓我們學會了一個新的應(yīng)用軟件。 在整個設(shè)計過程

13、中,通過怎樣對把各個管理信息連接起來的分析,鍛煉了我們對事情的分析能力,通過怎樣解決過程中出現(xiàn)的問題,提高了我們查找文獻的能力、對網(wǎng)絡(luò)資源的利用能力和和其他同學的交流溝通能力。而且,經(jīng)歷這次的課程設(shè)計,我們也學會了自學和分工協(xié)作。</p><p>  我們覺得每一次的課程設(shè)計,都是讓我們對原有的知識從了解表面到深入本質(zhì),從個體學習到整體把握的跳躍,對新知識的汲取,更是讓我們把課本的知識應(yīng)用到實際中,讓我們了解了我

14、們的學習有什么用,能夠解決什么樣的問題,增加我們的自信和學習的動力。總之,通過這次的課程設(shè)計,我們收獲匪淺。</p><p><b>  附錄:</b></p><p><b>  工程模塊設(shè)計代碼</b></p><p>  Public Mycon As New ADODB.Connection ' M

15、ycon用于數(shù)據(jù)庫連接</p><p>  Public MyRs As New ADODB.Recordset ' MyRS用于保存記錄集</p><p>  Public MyRs1 As New ADODB.Recordset ' MyRS1用于保存記錄集</p><p>  Public MyRs2 As New ADO

16、DB.Recordset ' MyRS2用于保存記錄集</p><p><b>  登錄界面設(shè)計代碼</b></p><p>  Dim i As Integer ' 變量i用于累計連接的錯誤次數(shù)</p><p>  Private Sub Command1_Click()

17、' 確定</p><p>  If Trim(Text1.Text) = "" Then ' 如果用戶名為空,則給出提示</p><p>  MsgBox "請輸入用戶名", vbExclamation, "注意"</p><p>  Text1.SetFocus

18、 ' 將焦點定位在用戶名文本框中</p><p><b>  Else</b></p><p>  On Error GoTo ErrorHandler ' 出錯則轉(zhuǎn)向ErrorHandler處執(zhí)行</p><p>  Mycon.ConnectionString = "Driver={SQL Server};Ser

19、ver=PC-201006022034;Database=MMS"</p><p>  Mycon.Open ' 按ConnectionString的設(shè)置打開指定的連接</p><p>  Unload Me ' 關(guān)閉當前窗口</p><p>  Form3.Show

20、 ' 顯示系統(tǒng)的主菜單窗口Form3</p><p><b>  End If</b></p><p><b>  Exit Sub</b></p><p>  ErrorHandler: ' 錯誤處理程序入口</p>&l

21、t;p>  i = i + 1 ' 連接錯誤,變量i累加1</p><p>  If i <= 2 Then ' 如果連接錯誤次數(shù)不超過2兩次</p><p>  MsgBox "連接失敗,請重試用戶名或密碼", vbExclamation, "注意"

22、;</p><p>  Text1.SetFocus</p><p>  Else ' 如果連接錯誤次數(shù)超過2兩次</p><p>  MsgBox "連接失敗次數(shù)過多,你不能使用本系統(tǒng)", vbExclamation, "注意"</p><p&g

23、t;  End ' 結(jié)束系統(tǒng)的運行</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click() ' 退出按鈕</p>

24、<p>  Unload Me ' 回到主封面</p><p><b>  End Sub</b></p><p>  Private Sub Image1_Click()</p><p><b>  End Sub</b></p><p>

25、  Private Sub Form_Load()</p><p><b>  End Sub</b></p><p>  Private Sub Text1_GotFocus() ' 用戶名框獲得焦點時</p><p>  ' 選中Text1中的文本</p><p>  Text1.SelSta

26、rt = 0</p><p>  Text1.SelLength = Len(Text1.Text)</p><p><b>  End Sub</b></p><p>  Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)</p><p>  If

27、 KeyCode = 13 Then ' 如果在用戶名框中輸入了回車鍵,則</p><p>  Text2.SetFocus ' 將焦點切換到密碼框</p><p><b>  End If</b></p><p><b>  End Sub</b></p&g

28、t;<p>  Private Sub Text2_GotFocus() ' 密碼框獲得焦點時</p><p>  ' 選中Text2中的文本</p><p>  Text2.SelStart = 0</p><p>  Text2.SelLength = Len(Text2.Text)</p><p>

29、<b>  End Sub</b></p><p>  Private Sub Text2_KeyUp(KeyCode As Integer, Shift As Integer)</p><p>  If KeyCode = 13 Then ' 在密碼框輸入完密碼并按下了回車鍵</p><p>  If T

30、rim(Text1.Text) = "" Then ' 如果用戶名為空,則給出提示</p><p>  MsgBox "請輸入用戶名", vbExclamation, "注意"</p><p>  Text1.SetFocus ' 將焦點定位在用戶名文本框中</p>

31、<p><b>  Else</b></p><p>  On Error GoTo ErrorHandler ' 出錯則轉(zhuǎn)向ErrorHandler處執(zhí)行</p><p>  Mycon.ConnectionString = "Driver={SQL Server};Server=PC-201006022034;Database=M

32、MS"</p><p>  Mycon.Open</p><p><b>  Unload Me</b></p><p>  Form3.Show ' 顯示系統(tǒng)的主菜單窗口Form3</p><p><b>  End If</b></p

33、><p><b>  Exit Sub</b></p><p>  ErrorHandler: ' 錯誤處理程序入口</p><p>  i = i + 1 ' 連接錯誤,變量i累加1</p><p>  If i

34、 <= 2 Then</p><p>  MsgBox "連接失敗,請重試用戶名或密碼", vbExclamation, "注意"</p><p>  Text1.SetFocus</p><p><b>  Else</b></p><p>  MsgBox "連

35、接失敗次數(shù)過多,你不能使用本系統(tǒng)", vbExclamation, "注意"</p><p><b>  End</b></p><p><b>  End If</b></p><p><b>  End If</b></p><p><b

36、>  End Sub</b></p><p><b>  主界面設(shè)計部分代碼</b></p><p>  Private Sub about_Click()</p><p>  frmAbout.Show 1</p><p><b>  End Sub</b></p>

37、<p>  Private Sub cx111_Click()</p><p>  If MyRs.State = adStateOpen Then</p><p>  MyRs.Close</p><p><b>  End If</b></p><p>  MyRs.Open "material

38、", Mycon, adOpenStatic, adLockOptimistic, adCmdTableDirect ' 打開物資基本信息表</p><p>  Form7.Caption = "按表格瀏覽物資表"</p><p>  Form7.Show 1 ' 用Form7實現(xiàn)對物資基本信息表按表格瀏覽</p

39、><p><b>  End Sub</b></p><p>  Private Sub cx112_Click() ' 按行瀏覽物資表</p><p>  If MyRs.State = adStateOpen Then</p><p>  MyRs.Close</p><p><

40、;b>  End If</b></p><p>  MyRs.Open "material", Mycon, adOpenStatic, adLockOptimistic, adCmdTableDirect</p><p>  Form4.Caption = "按行瀏覽物資表"</p><p>  Form4

41、.Show 1 ' 用Form4實現(xiàn)對物資基本信息表按行瀏覽</p><p><b>  End Sub</b></p><p>  Private Sub sc11_Click()</p><p>  Dim strSql As String ' strSql用于保存查詢字符串</p>

42、;<p>  Form18.DataCombo1.Enabled = True ' 設(shè)置顯示物資編號的組合框有效</p><p>  Form18.Label1.Enabled = True ' 設(shè)置顯示物資編號的文字提示有效</p><p>  Form18.DataCombo2.Enabled = False ' 設(shè)置顯示物資名

43、稱的組合框有效</p><p>  Form18.Label2.Enabled = False ' 設(shè)置顯示物資名稱的文字提示無效</p><p>  strSql = "SELECT DISTINCT wzid FROM material" </p><p>  If MyRs1.State = adStateOpen

44、Then ' 如果記錄集MyRS1處于打開狀態(tài)</p><p>  MyRs1.Close ' 關(guān)閉記錄集MyRS1</p><p><b>  End If</b></p><p>  MyRs1.Open strSql, Mycon, adOpenStatic, adLoc

45、kReadOnly '按查詢字符串strSql指定的查詢產(chǎn)生記錄集</p><p>  Set Form18.DataCombo1.RowSource = MyRs1 '設(shè)置Form16的顯示物資編號的組合框的數(shù)據(jù)源為MyRS1</p><p>  Form18.DataCombo1.ListField = "wzid" '設(shè)

46、置Form16的顯示物資編號的組合框與記錄集MyRS1的學號字段綁定</p><p>  Form18.DataCombo1.Text = ""</p><p>  Form18.DataCombo2.Text = ""</p><p>  Form18.Show 1</p><p><b>

47、  End Sub</b></p><p>  Private Sub sc12_Click()</p><p>  Dim strSql As String ' strSql用于保存查詢字符串</p><p>  Form18.DataCombo1.Enabled = False ' 設(shè)置顯示物資編號的組合框有效</

48、p><p>  Form18.Label1.Enabled = False ' 設(shè)置顯示物資編號的文字提示有效</p><p>  Form18.DataCombo2.Enabled = True ' 設(shè)置顯示物資名稱的組合框有效</p><p>  Form18.Label2.Enabled = True '

49、設(shè)置顯示物資名稱的文字提示無效</p><p>  strSql = "SELECT DISTINCT wzname FROM material" '產(chǎn)生查詢字符串,用于從物資表中選擇物資名稱。</p><p>  If MyRs1.State = adStateOpen Then ' 如果記錄集MyRS1處于打開狀態(tài)</p>&

50、lt;p>  MyRs1.Close ' 關(guān)閉記錄集MyRS1</p><p><b>  End If</b></p><p>  MyRs1.Open strSql, Mycon, adOpenStatic, adLockReadOnly '按查詢字符串strSql指定的查詢產(chǎn)生記錄集</

51、p><p>  Set Form18.DataCombo2.RowSource = MyRs1 '設(shè)置Form16的顯示物資名稱的組合框的數(shù)據(jù)源為MyRS1</p><p>  Form18.DataCombo2.ListField = "wzname" '設(shè)置Form16的顯示物資名稱的組合框與記錄集MyRS1的物資名稱字段綁定</

52、p><p>  Form18.DataCombo1.Text = ""</p><p>  Form18.DataCombo2.Text = ""</p><p>  Form18.Show 1</p><p><b>  End Sub</b></p><p>

53、;  Private Sub tc_Click()</p><p>  If MyRs.State = adStateOpen Then</p><p>  MyRs.Close</p><p><b>  End If</b></p><p>  If MyRs1.State = adStateOpen Then<

54、;/p><p>  MyRs1.Close</p><p><b>  End If</b></p><p>  If MyRs2.State = adStateOpen Then</p><p>  MyRs2.Close</p><p><b>  End If</b><

55、;/p><p>  Set MyRs = Nothing</p><p>  Set MyRs1 = Nothing</p><p>  Set MyRs2 = Nothing</p><p>  Set Mycon = Nothing</p><p><b>  Unload Me</b></

56、p><p><b>  End Sub</b></p><p>  Private Sub sg2_Click()</p><p><b>  End Sub</b></p><p>  Private Sub tij1_Click() ' 添加物資基本信息</p><p&

57、gt;  Form9.Show 1</p><p><b>  End Sub</b></p><p>  Private Sub xg1_Click()</p><p>  If MyRs.State = adStateOpen Then ' 如果記錄集MyRS處于打開狀態(tài)</p><p>  MyRs.

58、Close ' 關(guān)閉記錄集MyRS</p><p><b>  End If</b></p><p>  MyRs.Open "material", Mycon, adOpenKeyset, adLockBatchOptimistic, adCmdTable</p><p>

59、;  Form12.Show 1</p><p><b>  End Sub</b></p><p>  添加物資基本信息代碼</p><p>  Private Sub Command1_Click()</p><p>  Dim strInsert As String</p><p>  st

60、rInsert = "INSERT INTO material VALUES('" & Text1.Text & "','" & Text2.Text & "','" & Text5.Text & "','" & Text3.Text &

61、"','" & Text4.Text & "')"</p><p>  On Error GoTo errhandle ' 如果出錯則轉(zhuǎn)向errhandler處執(zhí)行</p><p>  Mycon.BeginTrans ' 開始事務(wù)</p><p

62、>  Mycon.Execute (strInsert) ' 執(zhí)行添加</p><p>  Mycon.CommitTrans ' 提交事務(wù)</p><p>  MsgBox "添加成功" ' 顯示添加操作完成的提示消息</p><p>  Text1.Text = &qu

63、ot;": Text2.Text = "": Text5.Text = "": Text3.Text = "": Text4.Text = "" ' 清空在界面上錄入的信息</p><p><b>  Exit Sub</b></p><p>  errhandle:

64、 ' 錯誤處理程序入口,當添加操作出現(xiàn)錯誤時執(zhí)行</p><p>  MsgBox "添加失敗"</p><p>  Mycon.RollbackTrans ' 撤銷事務(wù)</p><p><b>  End Sub</b></p><p&

65、gt;  Private Sub Command2_Click()</p><p><b>  Unload Me</b></p><p><b>  End Sub</b></p><p>  Private Sub Form_Load()</p><p><b>  End Sub&l

66、t;/b></p><p>  刪除物資基本信息代碼</p><p>  Private Sub Command1_Click()</p><p>  Dim strDelete As String, StudName As String</p><p>  If Trim(DataCombo1.Text) <> "

67、;" And Trim(DataCombo2.Text) = "" Then</p><p>  strDelete = "DELETE material WHERE wzid LIKE '" & Trim(DataCombo1.Text) & "%'"</p><p>  ElseIf

68、Trim(DataCombo1.Text) = "" And Trim(DataCombo2.Text) <> "" Then</p><p>  strDelete = "DELETE material WHERE wzname LIKE '" & Trim(DataCombo2.Text) & "%

69、9;"</p><p><b>  Else</b></p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  Mycon.BeginTrans</p><p>  Mycon.

70、Execute strDelete</p><p>  a = MsgBox("確定要刪除指定的物資基本信息嗎?", vbOKCancel + vbExclamation, "注意")</p><p>  If a = vbOK Then</p><p>  Mycon.CommitTrans</p><p

71、>  MsgBox "指定的物資基本信息已經(jīng)從數(shù)據(jù)庫中刪除", vbInformation, "注意"</p><p><b>  Else</b></p><p>  Mycon.RollbackTrans</p><p>  MsgBox "刪除被撤消", vbExclama

72、tion, "注意"</p><p><b>  End If</b></p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click()</p><p><b>  Unload Me</b>&

73、lt;/p><p><b>  End Sub</b></p><p>  Private Sub Form_Load()</p><p><b>  End Sub</b></p><p>  修改物資基本信息代碼</p><p>  Private Sub Command1_

74、Click()</p><p>  MyRs.UpdateBatch ' 按確定按鈕,進行批更新</p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click()</p><p>  MyRs.CancelBatch

75、 ' 按取消按鈕,取消批更新</p><p><b>  End Sub</b></p><p>  Private Sub Command3_Click()</p><p><b>  Unload Me</b></p><p><b>  End Sub<

76、/b></p><p>  Private Sub DataGrid1_Click()</p><p><b>  End Sub</b></p><p>  Private Sub Form_Activate()</p><p>  Set DataGrid1.DataSource = MyRs</p>

77、;<p><b>  End Sub</b></p><p>  Private Sub Form_Unload(Cancel As Integer)</p><p>  Set DataGrid1.DataSource = Nothing</p><p>  MyRs.Close</p><p><

78、b>  End Sub</b></p><p><b>  余額統(tǒng)計代碼</b></p><p>  Private Sub Command1_Click()</p><p>  Dim total As Integer, strSql As String</p><p><b>  '

79、; 生成查詢字符串</b></p><p>  strSql = "SELECT count(*) FROM msurplus WHERE yename like'%" & Trim(DataCombo1.Text) & "%'"</p><p>  If MyRs.State = adStateOpen

80、 Then</p><p>  MyRs.Close</p><p><b>  End If</b></p><p><b>  ' 執(zhí)行統(tǒng)計</b></p><p>  Set MyRs = Mycon.Execute(strSql)</p><p><b&

81、gt;  ' 取出統(tǒng)計結(jié)果</b></p><p>  MyRs.MoveFirst</p><p>  total = MyRs.Fields(0)</p><p>  MsgBox Trim(DataCombo1.Text) & " 該物資的余額總數(shù)為:" & Str(total), , "統(tǒng)計結(jié)

82、果"</p><p><b>  End Sub</b></p><p>  Private Sub Command2_Click()</p><p><b>  Unload Me</b></p><p><b>  End Sub</b></p>&

83、lt;p>  Private Sub Form_Unload(Cancel As Integer)</p><p>  If MyRs.State = adStateOpen Then</p><p>  MyRs.Close</p><p><b>  End If</b></p><p>  Set DataC

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論