版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計說明書</b></p><p> 課程名稱: 軟件開發(fā)技術(shù) </p><p> 設(shè)計題目: 學生信息管理系統(tǒng) </p><p> 專 業(yè): 計算機科學與技術(shù) 班 級: 0801 </p><p>
2、學生姓名: 學 號: </p><p> 指導教師: </p><p> 2011年 12 月 10 日</p><p> 1 引言(或緒論)</p><p><b> 1.1 課題背景</b>&
3、lt;/p><p> 隨著教育事業(yè)的不斷發(fā)展,學校的規(guī)模不斷擴大,學生數(shù)量及其信息量的急劇增加,有關(guān)學生的各種信息管理也隨之展開,學生信息管理系統(tǒng)應(yīng)運而生了,它可用來管理學生信息與提高系統(tǒng)管理工作的效率。學生信息管理系統(tǒng)把Eclipse(前臺開發(fā))與SQL數(shù)據(jù)庫(后臺管理)有機地結(jié)合,并運用SWING等相關(guān)技術(shù),完成學生信息的規(guī)范管理、科學統(tǒng)計和快速查詢,從而可大大減少該管理上的工作量。</p>&l
4、t;p> 數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)庫存儲的效率,保證數(shù)據(jù)的完整性和一致性。同時,合理的數(shù)據(jù)結(jié)構(gòu)也將有利于程序的順利實現(xiàn)。</p><p> 1.2 系統(tǒng)開發(fā)關(guān)鍵技術(shù)介紹</p><p> 本系統(tǒng)采用的是Eclipse開發(fā)工具做為開發(fā)系統(tǒng)程序,采用SQL sev
5、er數(shù)據(jù)庫訪問技術(shù)完成對數(shù)據(jù)庫信息的規(guī)范管理和統(tǒng)計查詢。SQL sever使用更加簡單靈活的對象模型,適用于各種程序設(shè)計語言。SQL sever提供執(zhí)行以下操作方式:</p><p><b> 連接到數(shù)據(jù)源。</b></p><p> 指定訪問數(shù)據(jù)源的命令,可以在命令中指定參數(shù)。</p><p> 執(zhí)行命令,例如一個SELECT語句。&l
6、t;/p><p> 在適當情況下,可以把緩存行的更改內(nèi)容寫回數(shù)據(jù)庫中,更新數(shù)據(jù)源。</p><p> 提供常規(guī)方法檢測錯誤,錯誤通常由建立連接或執(zhí)行命令造成,涉及到 SQL的error對象。</p><p><b> 2 系統(tǒng)分析</b></p><p> 2.1 總體設(shè)計思想及工作流程&l
7、t;/p><p> 用戶必須通過已經(jīng)注冊的帳號和密碼才能進行對該系統(tǒng)的管理與應(yīng)用,否則在登錄系統(tǒng)前要進行新賬號的注冊;管理員通過輸入密碼和帳號可以對數(shù)據(jù)庫的數(shù)據(jù)進行各種操作,而普通用戶僅僅可以進行一部分的操作;用戶根據(jù)自己的實際情況選擇相應(yīng)的功能來提取自己所需信息。</p><p> ?。?) 學生信息管理系統(tǒng)的功能為顯示主要操作頁面,通過密碼驗證登陸界面,檔案信息處理功能。</p&g
8、t;<p> 通過密碼驗證登陸,可實現(xiàn)安全登錄,方便可靠。學生信息處理功能包括輸入學生信息,顯示學生的檔案信息,學生檔案信息條件查詢(分為:按學生姓名進行查詢,按學生學號進行查詢),更新學生檔案信息。</p><p> (2) 學生信息管理系統(tǒng)的功能模塊有:</p><p> 系統(tǒng)登陸界面,美觀大方,按enter鍵進入密碼驗證登陸界面,輸入正確密碼登陸主菜單選擇框架界面
9、,方便用戶對程序個功能進行選擇,選擇要實現(xiàn)的功能按enter鍵進入該功能。</p><p> 1. 輸入學生檔案信息。</p><p> 2. 顯示學生的檔案信息</p><p> 3. 學生檔案信息條件查詢</p><p> 4. 更新學生檔案信息。</p><p> 0. 退出,謝謝使用!!!</p
10、><p> 程序分為多個小模塊,通過調(diào)用實現(xiàn)各種功能,增強了程序的可建設(shè)性。</p><p><b> 2.2 業(yè)務(wù)需求</b></p><p> (1) 安全性: 用戶必須通過帳號和密碼才能進行對該系統(tǒng)的管理。</p><p> (2) 權(quán)限分配: 超級管理員通過輸入密碼和帳號可以對數(shù)據(jù)庫的數(shù)據(jù)進行各種操作,而普
11、通用戶僅僅可以進行一部分的操作。</p><p> (3) 易操作性: 可以快速進行查詢操作,進行數(shù)據(jù)的匯總。</p><p><b> 2.3 數(shù)據(jù)流圖</b></p><p> 用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新、查詢和統(tǒng)計上,這就要求數(shù)據(jù)庫結(jié)構(gòu)應(yīng)充分滿足各種信息的輸入和輸出。系統(tǒng)應(yīng)定義數(shù)據(jù)結(jié)構(gòu)、收集基本數(shù)據(jù)以及設(shè)置數(shù)據(jù)處
12、理的流程,組成一份詳盡的數(shù)據(jù)字典,為以后的具體設(shè)計打下基礎(chǔ)與伏筆。在仔細分析、調(diào)查有關(guān)學生信息管理需要的基礎(chǔ)上,得到了本系統(tǒng)的流程圖:</p><p> 圖3.2 總數(shù)據(jù)流圖</p><p> 圖3.3 零層數(shù)據(jù)流圖</p><p> 圖3.3 一層數(shù)據(jù)流圖</p><p> 2.2 總體設(shè)計流程圖</p><
13、p> 圖2 總體設(shè)計流程圖</p><p> 該流程圖為此次學生信息查詢系統(tǒng)的總體流程圖,用戶進入界面以后可以看到登陸密碼界面,密碼輸入正確進入主菜單選擇框架界面,1為輸入學生信息檔案,2為顯示學生檔案,3為學生信息檔案查詢,4為更新學生檔案,0為退出系統(tǒng)。用戶可以根據(jù)自己的需求方便快捷的做出自己的選擇。</p><p> 密碼登陸函數(shù)流程圖:</p><
14、p> 該函數(shù)為密碼登陸函數(shù)模塊,當輸入的密碼不正確的時候,系統(tǒng)會提示“密碼輸入錯誤,請重新輸入”,直到輸入正確密碼為止。</p><p> 選擇框架函數(shù)流程圖:</p><p> 進入學生檔案管理系統(tǒng)時顯示程序名稱和選擇框架主菜單,提示用戶進行選擇,完成相應(yīng)任務(wù)。此代碼被main()函數(shù)調(diào)用。</p><p> 輸入信息函數(shù)流程圖:</p>
15、<p> 輸入學生信息函數(shù)模塊,用戶可以根據(jù)提示的信息來進行每一步的輸入操作,當輸入不當時,系統(tǒng)會自動提示,并讓用戶進行正確的操作。在此系統(tǒng)中,要求用戶輸入的只有字符型和數(shù)值型數(shù)據(jù),設(shè)計了相應(yīng)的函數(shù)來進行數(shù)據(jù)校驗工作,保證數(shù)據(jù)輸入的準確性。</p><p><b> 顯示信息流程圖:</b></p><p> 當用戶進入查詢信息模塊時,系統(tǒng)會顯示內(nèi)
16、部存儲的內(nèi)容。</p><p><b> 查詢信息流程圖:</b></p><p> 當用戶執(zhí)行此查詢?nèi)蝿?wù)時,系統(tǒng)會提醒用戶進行查詢字段的選擇,即按學號或姓名進行查詢。若此學生檔案信息記錄存在,則會顯示該省的檔案信息。此函數(shù)完成了節(jié)點定位的功能。</p><p><b> 更新信息流程圖:</b></p>
17、<p> 在更新學生檔案信息的操作中,系統(tǒng)會先按輸入的學號查詢到該生檔案信息記錄,然后按順序填入要修改的學生信息。</p><p><b> 3 系統(tǒng)設(shè)計</b></p><p> 3.1 系統(tǒng)功能結(jié)構(gòu)圖</p><p> 設(shè)計數(shù)據(jù)庫系統(tǒng)時應(yīng)充分滿足各種信息的輸入和輸出。據(jù)此,結(jié)學生信息管理系統(tǒng)所需完成的主體任務(wù)。學生信息
18、管理系統(tǒng)主要任務(wù)如下:</p><p> 基本信息的輸入。包括學籍(學生基本)信息,班能、課程和成績等住處的輸入。</p><p> 基本信息的修改。包括學籍信息、班級、課程和成績等信息的修改。</p><p> 基本信息的查詢。包括學籍信息和成績信息等的查詢。</p><p> 年級信息及班級信息的設(shè)置等。</p>&
19、lt;p> 學?;菊n程信息的輸入、修改和設(shè)置。</p><p> 基于需求分析及主要任務(wù)的表述,可對上述各項功能按照結(jié)構(gòu)化程序設(shè)計的要求進行集中、分層結(jié)構(gòu)化,自上而下逐層設(shè)置得到系統(tǒng)功能模塊結(jié)構(gòu)圖:</p><p> 圖3.1 系統(tǒng)功能結(jié)構(gòu)圖</p><p><b> 4 系統(tǒng)數(shù)據(jù)庫設(shè)計</b></p><p
20、> 4.1 系統(tǒng)E-R圖</p><p> 概念結(jié)構(gòu)設(shè)計就是E-R方法的分析與設(shè)計,概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵。在此,將使用實體—聯(lián)系(E-R)模型來描述系統(tǒng)的概念結(jié)構(gòu),同時設(shè)計出能夠滿足用戶需求的的各種實體,以及它們之間的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。這也實體包括各種具體的實際信息,通過相互之間的作用形成數(shù)據(jù)的流動。本程序根據(jù)上面的設(shè)計規(guī)劃出的實體有:學籍實體、班級實體、年級實體、課程實
21、體與成績實體,學生信息管理系統(tǒng)數(shù)據(jù)庫E-R模型,如下圖所示:</p><p> 圖4.1 學生信息管理系統(tǒng)E-R模型圖</p><p> 4.2 數(shù)據(jù)表的創(chuàng)建</p><p> 根據(jù)系統(tǒng)特點,由數(shù)據(jù)模型利用Oracle10g進行數(shù)據(jù)庫的詳細設(shè)計,學生信息管理系統(tǒng)數(shù)據(jù)庫中各個表格的設(shè)計結(jié)果如下:</p><p><b> 表1
22、: 學籍信息表</b></p><p> 表2: 學生成績信息表</p><p><b> 表3: 班級信息表</b></p><p> 表4: 年級課程設(shè)置表</p><p> 表5: 課程基本信息表</p><p><b> 表6: 系統(tǒng)用戶表</b>
23、;</p><p> 4.3 存儲過程和觸發(fā)器設(shè)計</p><p> 為了提高該系統(tǒng)的運行環(huán)境,后臺有關(guān)數(shù)據(jù)的操作部分使用了存儲過程和觸發(fā)器。</p><p> 1.創(chuàng)建的存儲過程進行添加班級信息,代碼如下:</p><p> create or replace procedure insertclass</p><
24、;p> (p_class_no in class_no%type,</p><p> p_grade in grade%type,</p><p> p_director in director%type,</p><p> p_classroom_no in classroom_no%type</p><p><b>
25、; ) </b></p><p> is v_count number;</p><p><b> begin</b></p><p> select count(*) into v_count from class_info where class_no=p_class_no;</p><p>
26、 if v_count=0 then</p><p> insertinto class_info values(p_class_no,p_grade,p_director,p_classroom_no );</p><p><b> else</b></p><p> dbms_output.put_line('班號已經(jīng)存在,請
27、重新輸入班號');</p><p><b> end if;</b></p><p> end insertclass;</p><p> 2.存儲過程的調(diào)用代碼:</p><p> Private Sub Command1_Click()</p><p> Dim sqlcon
28、 As New ADODB.Connection</p><p> Dim mrc As ADODB.Recordset</p><p> Dim MsgText As String</p><p> Dim txtSQL As String</p><p> Dim cmd As New ADODB.Command</p>
29、;<p> Dim classNO, grad, DIRECTO, CLASSROOMNO</p><p> sqlcon.Open "Provider=OraOLEDB.Oracle.1;Password=1234;Persist Security Info=True;User ID=CC;Data Source=orcl"</p><p> If
30、 Not Testtxt(txtClassno.Text) Then</p><p> MsgBox "請輸入班號!", vbOKOnly + vbExclamation, "警告"</p><p> txtClassno.SetFocus</p><p><b> Exit Sub</b><
31、/p><p><b> End If</b></p><p> If Not Testtxt(comboGrade.Text) Then</p><p> MsgBox "請選擇年級!", vbOKOnly + vbExclamation, "警告"</p><p> comb
32、oGrade.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Not Testtxt(txtDirector.Text) Then</p><p> MsgBox "請輸入班主任姓名!&q
33、uot;, vbOKOnly + vbExclamation, "警告"</p><p> txtDirector.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Not Tes
34、ttxt(txtClassroom.Text) Then</p><p> MsgBox "請輸入教室房間號!", vbOKOnly + vbExclamation, "警告"</p><p> txtClassroom.SetFocus</p><p><b> Exit Sub</b></
35、p><p><b> End If</b></p><p> If Not IsNumeric(Trim(txtClassno.Text)) Then</p><p> MsgBox "請輸入數(shù)字!", vbOKOnly + vbExclamation, "警告"</p><p>
36、;<b> Exit Sub</b></p><p> txtClassno.SetFocus</p><p><b> End If</b></p><p> cmd.ActiveConnection = sqlcon</p><p> cmd.CommandText = "i
37、nsertclass"</p><p> cmd.CommandType = adCmdStoredProc</p><p> Set classNO = cmd.CreateParameter("@CLASS_NO", adVarChar, adParamInput, 50)</p><p> cmd.Parameters.Ap
38、pend (classNO)</p><p> Set grad = cmd.CreateParameter("@GRADE", adVarChar, adParamInput, 50)</p><p> cmd.Parameters.Append (grad)</p><p> Set DIRECTO = cmd.CreateParame
39、ter("@DIRECTOR", adVarChar, adParamInput, 50)</p><p> cmd.Parameters.Append (DIRECTO)</p><p> Set CLASSROOMNO = cmd.CreateParameter("@CLASSROOM_NO", adVarChar, adParamInput
40、, 50)</p><p> cmd.Parameters.Append (CLASSROOMNO)</p><p> cmd("@CLASS_NO") = txtClassno.Text</p><p> cmd("@GRADE") = comboGrade.Text</p><p> cmd
41、("@DIRECTOR") = txtDirector.Text</p><p> cmd("@CLASSROOM_NO") = txtClassroom.Text</p><p> Set mrc = cmd.Execute</p><p> cmd.Parameters.Delete ("@CLASS_NO
42、")</p><p> cmd.Parameters.Delete ("@GRADE")</p><p> cmd.Parameters.Delete ("@DIRECTOR")</p><p> cmd.Parameters.Delete ("@CLASSROOM_NO")</p&g
43、t;<p> MsgBox "添加班級信息成功!", vbOKOnly + vbExclamation, "添加班級信息"</p><p><b> End Sub</b></p><p><b> 3.創(chuàng)建觸發(fā)器:</b></p><p> create or
44、 replace trigger course_info_del </p><p> before delete on course_info </p><p> for each row</p><p><b> declare</b></p><p> -- local variables here<
45、;/p><p><b> begin</b></p><p> delete from gradecourse_info;</p><p><b> end ;</b></p><p> 4.4 數(shù)據(jù)庫的連接</p><p> 配置文件連接數(shù)據(jù)庫的代碼:</p&
46、gt;<p> ConnectString = "Provider=OraOLEDB.Oracle.1;Password=1234;Persist Security Info=True;User ID=CC;Data Source=orcl"</p><p><b> 5 系統(tǒng)實現(xiàn)</b></p><p> 根據(jù)整個系統(tǒng)的總體設(shè)
47、計以及相關(guān)子系統(tǒng)的相關(guān)模塊功能的設(shè)計,我們進行了系統(tǒng)的軟件開發(fā)。詳細設(shè)計和功能展示如下:</p><p> 5.1 系統(tǒng)實現(xiàn)工具與支持平臺</p><p><b> (1) 用戶界面</b></p><p> 本系統(tǒng)采用Microsoft Visual Basic 6.0設(shè)計,用戶交互界面采用的是基于Windows的窗口界面。</p
48、><p> (2) 開發(fā)和運行環(huán)境</p><p> 工具軟件:VisualBasic</p><p> 系統(tǒng)軟件:Oracle 10g</p><p> 開發(fā)環(huán)境:Windows XP Professional </p><p> 運行環(huán)境:Windows 98\NT\2000\XP\2003</p&g
49、t;<p> 硬件配置:PentiumⅢ以上CPU、256MB以上的內(nèi)存、4GB以上的硬盤空間</p><p> 5. 2 公用模塊的設(shè)計</p><p> 以下為系統(tǒng)主控窗口的界面截圖:</p><p><b> 圖5.1 主控窗口</b></p><p> 在系統(tǒng)中創(chuàng)建公用模塊,存放在整個工程
50、項目中會調(diào)用到的函數(shù)、變量等。</p><p><b> 代碼如下:</b></p><p> Public fMainForm As frmMain</p><p> Public UserName As String</p><p> Sub Main()</p><p> Dim
51、fLogin As New frmLogin</p><p> fLogin.Show vbModal</p><p> If Not fLogin.OK Then</p><p> 'Login Failed so exit app</p><p><b> End</b></p><
52、;p><b> End If</b></p><p> Unload fLogin</p><p> Set fMainForm = New frmMain</p><p> fMainForm.Show</p><p><b> End Sub</b></p><
53、;p> Public Function ConnectString() _</p><p><b> As String</b></p><p> 'returns a DB ConnectString</p><p> ConnectString = "Provider=OraOLEDB.Oracle.1;Pa
54、ssword=1234;Persist Security Info=True;User ID=CC;Data Source=orcl"</p><p> End Function</p><p> Public Function ExecuteSQL(ByVal SQL _</p><p> As String, MsgString As Strin
55、g) _</p><p> As ADODB.Recordset</p><p> 'executes SQL and returns Recordset</p><p> Dim cnn As ADODB.Connection</p><p> Dim rst As ADODB.Recordset</p>&l
56、t;p> Dim sTokens() As String</p><p> On Error GoTo ExecuteSQL_Error</p><p> sTokens = Split(SQL)</p><p> Set cnn = New ADODB.Connection</p><p> cnn.Open Connect
57、String</p><p> If InStr("INSERT,DELETE,UPDATE", _</p><p> UCase$(sTokens(0))) Then</p><p> cnn.Execute SQL</p><p> MsgString = sTokens(0) & _</p>
58、;<p> " query successful"</p><p><b> Else</b></p><p> Set rst = New ADODB.Recordset</p><p> rst.CursorLocation = adUseClient</p><p> r
59、st.Open Trim$(SQL), cnn, _</p><p> adOpenKeyset, _</p><p> adLockOptimistic</p><p> 'rst.MoveLast 'get RecordCount</p><p> Set ExecuteSQL = rst</p>
60、;<p> MsgString = "查詢到" & rst.RecordCount & _</p><p><b> " 條記錄 "</b></p><p><b> End If</b></p><p> ExecuteSQL_Exit:<
61、;/p><p> Set rst = Nothing</p><p> Set cnn = Nothing</p><p> Exit Function</p><p> ExecuteSQL_Error:</p><p> MsgString = "查詢錯誤: " & _</p
62、><p> Err.Description</p><p> Resume ExecuteSQL_Exit</p><p> End Function</p><p> Public Function Testtxt(txt As String) As Boolean</p><p> If Trim(txt)
63、= "" Then</p><p> Testtxt = False</p><p><b> Else</b></p><p> Testtxt = True</p><p><b> End If</b></p><p> End Funct
64、ion</p><p> 5. 3系統(tǒng)界面設(shè)計:</p><p> 圖5.2 系統(tǒng)登錄界面</p><p> 圖5.3添加課程信息界面</p><p> 圖5.4添加學籍信息界面</p><p> 圖5.5查詢學籍信息界面</p><p> 圖5.5設(shè)置年級課程信息界面</p&
65、gt;<p> 5. 4 系統(tǒng)核心代碼</p><p> (1) 添加班級信息是通過存儲過程的調(diào)用實現(xiàn)的,部分源代碼:</p><p> sqlcon.Open "Provider=OraOLEDB.Oracle.1;Password=1234;Persist Security Info=True;User ID=CC;Data Source=orcl&quo
66、t;</p><p> cmd.ActiveConnection = sqlcon</p><p> cmd.CommandText = "insertclass"</p><p> cmd.CommandType = adCmdStoredProc</p><p> Set classNO = cmd.Creat
67、eParameter("@CLASS_NO", adVarChar, adParamInput, 50)</p><p> cmd.Parameters.Append (classNO)</p><p> Set grad = cmd.CreateParameter("@GRADE", adVarChar, adParamInput, 50)&l
68、t;/p><p> cmd.Parameters.Append (grad)</p><p> Set DIRECTO = cmd.CreateParameter("@DIRECTOR", adVarChar, adParamInput, 50)</p><p> cmd.Parameters.Append (DIRECTO)</p>
69、;<p> Set CLASSROOMNO = cmd.CreateParameter("@CLASSROOM_NO", adVarChar, adParamInput, 50)</p><p> cmd.Parameters.Append (CLASSROOMNO)</p><p> cmd("@CLASS_NO") = txt
70、Classno.Text</p><p> cmd("@GRADE") = comboGrade.Text</p><p> cmd("@DIRECTOR") = txtDirector.Text</p><p> cmd("@CLASSROOM_NO") = txtClassroom.Text<
71、;/p><p> Set mrc = cmd.Execute</p><p> cmd.Parameters.Delete ("@CLASS_NO")</p><p> cmd.Parameters.Delete ("@GRADE")</p><p> cmd.Parameters.Delete (
72、"@DIRECTOR")</p><p> cmd.Parameters.Delete ("@CLASSROOM_NO")</p><p> MsgBox "添加班級信息成功!", vbOKOnly + vbExclamation, "添加班級信息"</p><p><b>
73、; End Sub</b></p><p> (2) 查詢學生成績模塊的部分代碼:</p><p> Private Sub cmdInquire_Click()</p><p> Dim txtSQL As String</p><p> Dim MsgText As String</p><p&g
74、t; Dim dd(4) As Boolean</p><p> Dim mrc As ADODB.Recordset</p><p> txtSQL = "select * from RESULT_INFO where "</p><p> If Check1(0).Value Then</p><p> If
75、 Trim(txtSID.Text) = "" Then</p><p> sMeg = "學號不能為空"</p><p> MsgBox sMeg, vbOKOnly + vbExclamation, "警告"</p><p> txtSID.SetFocus</p><p>
76、;<b> Exit Sub</b></p><p><b> Else</b></p><p> If Not IsNumeric(Trim(txtSID.Text)) Then</p><p> MsgBox "請輸入數(shù)字!", vbOKOnly + vbExclamation, "
77、;警告"</p><p><b> Exit Sub</b></p><p> txtSID.SetFocus</p><p><b> End If</b></p><p> dd(0) = True</p><p> txtSQL = txtSQL &
78、amp; "student_ID = '" & Trim(txtSID.Text) & "'"</p><p><b> End If</b></p><p><b> End If</b></p><p> If Check1(1).Value
79、 Then</p><p> If Trim(txtName.Text) = "" Then</p><p> sMeg = "姓名不能為空"</p><p> MsgBox sMeg, vbOKOnly + vbExclamation, "警告"</p><p> txtN
80、ame.SetFocus</p><p><b> Exit Sub</b></p><p><b> Else</b></p><p> dd(1) = True</p><p> If dd(0) Then</p><p> txtSQL = txtSQL &a
81、mp; "and student_Name = '" & txtName.Text & "'"</p><p><b> Else</b></p><p> txtSQL = txtSQL & "student_Name = '" & txtName
82、.Text & "'"</p><p><b> End If</b></p><p><b> End If</b></p><p><b> End If</b></p><p> If Check1(2).Value Then&
83、lt;/p><p> If Trim(txtCourse.Text) = "" Then</p><p> sMeg = "課程不能為空"</p><p> MsgBox sMeg, vbOKOnly + vbExclamation, "警告"</p><p> txtCours
84、e.SetFocus</p><p><b> Exit Sub</b></p><p><b> Else</b></p><p> dd(2) = True</p><p> If dd(0) Or dd(1) Then</p><p> txtSQL = tx
85、tSQL & "and course_Name = '" & txtCourse.Text & "'"</p><p><b> Else</b></p><p> txtSQL = txtSQL & "course_Name = '" &
86、txtCourse.Text & "'"</p><p><b> End If</b></p><p><b> End If</b></p><p><b> End If</b></p><p> If Not (dd(0) O
87、r dd(1) Or dd(2) Or dd(3)) Then</p><p> MsgBox "請設(shè)置查詢方式!", vbOKOnly + vbExclamation, "警告"</p><p><b> Exit Sub</b></p><p><b> End If</b>
88、;</p><p> txtSQL = txtSQL & " order by student_ID "</p><p> Set mrc = ExecuteSQL(txtSQL, MsgText)</p><p> With myflexgrid</p><p><b> .Rows = 2&l
89、t;/b></p><p> .CellAlignment = 4</p><p> .TextMatrix(1, 0) = "考試編號"</p><p> .TextMatrix(1, 1) = "學號"</p><p> .TextMatrix(1, 2) = "姓名&quo
90、t;</p><p> .TextMatrix(1, 3) = "班號"</p><p> .TextMatrix(1, 4) = "課程名稱"</p><p> .TextMatrix(1, 5) = "分數(shù)"</p><p> Do While Not mrc.EOF&l
91、t;/p><p> .Rows = .Rows + 1</p><p> .CellAlignment = 4</p><p> .TextMatrix(.Rows - 1, 0) = mrc.Fields(0)</p><p> .TextMatrix(.Rows - 1, 1) = mrc.Fields(1)</p>&
92、lt;p> .TextMatrix(.Rows - 1, 2) = mrc.Fields(2)</p><p> .TextMatrix(.Rows - 1, 3) = mrc.Fields(3)</p><p> .TextMatrix(.Rows - 1, 4) = mrc.Fields(4)</p><p> .TextMatrix(.Rows
93、- 1, 5) = mrc.Fields(5)</p><p> mrc.MoveNext</p><p><b> Loop</b></p><p><b> End With</b></p><p><b> mrc.Close</b></p><
94、;p><b> End Sub</b></p><p> (3) 修改課程信息部分代碼:</p><p> Private Sub cancelCommand_Click()</p><p> If Not mcclean Then</p><p> Frame2.Enabled = True</p
95、><p> firstCommand.Enabled = True</p><p> previousCommand.Enabled = True</p><p> nextCommand.Enabled = True</p><p> lastCommand.Enabled = True</p><p> tx
96、tCourseno.Enabled = False</p><p> txtCoursename.Enabled = False</p><p> comboCoursetype.Enabled = False</p><p> txtCoursedes.Enabled = False</p><p> mrc.Bookmark =
97、myBookmark</p><p> Call viewData</p><p><b> Else</b></p><p> MsgBox "什么都沒有修改,不需要取消!", vbOKOnly + vbExclamation, "警告"</p><p><b>
98、 End If</b></p><p><b> End Sub</b></p><p> Private Sub deleteCommand_Click()</p><p> myBookmark = mrc.Bookmark</p><p> str2$ = MsgBox("是否刪除當
99、前記錄?", vbOKCancel, "刪除當前記錄")</p><p> If str2$ = vbOK Then</p><p> mrc.MoveNext</p><p> If mrc.EOF Then</p><p> mrc.MoveFirst</p><p> my
100、Bookmark = mrc.Bookmark</p><p> mrc.MoveLast</p><p> mrc.Delete</p><p> mrc.Bookmark = myBookmark</p><p> Call viewData</p><p><b> Else</b>
101、;</p><p> myBookmark = mrc.Bookmark</p><p> mrc.MovePrevious</p><p> mrc.Delete</p><p> mrc.Bookmark = myBookmark</p><p> Call viewData</p><
102、;p><b> End If</b></p><p><b> Else</b></p><p> mrc.Bookmark = myBookmark</p><p> Call viewData</p><p><b> End If</b></p>
103、;<p><b> End Sub</b></p><p> Private Sub editCommand_Click()</p><p> mcclean = False</p><p> Frame2.Enabled = False</p><p> firstCommand.Enabled
104、 = False</p><p> previousCommand.Enabled = False</p><p> nextCommand.Enabled = False</p><p> lastCommand.Enabled = False</p><p> txtCourseno.Enabled = True</p>
105、;<p> txtCoursename.Enabled = True</p><p> comboCoursetype.Enabled = True</p><p> txtCoursedes.Enabled = True</p><p> comboCoursetype.AddItem "必修"</p>&l
106、t;p> comboCoursetype.AddItem "考查"</p><p> myBookmark = mrc.Bookmark</p><p><b> End Sub</b></p><p> Private Sub firstCommand_Click()</p><p>
107、 mrc.MoveFirst</p><p> Call viewData</p><p><b> End Sub</b></p><p> Private Sub previousCommand_Click()</p><p> mrc.MovePrevious</p><p>
108、If mrc.BOF Then</p><p> mrc.MoveLast</p><p><b> End If</b></p><p> Call viewData</p><p><b> End Sub</b></p><p> Private Sub up
109、dateCommand_Click()</p><p> Dim txtSQL As String</p><p> Dim MsgText As String</p><p> Dim mrcc As ADODB.Recordset</p><p> If mcclean Then</p><p> Msg
110、Box "請先修改課程信息", vbOKOnly + vbExclamation, "警告"</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Not Testtxt(txtCourseno.Text)
111、Then</p><p> MsgBox "請輸入課程編號!", vbOKOnly + vbExclamation, "警告"</p><p> txtCourseno.SetFocus</p><p><b> Exit Sub</b></p><p><b>
112、 End If</b></p><p> If Not IsNumeric(Trim(txtCourseno.Text)) Then</p><p> MsgBox "課程編號請輸入數(shù)字!", vbOKOnly + vbExclamation, "警告"</p><p> txtCourseno.SetFoc
113、us</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Not Testtxt(txtCoursename.Text) Then</p><p> MsgBox "請輸入課程名稱!", vbOKOn
114、ly + vbExclamation, "警告"</p><p> txtCoursename.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Not Testtxt(combo
115、Coursetype.Text) Then</p><p> MsgBox "請選擇課程類型!", vbOKOnly + vbExclamation, "警告"</p><p> comboCoursetype.SetFocus</p><p><b> Exit Sub</b></p>
116、<p><b> End If</b></p><p> If Not Testtxt(txtCoursedes.Text) Then</p><p> MsgBox "請輸入課程描述信息!", vbOKOnly + vbExclamation, "警告"</p><p> txtC
117、oursedes.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> mrc.Delete</p><p> txtSQL = "select * from course_Info where co
118、urse_No = '" & Trim(txtCourseno.Text) & "'"</p><p> Set mrcc = ExecuteSQL(txtSQL, MsgText)</p><p> If mrcc.EOF = False Then</p><p> MsgBox "課程
119、編號重復,請重新輸入!", vbOKOnly + vbExclamation, "警告"</p><p> mrcc.Close</p><p> txtCourseno.SetFocus</p><p><b> Else</b></p><p> mrcc.Close</p
120、><p> mrc.AddNew</p><p> mrc.Fields(0) = Trim(txtCourseno.Text)</p><p> mrc.Fields(1) = Trim(txtCoursename.Text)</p><p> mrc.Fields(2) = Trim(comboCoursetype.Text)<
121、/p><p> mrc.Fields(3) = Trim(txtCoursedes.Text)</p><p> mrc.Update</p><p> MsgBox "修改課程信息成功!", vbOKOnly + vbExclamation, "警告"</p><p> mrc.Bookmark
122、= myBookmark</p><p> Call viewData</p><p> Frame2.Enabled = True</p><p> firstCommand.Enabled = True</p><p> previousCommand.Enabled = True</p><p> ne
123、xtCommand.Enabled = True</p><p> lastCommand.Enabled = True</p><p> txtCourseno.Enabled = False</p><p> txtCoursename.Enabled = False</p><p> comboCoursetype.Enable
124、d = False</p><p> txtCoursedes.Enabled = False</p><p> mcclean = True</p><p><b> End If</b></p><p><b> End Sub</b></p><p><b
125、> 6 總結(jié)與展望</b></p><p><b> 6.1 收獲與體會</b></p><p> 通過本次數(shù)據(jù)庫課程設(shè)計我從中學習到了許多課本中沒有的知識,更重要的是從該課程設(shè)計中對自己的動手能力和動腦能力有了更大層次的提高,切實提高了自己的綜合能力,使得將所學的知識同實際的運用相結(jié)合,并對數(shù)據(jù)庫知識的了解和運用,尤其是數(shù)據(jù)庫中常用的檢索操
126、作和更新操作,以及權(quán)限的分配和安全性保護等等,有了更深層次的理解;對oracle數(shù)據(jù)庫的觸發(fā)器和存儲過程的運用有了很大的了解和認識,能夠根據(jù)實際的情況來編寫適當?shù)挠|發(fā)器和存儲過程,并顯示正確的處理結(jié)果;同時,通過該設(shè)計也充分的將所學的語言和數(shù)據(jù)庫知識有效的結(jié)合,創(chuàng)新性的開發(fā)出一個具備比較合理的功能的可視化圖形界面的數(shù)據(jù)庫軟件,為今后的實際工作的開發(fā)項目有了很大程度的幫助。</p><p> 在本次課程設(shè)計中我認
127、識和掌握了很多有關(guān)VB和ORACLE的相關(guān)知識。整個系統(tǒng)對數(shù)據(jù)庫進行了細致上的設(shè)計,保證了數(shù)據(jù)庫部分在應(yīng)用程序設(shè)計時不做任何修改。并在有關(guān)的后臺操作中使用了存儲過程和觸發(fā)器,提高了系統(tǒng)運行的速度和系統(tǒng)性能,確保了數(shù)據(jù)的安全.。</p><p><b> 參考文獻</b></p><p> [1]丁振凡 . Java語言實用教程[M]. 北京郵電大學出版社. 200
128、6.9</p><p> [2]丁振凡 . Java語言實用教程實驗指導[M]. 北京郵電大學出版社. 2006.9</p><p> [3] John Lewis等《Java程序設(shè)計教程(第四版)中文 》電子工業(yè)出版社</p><p> [4]Bruce Eckel著.《Java編程思想(第四版)中文》</p><p> [5]宛延
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程課程設(shè)計--學生信息管理系統(tǒng)
- 軟件工程課程設(shè)計---學生信息管理系統(tǒng)
- 軟件工程課程設(shè)計--學生信息管理系統(tǒng)
- 軟件工程課程設(shè)計-學生信息管理系統(tǒng)
- 軟件工程課程設(shè)計---學生信息管理系統(tǒng)
- 軟件工程課程設(shè)計學生信息管理系統(tǒng)
- 軟件工程課程設(shè)計---學生信息管理系統(tǒng) (2)
- 軟件工程課程設(shè)計報告---學生信息管理系統(tǒng)
- 軟件工程課程設(shè)計報告--學生信息管理系統(tǒng)
- 軟件工程課程設(shè)計--學生綜合信息管理系統(tǒng)
- 軟件工程課程設(shè)計--超市信息管理系統(tǒng)
- 軟件工程課程設(shè)計---旅游信息管理系統(tǒng)
- 軟件工程課程設(shè)計--nba信息管理系統(tǒng)
- 軟件工程課程設(shè)計報告--旅游信息管理系統(tǒng)
- 軟件工程課程設(shè)計-學生信息管理系統(tǒng)的設(shè)計與實現(xiàn)
- 軟件工程課程設(shè)計論文—旅店信息管理系統(tǒng)
- 軟件工程課程設(shè)計-企業(yè)員工信息管理系統(tǒng)
- 《軟件工程》課程設(shè)計--學生管理系統(tǒng)
- 軟件工程課程設(shè)計--學生管理系統(tǒng)
- 軟件工程課程設(shè)計——學生管理系統(tǒng)
評論
0/150
提交評論