學(xué)生信息管理系統(tǒng)畢業(yè)論文2
《學(xué)生信息管理系統(tǒng)畢業(yè)論文2》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《學(xué)生信息管理系統(tǒng)畢業(yè)論文2(27頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、學(xué)生信息管理系統(tǒng) –––––––––––––––––摘 要––––––––––––––––– 學(xué)生信息管理系統(tǒng)是典型的信息管理系統(tǒng) (MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。 經(jīng)過(guò)分析,我們使用MICROSOFT公司的VISUAL BASIC開(kāi)發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_(kāi)發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡(jiǎn)潔操縱數(shù)據(jù)庫(kù)的智能化對(duì)象,首先在短時(shí)間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對(duì)初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),
2、直到形成用戶(hù)滿(mǎn)意的可行系統(tǒng)。 關(guān)鍵字:控件、窗體、域、數(shù)據(jù)庫(kù)。 –––––––––––––––––前 言––––––––––––––––– 隨著學(xué)校的規(guī)模不斷擴(kuò)大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成倍增長(zhǎng)。面對(duì)龐大的信息量需要有學(xué)生管理系統(tǒng)來(lái)提高學(xué)生管理工作的效率。通過(guò)這樣的系統(tǒng)可以做到信息的規(guī)范管理、科學(xué)統(tǒng)計(jì)和快速查詢(xún)、修改、增加、刪除等,從而減少管理方面的工作量。 本系統(tǒng)主要用于學(xué)校學(xué)生信息管理,總體任務(wù)是實(shí)現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動(dòng)化,其主要任務(wù)是用
3、計(jì)算機(jī)對(duì)學(xué)生各種信息進(jìn)行日常管理,如查詢(xún)、修改 、增加、刪除,另外還考慮到學(xué)生選課,針對(duì)這些要求設(shè)計(jì)了學(xué)生信息管理系統(tǒng)本系統(tǒng)主要用于學(xué)校學(xué)生信息管理,總體任務(wù)是實(shí)現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動(dòng)化,其主要任務(wù)是用計(jì)算機(jī)對(duì)學(xué)生各種信息進(jìn)行日常管理,如查詢(xún)、修改 、增加、刪除,另外還考慮到學(xué)生選課,針對(duì)這些要求設(shè)計(jì)了學(xué)生信息管理系統(tǒng)。 本系統(tǒng)主要包括學(xué)生信息查詢(xún)、教務(wù)信息維護(hù)和學(xué)生選課三部分。其功能主要有: ⒈有關(guān)學(xué)籍等信息的輸入,包括輸入學(xué)生基本信息、所在班級(jí)、所學(xué)課程和成績(jī)等。 ⒉學(xué)生信息的查詢(xún),包括查詢(xún)學(xué)生基本信息、所在班級(jí)、已學(xué)課程和成績(jī)等。 ⒊學(xué)生信息的修改。 ⒋班級(jí)管理信
4、息的輸入,包括輸入班級(jí)設(shè)置、年級(jí)信息等。 ⒌班級(jí)管理信息的查詢(xún)。 ⒍班級(jí)管理信息的修改。 ⒎學(xué)生課程的設(shè)置和修改。 目 錄 前言 第一章 Visual Basic 概述 1.1 Visual Basic 語(yǔ)言的特點(diǎn) 1.2 Visual Basic 系統(tǒng)幾個(gè)程序應(yīng)用中的常用名詞 第二章 Windows 下的Visual Basic 編程環(huán)境簡(jiǎn)介 2.1 面對(duì)對(duì)象的編程 2.2 實(shí)現(xiàn)菜單選項(xiàng) 2.3 實(shí)現(xiàn)工具欄 第三章 怎樣
5、開(kāi)發(fā)一個(gè)學(xué)生信息管理系統(tǒng)的查詢(xún)模塊 3.1 學(xué)生信息系統(tǒng)的設(shè)計(jì)分析 3.2 編程環(huán)境的選擇 3.3 關(guān)系型數(shù)據(jù)庫(kù)的實(shí)現(xiàn) 3.4 二者的結(jié)合(DBA) 第四章 使用Access2000 創(chuàng)建數(shù)據(jù)庫(kù) 4.1 數(shù)據(jù)庫(kù)的概念 4.2 新建一個(gè)數(shù)據(jù)庫(kù) 4.3 修改已建的數(shù)據(jù)庫(kù) 第五章 可行性分析 第六章 系統(tǒng)總體規(guī)劃 6.1 系統(tǒng)功能 6.2 系統(tǒng)流程圖 第七章 系統(tǒng)具體實(shí)現(xiàn) 7.1 各功能的實(shí)現(xiàn) 7.1.1 課程管理 7.1.2 打印統(tǒng)計(jì) 結(jié)束語(yǔ) 后記 主要參考文獻(xiàn) 第一章 Visual Basic 概述 1
6、.1 Visual Basic 語(yǔ)言的特點(diǎn) Visual Basic 語(yǔ)言用其設(shè)計(jì)應(yīng)用程序時(shí)具有兩個(gè)基本特點(diǎn):可視化設(shè)計(jì)和事件驅(qū)動(dòng)編程。 (1) 可視化設(shè)計(jì):表現(xiàn)在VB在設(shè)計(jì)應(yīng)用于程序界面時(shí)有“所見(jiàn)即所得”的處理功能。 (2) 事件驅(qū)動(dòng)編程:在設(shè)計(jì)應(yīng)用程序時(shí),把對(duì)象添加到窗體中,在用戶(hù)與程序進(jìn)行交互時(shí),用戶(hù)基本上是通過(guò)鼠標(biāo)、鍵盤(pán)與應(yīng)用程序進(jìn)行交互的,那些對(duì)象就必須對(duì)鼠標(biāo)和鍵盤(pán)操作所引發(fā)的事件做出響應(yīng),來(lái)執(zhí)行一段應(yīng)用程序。 1.2 Visual Basic 系統(tǒng)幾個(gè)在程序應(yīng)用中的常用名詞 Visual Basic 系統(tǒng)除了一般高級(jí)語(yǔ)言所具有的一些名詞術(shù)語(yǔ)外,還有幾個(gè)系統(tǒng)常用
7、的名詞。其基本含義如下: (1) 視窗(Form) 視窗是進(jìn)行人機(jī)交互的界面或接口,也叫窗體。VB系統(tǒng)的人機(jī)交互界面或接口,無(wú)論是在設(shè)計(jì)時(shí)或是在運(yùn)行時(shí),都是Windows 系統(tǒng)的標(biāo)準(zhǔn)視窗。 (2) 對(duì)象 (Object) 對(duì)象是VB系統(tǒng)內(nèi)部提供給設(shè)計(jì)者可以直接使用的處理輸出的控制工具。本程序所應(yīng)用到的對(duì)象類(lèi)型有標(biāo)簽框 (Label Box),文本框 (Text Box),命令按扭 (Command Button),網(wǎng)格 (Data Grid),ADO控件 (Adodc1)等。當(dāng)把這些工具放置到用戶(hù)界面對(duì)應(yīng)的窗體上時(shí),被稱(chēng)為對(duì)象或控件。用戶(hù)可以通過(guò)設(shè)置對(duì)象的“屬性”和“方法”,便于對(duì)象適
8、應(yīng)自己所設(shè)計(jì)應(yīng)用程序的輸入輸出內(nèi)容,對(duì)象的生成過(guò)程及結(jié)構(gòu)都被封裝起來(lái)。正確使用對(duì)象可以減少程序和開(kāi)發(fā)時(shí)間,提高程序設(shè)計(jì)者的工作效率。 (3) 屬性 (Properties) 屬性是VB系統(tǒng)提供的有關(guān)對(duì)象的參數(shù)或數(shù)據(jù)接口。用戶(hù)通過(guò)適當(dāng)?shù)卦O(shè)置或改變對(duì)象的屬性來(lái)確定對(duì)象的外觀及性能特征,從而有效地使用系統(tǒng)提供的對(duì)象。比如,對(duì)象的名稱(chēng)、在屏幕上顯示的位置、大小、顏色、接收或容納的數(shù)據(jù)內(nèi)容及數(shù)據(jù)的表現(xiàn)格式等。 (4) 事件 (Events) 事件是指用戶(hù)或操作者對(duì)計(jì)算機(jī)進(jìn)行的某一操作(如擊鍵、單擊或移動(dòng)鼠標(biāo)等)的行為或系統(tǒng)狀態(tài)發(fā)生的變化。VB系統(tǒng)常用事件來(lái)引導(dǎo)計(jì)算機(jī)執(zhí)行一段程序。程序所用的鍵盤(pán)事
9、件有KeyPress(按鍵)事件,KeyDown事件和KeyUp事件;鼠標(biāo)事件有Click(單擊鼠標(biāo))事件,DbDlicd(雙擊鼠標(biāo))。 (5) 方法 (Method) 方法主要是指對(duì)一個(gè)對(duì)象使用某種作用的過(guò)程。它是在程序執(zhí)行的過(guò)程中要計(jì)算機(jī)執(zhí)行的某種操作。其程序的方法有Show(顯示)方法,Hide(隱藏)方法,Refresh(刷新)方法。 (6) 過(guò)程 (Procedure) 過(guò)程是指經(jīng)過(guò)定義或說(shuō)明的,或基于某一對(duì)象對(duì)應(yīng)的事件所引發(fā)的程序段。 (7) 模塊 (Module) 模塊是指一些運(yùn)算量或過(guò)程進(jìn)行聲明或定義的一個(gè)集合。系統(tǒng)程序大體可分成四個(gè)模塊:數(shù)據(jù)輸入、根據(jù)查詢(xún)、數(shù)據(jù)打
10、印和通訊。 第二章 Windows下的Visual Basic 編程環(huán)境簡(jiǎn)介 2.1 面對(duì)對(duì)象的編程 面向?qū)ο蟮脑O(shè)計(jì)方法 (OOP, Objected Programming) 從應(yīng)用領(lǐng)域內(nèi)的問(wèn)題著手,以直觀自然的方式描述客觀世界的實(shí)體。Visual Basic 作為一種面向?qū)ο蟮木幊谭椒?,把程序和?shù)據(jù)封裝起來(lái)作為一個(gè)對(duì)象,并為每個(gè)對(duì)象賦予相應(yīng)的屬性。在設(shè)計(jì)對(duì)象時(shí),不必編寫(xiě)建立和描述每個(gè)對(duì)象的程序代碼,而是用工具畫(huà)在界面上,由 Visual Basic 自動(dòng)生成對(duì)象的程序代碼并封裝起來(lái)。Visual Basic 應(yīng)用程序基本的構(gòu)建塊是用戶(hù)所創(chuàng)建的對(duì)象,每一個(gè)對(duì)象都具有一些特性和
11、行為(屬性、事件和方法)。開(kāi)發(fā)人員可以最有效利用所創(chuàng)建的每一個(gè)對(duì)象。使用應(yīng)用程序具有可通用性可說(shuō)擴(kuò)展性和強(qiáng)有力的功能。 Visual Basic 應(yīng)用由一系列對(duì)象組成,包括有函數(shù)、菜單、函數(shù)、結(jié)構(gòu)和數(shù)據(jù)窗口、用戶(hù)對(duì)象、用戶(hù)事件等等,對(duì)象中又包含若干控件如命令按鈕、單行編輯器等這些對(duì)象和控件都可在許多應(yīng)用中重復(fù)使用。 2.2 實(shí)現(xiàn)菜單選項(xiàng) 菜單是程序最重要的特性之一,大多數(shù)程序都依賴(lài)一個(gè)定義良好的菜單使程序易于使用和維護(hù),Visual Basic 也提供了強(qiáng)大的創(chuàng)建菜單功能是程序更加標(biāo)準(zhǔn)。 本系統(tǒng)使用 Visual Basic 的菜單編輯器建立菜單或者修改已經(jīng)存在的菜單,您也可以使用Vi
12、sual Basic 的Application Wizard 來(lái)操作。 2.3 實(shí)現(xiàn)工具欄 CoolBar控件與Office2000 中看到的CoolBar是類(lèi)似的。CoolBar就是一個(gè)可以在窗體上浮動(dòng)的工具,同時(shí)也是其他ActiveX的容器。通過(guò)在CoolBar中遷入其他空間你也可以向用戶(hù)提供更好的靈活性和義用性。 選擇“工程”下拉菜單中的“部件”選項(xiàng),顯示“部件”對(duì)話(huà)框。在“控件”選項(xiàng)卡列表中選擇“Microsoft Windows Common Controls 6.0”后工具相中增加改控件。 本系統(tǒng)就用了Cool工具中的Statubar控件,在系統(tǒng)這一界面中,添加了狀態(tài)欄,在
13、第一個(gè)欄中,在樣式這一欄中選擇了文本,在第二個(gè)欄中,選擇了系統(tǒng)日期,第三個(gè)欄中選擇了系統(tǒng)時(shí)間,這樣,任何時(shí)候操作本系統(tǒng),都可以看到當(dāng)前的時(shí)間和日期。 第三章 怎樣開(kāi)發(fā)一個(gè)學(xué)生信息管理系統(tǒng)的查詢(xún)模塊? 3.1查詢(xún)模塊的設(shè)計(jì)分析 根據(jù)實(shí)際情況,我們使用原型法(Rapid Prototyping) 即以少量代價(jià)快速地構(gòu)造一個(gè)可執(zhí)行的軟件模型。使用戶(hù)可以較快地確定需求,然后采用循環(huán)進(jìn)化的開(kāi)發(fā)方式,對(duì)系統(tǒng)模型作連續(xù)的精化,將系統(tǒng)需具備的性質(zhì)逐漸增加上去,直到所有的性質(zhì)全部滿(mǎn)足。此時(shí)模塊也發(fā)展成為最終產(chǎn)品了。 3.2編程環(huán)境的選擇 微軟公司的Visual Basic
14、6.0是Windows應(yīng)用程序開(kāi)發(fā)工具,使目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_(kāi)發(fā)工具。Visual Basic提供了大量的控件,這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功能,減少了編程人員的工作量,也簡(jiǎn)化了界面設(shè)計(jì)過(guò)程,從而有效的提高了應(yīng) 用程序的運(yùn)行效率和可靠性。故而,實(shí)現(xiàn)本系統(tǒng)VB是一個(gè)相對(duì)較好的選擇。 3.3關(guān)系型數(shù)據(jù)庫(kù)的實(shí)現(xiàn) Access2000就是關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)工具,數(shù)據(jù)庫(kù)能匯集各種信息以供查詢(xún)、存儲(chǔ)和檢索。Access的優(yōu)點(diǎn)在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類(lèi)似于Excel的電子表格,可以使數(shù)據(jù)庫(kù)一目了然。另外,Access允許創(chuàng)建自定義報(bào)表用于打
15、印或輸出數(shù)據(jù)庫(kù)中的信息。Access也提供了數(shù)據(jù)存儲(chǔ)庫(kù),可以使用桌面數(shù)據(jù)庫(kù)文件把數(shù)據(jù)庫(kù)文件置于網(wǎng)絡(luò)文件服務(wù)器,與其他用戶(hù)共享數(shù)據(jù)庫(kù)。Access 是一種關(guān)系數(shù)據(jù)庫(kù)工具,關(guān)系數(shù)據(jù)庫(kù)是已開(kāi)發(fā)的最通用的數(shù)據(jù)庫(kù)之一。如上所述,Access作為關(guān)系數(shù)據(jù)庫(kù)開(kāi)發(fā)具備了許多優(yōu)點(diǎn),可以在一個(gè)數(shù)據(jù)包同時(shí)擁有桌面數(shù)據(jù)庫(kù)的便利和關(guān)系數(shù)據(jù)庫(kù)的強(qiáng)大功能。 3.4二者的結(jié)合(DBA) 微軟的JET數(shù)據(jù)庫(kù)引擎提供了與數(shù)據(jù)庫(kù)打交道的途徑,我們是通過(guò)它以及Visual Basic來(lái)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)并對(duì)其進(jìn)行各種操作。Visual Basic、Access以及其他微軟的軟件產(chǎn)品都是通過(guò)共用JET數(shù)據(jù)庫(kù)引擎,從而給用戶(hù)提供了豐富的數(shù)據(jù)
16、類(lèi)型。 ADODC控件在數(shù)據(jù)庫(kù)中的信息與將信息顯示給用戶(hù)看的Visual Basic 程序之間架起了一座橋梁。我們可以設(shè)置ADODC控件的各個(gè)屬性,告訴它要調(diào)用那個(gè)數(shù)據(jù)庫(kù)的哪個(gè)部分。缺省情況下,ADODC控件根據(jù)數(shù)據(jù)庫(kù)中的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)表建立一個(gè)dynaset-type(動(dòng)態(tài)集合)類(lèi)型的記錄集合。一個(gè)記錄集合是動(dòng)態(tài)的也就意味著,當(dāng)原來(lái)的數(shù)據(jù)表中的容改變了以后,該記錄集合中的記錄也會(huì)隨之改變。將ADODC控件放置在窗體中之后,我們還必須在該控件與要處理的數(shù)據(jù)庫(kù)之間建立聯(lián)系。 第四章 使用Access2000創(chuàng)建數(shù)據(jù)庫(kù) 4.1數(shù)據(jù)庫(kù)的概念 數(shù)據(jù)庫(kù)是一種存儲(chǔ)數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行操作
17、的工具。數(shù)據(jù)庫(kù)的作用在于組織和表達(dá)信息,簡(jiǎn)而言之,數(shù)據(jù)庫(kù)就是信息的集合。計(jì)算機(jī)的數(shù)據(jù)庫(kù)可以分為兩類(lèi):非關(guān)系數(shù)據(jù)庫(kù)(flat-file)和關(guān)系數(shù)據(jù)庫(kù)(relational)。關(guān)系數(shù)據(jù)庫(kù)中包含了多個(gè)數(shù)據(jù)表的信息,數(shù)據(jù)庫(kù)含有各個(gè)不同部分的術(shù)語(yǔ),象記錄、域等。 4.2新建一個(gè)數(shù)據(jù)庫(kù) 創(chuàng)建任何一個(gè)數(shù)據(jù)庫(kù)的第一步是仔細(xì)的規(guī)劃數(shù)據(jù)庫(kù),設(shè)計(jì)必須是靈活的、有邏輯的。創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)的過(guò)程被認(rèn)為是數(shù)據(jù)模型設(shè)計(jì)。 1. 標(biāo)識(shí)需要的數(shù)據(jù); 2. 收集被子標(biāo)識(shí)的字段到表中; 3. 標(biāo)識(shí)主關(guān)鍵字字段; 4. 規(guī)范數(shù)據(jù); 5. 標(biāo)識(shí)指定字段的信息; 4.3修改已建的數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)的修改分為;添
18、加、編輯和刪除記錄。這三種操作均可由Visual Basic創(chuàng)建的程序來(lái)完成,下面的章節(jié)將詳細(xì)描述實(shí)現(xiàn)的具體方法。 第五章 可行性分析 學(xué)生信息,作為一個(gè)學(xué)校,就有一定的工作量存在,而學(xué)生信息,它的工作量可能是其它信息工作量的幾倍,班級(jí)的增加、班級(jí)的查找、班級(jí)的修改;學(xué)生檔案;課程管理;成績(jī)管理;繳費(fèi)管理;統(tǒng)計(jì)等等,每個(gè)信息的數(shù)據(jù)都在不斷地變化著,如果采用人工的方式進(jìn)行操作,那么,一天的工作量,足以讓人覺(jué)得比較繁瑣,吃不消。針對(duì)這樣的情況,采用讓數(shù)據(jù)的查詢(xún)變得簡(jiǎn)單化,數(shù)據(jù)變的更讓每個(gè)人都在任何時(shí)刻都可以了解
19、到。 學(xué)生信息管理系統(tǒng)是為本校開(kāi)發(fā)的,本系統(tǒng)所采用的語(yǔ)言是Visual Basic,用Microsoft Access 2000數(shù)據(jù)庫(kù)完成。該系統(tǒng)總體有四部分組成,包括學(xué)生信息查詢(xún)、教務(wù)信息維護(hù)、學(xué)生選課及用戶(hù)管理。通過(guò)本系統(tǒng),把本校內(nèi)部查詢(xún)學(xué)生信息、教務(wù)信息、學(xué)生選課各個(gè)環(huán)節(jié)進(jìn)行有效地計(jì)劃、組織和控制。通過(guò)本校內(nèi)部的信息,依據(jù)統(tǒng)一數(shù)據(jù)信息進(jìn)行管理,把任何一塊信息所產(chǎn)生的數(shù)據(jù)變動(dòng)及時(shí)地反映給其它相關(guān)信息,做到數(shù)據(jù)共享。 本系統(tǒng)主要信息流程為:教務(wù)信息維護(hù)接受學(xué)生的信息,學(xué)生信息查詢(xún)根據(jù)教務(wù)信息維護(hù)的學(xué)生信息做出對(duì)所接收的信息合理性進(jìn)行判斷,并交于信息維護(hù)進(jìn)行相應(yīng)的修改,再把信息存入數(shù)據(jù)庫(kù)中
20、。學(xué)生選課是對(duì)學(xué)生進(jìn)行相應(yīng)選擇自己相關(guān)的課程。最后進(jìn)行打印。 采用本系統(tǒng),能夠使整個(gè)系統(tǒng)內(nèi)部所有信息的工作簡(jiǎn)化,提高工作效益。由于采用統(tǒng)一的數(shù)據(jù)信息,使相關(guān)資料能夠快速地查詢(xún)所需的數(shù)據(jù)、資料及其它信息的,使信息快速高效運(yùn)行。 本系統(tǒng)中使用到的數(shù)據(jù)表主要有班級(jí)表、成績(jī)表、繳費(fèi)表、課程表、學(xué)生檔案、用戶(hù)資料,由這六個(gè)表,組成了名為信息的數(shù)據(jù)庫(kù)(如圖一)。其中學(xué)生檔案是本系統(tǒng)主要的 (圖一) 一張表,所有信息都是根據(jù)這張學(xué)生檔案進(jìn)行有關(guān)的操作,主要的字段有:學(xué)號(hào)、姓名、年級(jí)、專(zhuān)業(yè)、性別、出生年月、民族、籍貫、政治面貌、家庭地址、郵政編碼、聯(lián)系電話(huà)、入學(xué)時(shí)間、備注。其中日期的數(shù)據(jù)類(lèi)型為日期
21、/時(shí)間天型,其它的數(shù)據(jù)類(lèi)型為文本型;成績(jī)表中字段為:學(xué)號(hào)、姓名、年級(jí)、專(zhuān)業(yè)、學(xué)期、考試時(shí)間、考試科目、考試地點(diǎn)、課程性質(zhì)、科目分?jǐn)?shù)、違紀(jì)類(lèi)型、備注;課程表中字段為:專(zhuān)業(yè)、年級(jí)、學(xué)期、課程名稱(chēng)、教材、任課老師、課時(shí)、上課地點(diǎn)、課程性質(zhì)、考試性質(zhì);用戶(hù)資料中的字段包括:用戶(hù)名、密碼、身份。 數(shù)據(jù)庫(kù)與VB的連接:本系統(tǒng)的數(shù)據(jù)鏈接采用的是ADO方法,打開(kāi)控制面板,打開(kāi)ODBC數(shù)據(jù)源圖標(biāo),選擇“系統(tǒng)DSN”標(biāo)簽,點(diǎn)擊“添加”按鈕,在彈出的“創(chuàng)建新數(shù)據(jù)源”對(duì)話(huà)框中選擇名稱(chēng)為“Microsoft Access Drive(*.mdb)”,點(diǎn)擊“完成”按鈕,在ODBC Microsoft Access 安裝
22、對(duì)話(huà)框中在數(shù)據(jù)源名中輸入信息,在數(shù)據(jù)庫(kù)這個(gè)框中, 單擊“選擇”按鈕,在彈出的選擇數(shù)據(jù)庫(kù)這一對(duì)話(huà)框架中,在驅(qū)動(dòng)器下拉列表框中選擇本系統(tǒng)數(shù)據(jù)庫(kù)所在驅(qū)動(dòng)器,在目錄中選擇庫(kù)所在的文件夾,在文件類(lèi)型中選擇選“Access數(shù)據(jù)庫(kù)(*.mdb)”,在數(shù)據(jù)庫(kù)名中選擇本系統(tǒng)的數(shù)據(jù)庫(kù),點(diǎn)擊“確定”按鈕即完成數(shù)據(jù)鏈接。 在VB中,用ADODC鏈接數(shù)據(jù)庫(kù),用DataGrid或DATA將庫(kù)中的數(shù)據(jù)在界面中顯示出來(lái),本系統(tǒng)采用DataGrid。在界面上右擊Adodc控制,在彈出的快捷菜單中選擇屬性,在屬性對(duì)話(huà)框中,在“屬性”這一標(biāo)簽中, 選中單選框“Use ODBC Data Source Name”,并在下拉文本框
23、中選擇已經(jīng)配置好的數(shù)據(jù)源名信息,再在“RecordSoure”標(biāo)簽中,在Commard Text(SQL)文本框中輸入查詢(xún)語(yǔ)句,如:select * from 學(xué)生檔案。同時(shí),將桌面的DataGrid控件選中,在屬性框中,將它的Datasoure設(shè)為Adodc。 我們可以設(shè)置DataGrid控件的外觀:選中該控件,右擊,在彈出的快捷菜單中選擇“檢索字段”,在彈出的對(duì)話(huà)框中單擊“確定”,這時(shí),表格中出現(xiàn)了表的字段。然后再右擊,同樣,在彈出的快捷菜單中選擇“編輯”,我們就可以所在的表格的寬度進(jìn)行調(diào)整。
24、 第六章 系統(tǒng)(查詢(xún)模塊)總體規(guī)劃 6.1系統(tǒng)功能(查詢(xún)模塊) 1. 查詢(xún)信息的情況; 2. 判斷信息是否符合要求; 3. 將符合條件的信息進(jìn)行打印; 6.2流程圖 學(xué)生注冊(cè) 基本信息輸入 學(xué)籍信息管理 班級(jí)管理 班級(jí)課程設(shè)置 課程基本信息 班級(jí)課程管理 成績(jī)信息輸入 成績(jī)信息管理 班級(jí)設(shè)置 第七章 系統(tǒng)具體實(shí)現(xiàn) 7.1各功能的實(shí)現(xiàn) 7.1.1課程管理:課程設(shè)置(如:界面如圖二) (圖二) 運(yùn)行程序后,進(jìn)入課程管理模塊,課程管理模塊的第一塊是課程設(shè)置,在這模塊中
25、可以把專(zhuān)業(yè)、年級(jí)、學(xué)期、課程名稱(chēng)、教材、任課老師、課時(shí)、上課地點(diǎn)、課程性質(zhì)和考試性質(zhì)等信息輸入,以便使用。 下面為其代碼: Private Sub Command1_Click() Dim myCon As New ADODB.Connection Dim myRs As New ADODB.Recordset Dim ZhuanYe, NianJi, XueQi, KeCheng, JiaoCai, RenKLS, KeShi, ShangKeDD, KeChengXZ, KaoShiXZ As String ZhuanYe = Text1.Text NianJi = Text
26、2.Text XueQi = DTPicker1.Value KeCheng = Text4.Text JiaoCai = Text5.Text RenKLS = Text6.Text KeShi = Text7.Text ShangKeDD = Text8.Text KeChengXZ = Combo1.Text KaoShiXZ = Combo2.Text If Trim(ZhuanYe) = "" Or Trim(NianJi) = "" Or Trim(XueQi) = "" Or Trim(KeCheng) = "" Or Trim(JiaoCai) = "" Or
27、 Trim(RenKLS) = "" Or Trim(KeShi) = "" Or Trim(ShangKeDD) = "" Or Trim(KeChengXZ) = "" Or Trim(KaoShiXZ) = "" Then MsgBox "請(qǐng)?zhí)顚?xiě)要修改課程資料的內(nèi)容!" Combo1.Text = "" Combo2.Text = "" Exit Sub End If myCon.Open "dsn=信息" myRs.Open "select * from 課程表 where 專(zhuān)業(yè)=" & Text1.Text & "", myCon,
28、3, 2 myRs!年級(jí) = Text2.Text myRs!學(xué)期 = DTPicker1.Value myRs!課程名稱(chēng) = Text4.Text myRs!教材 = Text5.Text myRs!任課老師 = Text6.Text myRs!課時(shí) = Text7.Text myRs!上課地點(diǎn) = Text8.Text myRs!課程性質(zhì) = Combo1.Text myRs!考試性質(zhì) = Combo2.Text myRs.Update myRs.Close myCon.Close MsgBo
29、x "您確定要修改嗎?", vbYesNo, "提示" Frm_UpdateGrean.Adodc1.Refresh Frm_UpdateGrean.DataGrid1.Refresh Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" Text8.Text = "" Combo1.Text = "" Combo2.Text = "" End Sub Private Sub Command
30、2_Click() Unload Me End Sub Private Sub Command3_Click() Unload Me Frm_FindGrean.Show 1 End Sub Private Sub DataGrid1_Click() Frm_UpdateGrean.Adodc1.RecordSource = "select * from 課程表 where 專(zhuān)業(yè) = " & Trim(DataGrid1.Row) & "" Text1.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields
31、("專(zhuān)業(yè)") Text2.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("年級(jí)") Text3.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("學(xué)期") Text4.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("課程名稱(chēng)") Text5.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("教材") Text6.Text = Frm_UpdateGrean.Adodc1.Recordset.Fiel
32、ds("任課老師") Text7.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("課時(shí)") Text8.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("上課地點(diǎn)") Combo1.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("課程性質(zhì)") Combo2.Text = Frm_UpdateGrean.Adodc1.Recordset.Fields("考試性質(zhì)") End Sub Private Sub DTPicker1_Callbac
33、kKeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer, ByVal CallbackField As String, CallbackDate As Date) End Sub Private Sub Form_Activate() Frm_FindGrean.Adodc1.RecordSource = strTiaoJian Frm_FindGrean.Adodc1.Refresh Set DataGrid1.DataSource = Frm_FindGrean.Adodc1 End Sub Privat
34、e Sub Form_Load() Combo1.AddItem ("必修") Combo1.AddItem ("選修") Combo1.AddItem ("自開(kāi)") Combo2.AddItem ("考試") Combo2.AddItem ("查考") Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" Text8.Text = "" Combo1.Text = "" Combo2.Text
35、= "" End Sub Private Sub Text1_Change() End Sub Private Sub Text2_Change() End Sub Private Sub Text8_Change() End Sub 課程管理:課程查詢(xún)(如:界面如圖三) (圖三) 當(dāng)輸入查詢(xún)類(lèi)別、運(yùn)算符和條件后可以查找到所需要的課程設(shè)置,或按查詢(xún)時(shí)間來(lái)查詢(xún),輸入所要查找的時(shí)間段,就可查到所要的課程設(shè)置。 代碼如下: Dim sqlstr As String Private Sub Combo1_Change() End Sub
36、 Private Sub Combo2_Change() End Sub Private Sub Combo4_Change() End Sub Private Sub Combo5_Change() End Sub Private Sub Combo7_Change() End Sub Private Sub Command1_Click() Dim a As String Dim KCCX1 As String Dim KCCX2 As String Dim str1 As String Dim str2 As String
37、If Option3.Value = True Then a = Trim(Combo2) Select Case a Case "=" KCCX1 = "" & Combo1.Text & " " & Combo2.Text & " " & Trim(Text1) & "" Case "like" KCCX1 = "Instr(1," & Combo1.Text & "," & Trim(Text1.Text) & ")<>0 " End Select a = Trim(Combo4) Select Case a
38、 Case "=" KCCX2 = "" & Combo3.Text & " " & Combo4.Text & " " & Trim(Text2) & "" Case "like" KCCX2 = "Instr(1," & Combo3.Text & "," & Trim(Text2.Text) & ")<>0 " End Select If Option1.Value = True Then If KCCX1 = "" Then strTiaoJian = "select * from
39、 課程表 where " & KCCX2 ElseIf KCCX2 = "" Then strTiaoJian = "select * from 課程表 where " & KCCX1 Else strTiaoJian = "select * from 課程表 where " & KCCX1 & "and " & KCCX2 End If ElseIf Option2.Value = True Then If KCCX1 = "" Then strTiaoJian =
40、 "select * from 課程表 where " & KCCX2 ElseIf KCCX2 = "" Then strTiaoJian = "select * from 課程表 where " & KCCX1 Else strTiaoJian = "select * from 課程表 where " & KCCX1 & "or " & KCCX2 End If Else If KCCX1 = "" Then strTiaoJian = "select * from 課程
41、表 where " & KCCX2 ElseIf KCCX2 = "" Then strTiaoJian = "select * from 課程表 where " & KCCX1 Else MsgBox "請(qǐng)選擇連接方式!", vbOKOnly, "警告" Exit Sub End If End If If (KCCX1 & KCCX2) = "" Then MsgBox "請(qǐng)輸入查詢(xún)類(lèi)別!", vbOKOnly, "警告" Exit Sub Else Unload Me
42、 Frm_UpdateGrean.Show 1 End If End If If Option4.Value = True Then If Val(Combo6) > Val(Combo9) Then MsgBox "請(qǐng)正確選擇年份!", vbOKOnly + vbExclamation, "信息提示" Combo6.SetFocus Exit Sub Else If Val(Combo6) = Val(Combo9) Then If Val(Combo7) > Val(Combo
43、10) Then MsgBox "請(qǐng)正確選擇月份!", vbOKOnly + vbExclamation, "信息提示" Combo7.SetFocus Exit Sub Else If Val(Combo7) = Val(Combo10) Then If Val(Combo8) > Val(Combo11) Then MsgBox "請(qǐng)正確選擇日期!", vbOKOnly + vbExclamat
44、ion, "信息提示" Combo8.SetFocus Exit Sub End If End If End If End If End If If Combo6.Text = "" Or Combo7.Text = "" Or Combo8.Text = "" Or Combo9.Text = "" Or Combo10.Text = "" Or Combo11.Text = "" Then
45、 MsgBox "請(qǐng)輸入完整的日期", vbOKOnly, "警告" Exit Sub End If str1 = Trim(Combo6) & "-" & Trim(Combo7) & "-" & Trim(Combo8) str2 = Trim(Combo9) & "-" & Trim(Combo10) & "-" & Trim(Combo11) str1 = Format(str1, "yyyy-mm-dd") str2 = Format(str2, "yyyy-mm-dd")
46、 If sqlstr = "" Then sqlstr = "" & Trim(Combo5.Text) & ">=#" & Format(str1, "yyyy-mm-dd") & "# and " & Trim(Combo5.Text) & "<= #" & Format(str2, "yyyy-mm-dd") & "#" Else sqlstr = sqlstr & " and " & Trim(Combo5.Text) & ">=#" & Format(str1, "yyyy-mm-dd") & "# and " & Tr
47、im(Combo5.Text) & "<= #" & Format(str2, "yyyy-mm-dd") & "#" End If If sqlstr = "" Then MsgBox "請(qǐng)先輸入查找時(shí)間!" Exit Sub End If strTiaoJian = "select 專(zhuān)業(yè),年級(jí),學(xué)期,課程名稱(chēng),教材,任課老師,課時(shí),上課地點(diǎn),課程性質(zhì),考試性質(zhì) from 課程表 where " & sqlstr Unload Me Frm_UpdateGr
48、ean.Show 1 End If If Option3.Value <> True And Option4.Value <> True Then MsgBox "請(qǐng)選擇查詢(xún)方式!", vbOKOnly, "警告" Exit Sub End If End Sub Private Sub Command3_Click() Unload Me End Sub Private Sub Form_Load() Dim i, j As Integer For i = 1999 To 2010 Combo6.AddItem i
49、 Combo9.AddItem i Next i Combo6.ListIndex = 0 Combo9.ListIndex = 0 For i = 1 To 12 Combo7.AddItem i Combo10.AddItem i Next i Combo7.ListIndex = 0 Combo10.ListIndex = 0 For i = 1 To 31 Combo8.AddItem i Combo11.AddItem i Next i Combo8.ListInd
50、ex = 0 Combo11.ListIndex = 0 Combo1.AddItem ("專(zhuān)業(yè)") Combo1.AddItem ("年級(jí)") Combo1.AddItem ("課程名稱(chēng)") Combo1.AddItem ("教材") Combo1.AddItem ("任課老師") Combo1.AddItem ("課時(shí)") Combo1.AddItem ("課程性質(zhì)") Combo1.AddItem ("考試性質(zhì)") Combo2.AddItem ("=") Combo3.AddItem ("專(zhuān)業(yè)") Combo3.AddItem ("年級(jí)") Combo
51、3.AddItem ("課程名稱(chēng)") Combo3.AddItem ("教材") Combo3.AddItem ("任課老師") Combo3.AddItem ("課時(shí)") Combo3.AddItem ("課程性質(zhì)") Combo3.AddItem ("考試性質(zhì)") Combo4.AddItem ("=") Combo5.AddItem ("學(xué)期") Combo1.Text = "" Combo2.Text = "" Text1.Text = "" Combo3.Text = "" Combo4.Text = "" Text2.Text = "" Combo5.T
52、ext = "" Combo6.Text = "" Combo7.Text = "" Combo8.Text = "" Combo9.Text = "" Combo10.Text = "" Combo11.Text = "" End Sub 7.1.2 打印統(tǒng)計(jì) 運(yùn)行打印統(tǒng)計(jì)后可以按條件把符合條件的各種信息以報(bào)表形式羅列出來(lái),各種信息還可以以打印出來(lái)或以報(bào)表形式保存。打印統(tǒng)計(jì)包括班級(jí)統(tǒng)計(jì)分析、檔案統(tǒng)計(jì)分析、課程統(tǒng)計(jì)分析、成績(jī)統(tǒng)計(jì)分析和交費(fèi)統(tǒng)計(jì)分析五類(lèi)。 班級(jí)統(tǒng)計(jì)分析(如:界面如圖四) (圖四) 代碼如下: Private Sub Command1_Click()
53、 Dim SQLoriginal As String Dim SQLadd As String Dim SQLorder As String Dim strSql As String SQLoriginal = "SELECT 年級(jí),專(zhuān)業(yè),人數(shù),輔導(dǎo)員,備注 FROM 班級(jí)表 " SQLadd = "WHERE 年級(jí)=年級(jí) AND 專(zhuān)業(yè)=專(zhuān)業(yè) " SQLorder = "" If Check1.Value = 1 And IsNumeric(Text1) Then SQLadd = SQLadd + "and 年級(jí)=" + Text1 + "" End I
54、f If Check2.Value = 1 And Not IsNull(Text2) Then SQLadd = SQLadd + "and 專(zhuān)業(yè)=" + Text2 + "" End If If Check3.Value = 1 And IsNumeric(Text3) Then SQLadd = SQLadd + "and 人數(shù)=" + Text3 + "" End If If Check4.Value = 1 And Not IsNull(Text4) Then SQLadd = SQLadd + "and 輔導(dǎo)員=" + Tex
55、t4 + "" End If strSql = SQLoriginal + SQLadd + SQLorde If Dat_Main.rsDat_Class.State = 1 Then Dat_Main.rsDat_Class.Close End If Dat_Main.rsDat_Class.Open strSql Dat_Class.Show vbModal Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" End Sub Private Sub C
56、ommand2_Click() Unload Me End Sub Private Sub Form_Load() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" End Sub Private Sub Text1_Change() End Sub Private Sub Text3_Change() End Sub 檔案分析統(tǒng)計(jì)(如:界面如圖五) (圖五) 代碼如下: Private Sub Command1_Click() Dim SQLorigin
57、al As String Dim SQLadd As String Dim SQLorder As String Dim strSql As String On Error Resume Next SQLoriginal = "SELECT * FROM 學(xué)生檔案 " SQLadd = "WHERE 學(xué)號(hào)=學(xué)號(hào) AND 姓名=姓名 " SQLorder = "" If Check1.Value = 1 And IsNumeric(Text1) Then SQLadd = SQLadd + "and 學(xué)號(hào)=" + Text1 + "" End If
58、 If Check2.Value = 1 And Not IsNull(Text2) Then SQLadd = SQLadd + "and 姓名=" + Text2 + "" End If If Check3.Value = 1 And Not IsNull(Text3) Then SQLadd = SQLadd + "and 專(zhuān)業(yè)=" + Text3 + "" End If If Check4.Value = 1 And IsDate(DTPicker1) Then SQLadd = SQLadd + " and 出生年月= # " & DT
59、Picker1.Value & "#" End If strSql = SQLoriginal + SQLadd + SQLorde If Dat_Main.rsDat_Strudent.State = 1 Then Dat_Main.rsDat_Strudent.Close End If Dat_Main.rsDat_Strudent.Open strSql Dat_Strudent.Show vbModal Text1.Text = "" Text2.Text = "" Text3.Text = "" End Sub Private Sub Co
60、mmand2_Click() Unload Me End Sub Private Sub Form_Load() Combo1.AddItem ("男") Combo1.AddItem ("女") Text1.Text = "" Text2.Text = "" Text3.Text = "" End Sub Private Sub Text1_Change() End Sub 課程統(tǒng)計(jì)分析(如:界面如圖六) (圖六) 代碼如下: Private Sub Command1_Click() Dim SQLoriginal As String
61、 Dim SQLadd As String Dim SQLorder As String Dim strSql As String SQLoriginal = "SELECT * FROM 課程表 " SQLadd = "WHERE 專(zhuān)業(yè)=專(zhuān)業(yè) AND 課程名稱(chēng)=課程名稱(chēng) " SQLorder = "" If Check1.Value = 1 And Not IsNull(Text1) Then SQLadd = SQLadd + "and 專(zhuān)業(yè)=" + Text1 + "" End If If Check2.Value = 1 And Not I
62、sNull(Combo1) Then SQLadd = SQLadd + "and 課程性質(zhì)=" + Combo1 + "" End If If Check3.Value = 1 And Not IsNumeric(Text2) Then SQLadd = SQLadd + "and 課時(shí)=" + Text2 + "" End If If Check4.Value = 1 And Not IsNull(Text3) Then SQLadd = SQLadd + "and 課程名稱(chēng)=" + Text3 + "" End If strSql =
63、 SQLoriginal + SQLadd + SQLorde If Dat_Main.rsDat_Grean.State = 1 Then Dat_Main.rsDat_Grean.Close End If Dat_Main.rsDat_Grean.Open strSql Dat_Grean.Show vbModal Text1.Text = "" Combo1.Text = "" Text2.Text = "" Text3.Text = "" End Sub Private Sub Command2_Click() Unload Me End
64、Sub Private Sub Form_Load() Text1.Text = "" Text2.Text = "" Text3.Text = "" Combo1.Text = "" Combo1.AddItem ("必修") Combo1.AddItem ("選修") Combo1.AddItem ("自開(kāi)") End Sub Private Sub Text3_Change() End Sub 成績(jī)統(tǒng)計(jì)分析(如:界面如圖七) (圖七) 代碼如下: Private Sub Command1_Click() Dim SQLoriginal As S
65、tring Dim SQLadd As String Dim SQLorder As String Dim strSql As String On Error Resume Next SQLoriginal = "SELECT * FROM 成績(jī)表 " SQLadd = "WHERE 學(xué)號(hào)=學(xué)號(hào) AND 姓名=姓名 " SQLorder = "" If Check1.Value = 1 And IsNumeric(Text1) Then SQLadd = SQLadd + "and 學(xué)號(hào)=" + Text1 + "" End If If Che
66、ck2.Value = 1 And Not IsNull(Text2) Then SQLadd = SQLadd + "and 姓名=" + Text2 + "" End If If Check3.Value = 1 And Not IsNull(Text3) Then SQLadd = SQLadd + "and 考試科目=" + Text3 + "" End If If Check4.Value = 1 Then SQLadd = SQLadd + "and 科目分?jǐn)?shù)<60" End If strSql = SQLoriginal + SQLadd + SQLorde If Dat_Main.rsDat_ChengJ.State = 1 Then Dat_Main.rsDat_ChengJ.Close End If Dat_Main.rsDat_ChengJ.Open strSql
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案