【正文】
謝爾 上??茖W(xué)技術(shù)文獻(xiàn)出版社 2021年 When I was quite small I would sometimes dream of a city — which was strange because it began before I even knew what a city was. But this city, clustered on 。 在本系統(tǒng)的設(shè)計(jì)過程和論文編寫過程中,很多老師、同事和朋友都給與了我許多無私的幫助,尤其是我的導(dǎo)師給我的 論文提出了很多寶貴的修改意見,在這里,我向這些無私幫助我的人表示衷心的感謝。但是,它畢竟代表了我二個(gè)月辛勤的結(jié)晶。 在開始編寫程序的時(shí)候,我看到別人的軟件功能非常的詳細(xì),而且界面非常的漂亮,總希望自己的軟件也非常的完善,但是,經(jīng)過二個(gè)月的學(xué)習(xí),發(fā)現(xiàn)編一個(gè)優(yōu)秀的軟件決不是一蹴而就的事情,需要長(zhǎng)時(shí)間的積累和經(jīng)驗(yàn),而這個(gè)方面又是我的弱項(xiàng),因此,在朋友的幫助下,我終于認(rèn)清自己的不足及劣勢(shì),不要貪圖大而全,只要盡我所能,編制一個(gè)實(shí)用簡(jiǎn)單的軟件也是件很不容易的事情。通過這樣的系統(tǒng),我們可以做到信息的規(guī)范管理和快速查詢,實(shí)現(xiàn)了學(xué)生成績(jī)管理的系統(tǒng)化、規(guī)范化和自動(dòng)化,這樣不僅減少了管理工作量,還提高了管理效率,降低了管理成本。面對(duì)龐大的信息量,就需要有學(xué)生成績(jī)管理系統(tǒng)來提高學(xué)生管理工作的效率。 發(fā)布應(yīng)用程序的步驟 將學(xué)生成績(jī)管理系統(tǒng)打包后,制作安裝程序的過程并沒有結(jié)束,必須將打包后的應(yīng)用程序發(fā)布到一個(gè)媒體上,比如軟盤,光盤等,發(fā)布學(xué)生成績(jī)管理系統(tǒng)的主要步驟如下:選擇“學(xué)生成績(jī)管理系統(tǒng)”這個(gè)包,然后指定把這個(gè)包發(fā)布到指定文件夾中,選擇發(fā)布的媒體,就可以完成“學(xué)生成績(jī)管理系統(tǒng)”的發(fā)布工作了。工程編譯完成后,向?qū)г儐栂胫谱魇裁搭愋偷陌?,我們這里使用向?qū)е谱靼惭b程序。 33 使用打包和展開向?qū)нM(jìn)行打包的第一個(gè)步驟就是選擇一個(gè)工程,然后單擊打包按鈕,開始創(chuàng)建一個(gè)可以發(fā)布的應(yīng)用程序。 ? 打包和展開向?qū)В?Package and Deployment) ? Visual Basic 安裝軟件提供的安裝工具包。 部署 必須將打包的應(yīng)用程序放置到適當(dāng)?shù)奈恢?,以便用戶來安裝應(yīng)用程序。 因此,學(xué)生成績(jī)管理系統(tǒng)采用的視本地代碼的編譯格式。 Visual 支持兩種編譯格式: P 代碼和本地代碼。右擊編譯過的 .exe 文件,然后從快捷菜單中選擇“屬性”命令打開“屬性”對(duì)話框的版本標(biāo)簽,就可以看到應(yīng)用程序的版本信息。 Visual Basic 提供 APP 對(duì)象來存儲(chǔ)應(yīng)用程序的有關(guān)信息屬性,例如,公司名,產(chǎn)品名,版本以及其他相關(guān)信息。 ? 使用應(yīng)用程序更安全。 32 編譯應(yīng)用程序的主要目的如下; ? 使應(yīng)用程序轉(zhuǎn)入和運(yùn)行更快。 編譯應(yīng)用程序 編譯學(xué)生成績(jī)管理程序就是將創(chuàng)建的應(yīng)用程序以及它的工程文件合并成一個(gè)可執(zhí)行文件。39。 39。 amp。39。39。39。 On Error Resume Next 30 Dim rsDep As New , rsClass As New Set rsDep = Set rsClass = 39。39。 sTemp amp。 39。 amp。 .msFindOp amp。 Else sTemp = .msFindField amp。 .msFindExpr amp。 39。 amp。39。 的成績(jī)信息 1 End Sub Private Sub cmdSeek_Click() With frmFind Dim i As Integer 39。刷新網(wǎng)格控件 Call RefreshGrid Call ChangeBrowseState Call grdScan_Change End Sub Private Sub cmdNext_Click() Call ChangeBrowseState End Sub Private Sub cmdPrevious_Click() Call ChangeBrowseState End Sub Private Sub cmdReport_Click() On Error Resume Next Dim rpt As New rptStudentScore Load rpt = 學(xué)生 amp。 strSQL 39。 39。 amp。39。刷新整個(gè)網(wǎng)格控件 Call RefreshScore((0).CellText()) Exit Sub errHandler: MsgBox , vbCritical, 錯(cuò)誤 End Sub Private Sub cmdFirst_Click() Call ChangeBrowseState End Sub Private Sub cmdLast_Click() Call ChangeBrowseState End Sub Private Sub cmdList_Click() 39。 str 27 Unload frmAddCourse End With Unload frmAddCourse 39。 . amp。 and courseID=39。 39。 amp。 . str = str amp。39。39。39。39。39。39。39。 39。 amp。 39。 amp。39。 39。 amp。 39。 amp。 39。 str = str amp。39。39。39。 _ 姓名: amp。根 據(jù) 的記錄狀態(tài),來改變管理 grdScore 的各個(gè)按鈕的狀態(tài) If .BOF And .EOF Then = True = False = False = False Else = True = True = True = True End If End With = oneScore = 學(xué)號(hào): amp。 End If .Open str 39。 sSerial amp。 _ and = 39。39。 39。 amp。39。39。假如處于記錄的頭部 If .BOF Then If Not .EOF Then = False = False Else = True = True End If 39。39。39。39。刷新各個(gè)綁定控件 Call grdScan_Change End Sub 39。當(dāng)改變記錄集時(shí),需要刷新整個(gè)網(wǎng)格控件 Sub RefreshGrid() = If adStateClosed Then = sqlStudent 39。39。如圖 所示。教師用戶進(jìn)入“成績(jī)管理” 中的“按學(xué)生進(jìn)行管理”功能,出現(xiàn)如圖 所示界面。39。39。39。39。39。 End Select 39。 pwd amp。 and serial=39。 user amp。選擇身份為課程 strSQL = select * from student where name=39。 39。 amp。 39。 amp。根據(jù)不同的身份,選擇不同的表用以查詢 Dim r As New Dim strSQL As String Select Case gnUserType Case 0: 39。取得用戶輸入的用戶名和密碼 Dim user As String, pwd As String user = txtUser pwd = txtPwd 19 39。 登陸界面編碼設(shè)計(jì) 首先是進(jìn)入登陸界 面,如圖 所示 圖 登陸界面 Private Sub cboUserType_Change() gnUserType = End Sub Private Sub cboUserType_Click() gnUserType = End Sub Private Sub cmdCancel_Click() Unload Me End Sub Private Sub cmdOK_Click() 39。 ADO 支持 Connection String 屬性的 4 個(gè)參數(shù),而且這 4 個(gè)參數(shù)將不經(jīng)過 ADO 的處理直接 送到數(shù)據(jù)源。 Connection String 屬性:是一個(gè)字符串,可以包含進(jìn)行一個(gè)連接所需的所有設(shè)置值,在該字符串中所傳遞的參數(shù)是與驅(qū)動(dòng)程序相關(guān)的。 ADO 數(shù)據(jù)控件的屬性 ADO 數(shù)據(jù)控件與 Visual Basic 的內(nèi)部數(shù)據(jù)控件 (Data)和遠(yuǎn)程數(shù)據(jù)控件(RDC)很相似,它允許使用 ADO 快速地創(chuàng)建與數(shù)據(jù)庫(kù)的連接。 ? 將數(shù)據(jù)字段的數(shù)值傳遞給數(shù)據(jù)綁定的控件,可以在這些控件中顯示或更改這些數(shù)值。在 Visual 中,Name 課程名稱 文 本 50 Period 學(xué)時(shí)數(shù) 數(shù) 字 長(zhǎng)整型 typeid 課程類型 文本 50 17 可以使用 ADO 數(shù)據(jù)控件實(shí)現(xiàn)下面一些功能: ? 連接一個(gè)本地?cái)?shù)據(jù)庫(kù)或遠(yuǎn)程數(shù)據(jù)庫(kù)。 ADO 數(shù)據(jù)控件的功能 ADO data 控件使用 ActiveX 數(shù)據(jù)對(duì)象( ADO)來快速建立數(shù)據(jù)約束控件和數(shù)據(jù)提供者之間的連接,并快速創(chuàng)建記錄集,然后將數(shù)據(jù)通過數(shù)據(jù)約束控件提供給用戶,其中數(shù)據(jù)約束控件可以是任何具有“數(shù)據(jù)源”屬性的控件,而數(shù)據(jù)提供者可以是符合 OLE DB 規(guī)范的數(shù)據(jù)源。程序開發(fā)人員可以創(chuàng)建這些對(duì)象并且使用這些對(duì)象訪問數(shù)據(jù)庫(kù)。與其他的數(shù)據(jù)訪問對(duì)象相比,包含在ADO 的對(duì)象少得多,也更加容易使用。在 Visual 中, ADO 的數(shù)據(jù)環(huán)境設(shè)計(jì)器 (Data Environment Designer)取代了 Visual Basic 中的 RDO 的用戶連接設(shè)計(jì)器(User Connection Designer)。 Visual Basic 可以很好地支持 ADO 和 OLE DB 數(shù)據(jù)訪問模式。 學(xué)生成績(jī)管理系統(tǒng)通過 ADO 這個(gè)數(shù)據(jù)控件來訪問數(shù)據(jù)庫(kù),首先,安裝ADO 控件要在簡(jiǎn)體中文 VISUAL 企業(yè)版中注冊(cè)后才 能使用。 用戶登錄 用戶類別 教師用戶 學(xué)生用戶 學(xué)生角度管理 學(xué)生角度管理 個(gè)人成績(jī)查詢 14 學(xué)生實(shí)體 E- R 圖 圖 學(xué)生實(shí)體 ER 圖 課程實(shí)體 E- R 圖 圖 課程實(shí)體 ER 圖 學(xué)生成績(jī)信息實(shí)體 E- R 圖 圖 學(xué)生成績(jī)信息實(shí)體 ER 圖 學(xué)生成績(jī)信息實(shí)體 學(xué)號(hào) 姓名 課程 成績(jī) ? ? ? 課程實(shí)體 編號(hào) 名稱 學(xué)時(shí) 類型 ? ? ? 學(xué)生實(shí)體 學(xué)號(hào) 姓名 班級(jí) 簡(jiǎn)歷 ? ? ? 15 數(shù)據(jù)詞典設(shè)計(jì) 該軟件的數(shù)據(jù)庫(kù)名稱為“ ”,該數(shù)據(jù)庫(kù) 主要由下述三張表構(gòu)成: score:成績(jī)表 student:學(xué)生信息表 course:課程信息表 score:成績(jī)表 student:學(xué)生信息表 course:課程信息表 字段名稱 內(nèi) 容 類 型 長(zhǎng) 度 備注 id ID 號(hào) 自動(dòng)編號(hào) 長(zhǎng)整型 studentID 學(xué) 號(hào) 文 本 為主鍵之一,對(duì)應(yīng)于student 表的 Serial 字段 CourseID 課程編號(hào) 文 本 為主鍵之一,對(duì)應(yīng)于Course 表的 Serial 字段 Score 分 數(shù) 數(shù) 字 整 型 字段名稱 內(nèi) 容 類 型 長(zhǎng) 度 備注 Serial 學(xué)號(hào) 文本 7 主關(guān)鍵字 Name