




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、緒論21 世紀(jì)是知識不斷涌現(xiàn),科技不斷創(chuàng)新的時代,對的要求越來越高。進(jìn)行素質(zhì)教育,提高質(zhì)量,是時代對教育界迫切要求。為適應(yīng)教學(xué)發(fā)展要求,教育界不斷調(diào)整教學(xué)內(nèi)容,教學(xué)模式,制度和形式的也在同步進(jìn)行,試題庫管理系統(tǒng)順應(yīng)這一趨勢應(yīng)運(yùn)而生。試題庫管理系統(tǒng)的興起運(yùn)用電腦進(jìn)行試題管理是電腦輔助測試(Computer -AssistedTesting)即 CAT 中首要項(xiàng)目,最早運(yùn)用這項(xiàng)技術(shù)的是 1968 年 IBM 公司和洛 杉 磯 學(xué) 區(qū) 共 同 開 發(fā) 的 一 個 CTSS(Classroom TeacherSupporting System),CTSS 系統(tǒng)最初管理一個歷史題庫,其中貯存有 800
2、門題目,能為中學(xué)教師生成測驗(yàn)、家庭作業(yè)、課堂題以及課外輔導(dǎo)材料等,CTSS 采用批量處理方式,先由教師填寫申請單,標(biāo)明所需題目的數(shù)量,類別及有關(guān)屬性,經(jīng)光電掃描機(jī)輸入電腦,CTSS即能自動選取題目,復(fù)印所需的份數(shù),還能自動輸入單、核對答案和評分等。后來,加利福尼亞州開發(fā)了一個稱為 SOCRATEB CATC 系統(tǒng),它是在 SOCRATES 情報(bào)檢索網(wǎng)絡(luò)上實(shí)現(xiàn)的一個電腦輔助測驗(yàn)編制(Computer Assisted Test Construction,簡稱 CATC 系統(tǒng))專為加利福尼亞州 19 個州立大學(xué)中的 1.6 萬名教師和 29 萬學(xué)生服務(wù),該系統(tǒng)擁有 11 個題目庫,大的試題庫裝有萬
3、個以上的試題,如歷史題目庫,小的題目庫也有數(shù)百道題目,如心理學(xué)題目庫。它們能自動編制出各種測驗(yàn),如自我測驗(yàn)、定位測驗(yàn)、性練習(xí)、學(xué)期測驗(yàn)和綜合測驗(yàn)等。這些測驗(yàn)和練習(xí)可通過分時終端交互產(chǎn)生,也可通過批量方式產(chǎn)生。試題庫管理系統(tǒng)在我國的發(fā)展目前,大多數(shù)高等院校的仍采用任課教師(個人或集體)出題的方式,為了解決學(xué)生壓題、補(bǔ)(緩)題與正式試題量及難度差異問題,教務(wù)管理部門通常要求教師同時出多套試卷,其題量與難度要求相同,并且要同時給出和評分標(biāo)準(zhǔn)。這樣雖能解決一些問題,但給教師增加了很大的工作負(fù)擔(dān)。若上下界學(xué)生的同一門課程由同一教師承擔(dān),則難免幾界學(xué)生用相同幾套試卷;若由不同教師任課出題,則上下屆學(xué)生的成
4、績之間又不具有可比性。若建立題庫,每次前由題庫中題目隨機(jī)生成試卷,則可以較好地解決考教分離的問題,也可以將廣大教師從每學(xué)期末繁重題工作中出來。在我國雖然計(jì)算機(jī)參與教學(xué)管理已經(jīng)有比較長的時間,但由于受到硬件設(shè)備性能和軟件制作水平的限制,在過去的一段時間中,利用計(jì)算機(jī)現(xiàn)代化管理試題的技術(shù)只為少數(shù)對計(jì)算機(jī)程序精通的所掌握,廣大的教育工作者仍然處在手工操作的低水平上,程不外乎于先把試題被抄寫卡片紙上,再分別放置于不同的試題柜中,不僅復(fù)制極其,而且更新、查找也十分麻煩,效率極其低下。今日,硬件設(shè)備性能和軟件制作水平的提高,為研制開發(fā)高性能的試題管理軟件提供了條件。不少軟件開發(fā)者看到了教育工作者在這一領(lǐng)域
5、的困境,相繼推出了一批與試題管理有關(guān)的操作軟件,其中不乏非常出色的作品。但是從試題管理這一方面來看,用戶反應(yīng)平淡,感覺中意的不多。本題庫管理系統(tǒng)是在 C/S 模型的指導(dǎo)下進(jìn)行設(shè)計(jì)的,最終目標(biāo)是使本系統(tǒng)能夠在網(wǎng)上運(yùn)行。最簡單的 C/S 體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用,由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器程序。二者可分別稱為前臺程序與程序。運(yùn)行數(shù)據(jù)庫服務(wù)器程序的機(jī)器,稱為應(yīng)用服務(wù)器,一旦服務(wù)器程序被啟動,就隨時等待響應(yīng)客戶程序發(fā)來的請求;客戶程序運(yùn)行在用戶自己的電腦上,對應(yīng)于服務(wù)器電腦,可稱為客戶電腦。當(dāng)需要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行任何操作時,客戶程序就自動地尋找服務(wù)器程序,并向其發(fā)出請求,服務(wù)器程序根據(jù)
6、預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果。在典型的 C/S 數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的儲存管理功能,是由服務(wù)器程序獨(dú)立進(jìn)行的,并且通常把那些不同的(不管是已知還是未知的)前臺應(yīng)用所不能的規(guī)則,在服務(wù)器程序中集中實(shí)現(xiàn),例如者的權(quán)限,重復(fù)、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法)這背后的過程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺程序可以變的非常“瘦小”,麻煩的事情,都交給了服務(wù)器和網(wǎng)絡(luò)。在 C/S 體系的下,數(shù)據(jù)庫真正變成了公共、專業(yè)化的倉庫,受到獨(dú)立的專門管理。電腦應(yīng)用的開發(fā),是一個逐步完善的過程,以目前的技術(shù)看,先建立
7、C/S 結(jié)構(gòu)的局域網(wǎng)絡(luò)應(yīng)用,再向ernet/ranet 模式下數(shù)據(jù)庫應(yīng)用過渡,是比較現(xiàn)實(shí),相對易于把握、成本較低的。即使是一次到位的開發(fā),對于類似的環(huán)境和小型的應(yīng)用而言,要想實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如 LAN, WAN,ernet/ranet 等)和操作共同的數(shù)據(jù)庫, 并有效地保證和管理數(shù)據(jù)的安全性、權(quán)限、完整性,采用 C/S 架構(gòu)和支持 C/S 架構(gòu)的數(shù)據(jù),是必然選擇。從運(yùn)行上來看,同樣設(shè)計(jì)良好的系統(tǒng),C/S 結(jié)構(gòu)引入了的“銜接”環(huán)節(jié),這意味著故障的機(jī)會和資源的耗費(fèi),然而,一旦系統(tǒng)處于開放的網(wǎng)絡(luò)與應(yīng)用環(huán)境中,這些開銷就變成是必須的。對于具備良好的規(guī)劃能力的開發(fā)者而言
8、,C/S 結(jié)構(gòu)給予規(guī)劃者更大的空間和更強(qiáng)的支持,易于實(shí)現(xiàn)不同應(yīng)用間的合理分離,分別調(diào)試和投入應(yīng)用。前臺應(yīng)用和數(shù)據(jù)庫的開發(fā),被“強(qiáng)制”地分開;數(shù)據(jù)庫部分的邏輯與規(guī)則,一經(jīng)調(diào)試完成,就可以在將來的應(yīng)用中一直保證下去;在一個動態(tài)改進(jìn)或逐步擴(kuò)充的開發(fā)環(huán)境,或復(fù)雜的應(yīng)用環(huán)境中,這些都是提高系統(tǒng)可靠性有利。對基于文件服務(wù)器的系統(tǒng)而言,每次增加或修改功能,通常都意味著整個系統(tǒng)的升級,前的,也就意味著每次變更都有更大的可能性造成對原有規(guī)則的破壞,并引起連鎖效應(yīng)。以目前的技術(shù)環(huán)境而言,在 C/S 結(jié)構(gòu)下,有成,適合不同規(guī)模應(yīng)用的開發(fā)與數(shù)據(jù)庫可供選擇, 并普遍遵循或采用SQL 等標(biāo)準(zhǔn)或技術(shù),相對較具開放性,有的技
9、術(shù)支持、開發(fā)與維護(hù)的來源,并且基于技術(shù)與行業(yè)發(fā)展的趨勢,將來也會有更多的發(fā)展和保障。1 環(huán)境本系統(tǒng)的開發(fā)環(huán)境是基于 Windows 2000 的中文操作系統(tǒng),采用面象的編程工具 Visual Basic 6.0(以下簡稱 VB),數(shù)據(jù)庫是SQL Server 2000??紤]到本系統(tǒng)屬于小型數(shù)據(jù)庫系統(tǒng),并且不會有很大的數(shù)據(jù)量,筆者決定采取本地?cái)?shù)據(jù)庫和編程方法,以達(dá)到對數(shù)據(jù)庫快速方便地。Visual Basic 6.0 是專門為的 32 位操作系統(tǒng)設(shè)計(jì)的,可用來建立 32 位的應(yīng)用程序。在 Windows 9X 或 Windows NT 環(huán)境下,用 Visual Basic 6.0 的編譯器可以自
10、動生成 32 位應(yīng)用程序。這樣的應(yīng)用程序在 32 位操作系統(tǒng)下運(yùn)行,速度更快,更安全,并且更適合在多任務(wù)環(huán)境下運(yùn)行。Visual Basic 是一種可視化的、面象和采用事件驅(qū)動方式的結(jié)構(gòu)化高級程序設(shè)計(jì)語言,可用語開發(fā) Windows 環(huán)境下的各類應(yīng)用程序。它具有如下特點(diǎn):1可視化編程2面象的程序設(shè)計(jì)3結(jié)構(gòu)化程序設(shè)計(jì)語言4事件驅(qū)動編程機(jī)制5數(shù)據(jù)庫6動態(tài)7對象的與嵌入8動態(tài)庫在試題庫管理系統(tǒng)中,用 VB 編程可以方便的實(shí)現(xiàn)對試題庫的基本操作,如建庫、增刪、瀏覽和打印等。SQL 是一種介于關(guān)系代數(shù)與關(guān)系演算之間的結(jié)構(gòu)化查詢語言,其功能并不僅僅是查詢。SQL 是一個通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫語言。S
11、QL 語言集數(shù)據(jù)查詢、數(shù)據(jù)、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,主要特點(diǎn)如下:1綜合2高度非過程化3面向集合的操作方式4以同一種語法結(jié)構(gòu)提供兩種使用方式5語言簡潔,易學(xué)易用。2 需求分析畢業(yè)設(shè)計(jì)題目是試題庫管理系統(tǒng), 經(jīng)過兩周的理論知識學(xué)習(xí)和實(shí)地,我漸漸的了解到用戶對題庫管理系統(tǒng)的要求。2.1分析分析,我逐步了解到老師最需要的題庫系統(tǒng)應(yīng)該具有的經(jīng)過功能:在試題管理方面,老師最需要的是對試題管理的性,具體表現(xiàn)在以下三個方面:1)初始化試題庫;2)試題庫;3)調(diào)用試題庫。2.1.1 用戶的需要1.初始化試題庫:即用戶擁有創(chuàng)建新題庫的權(quán)力,用戶能夠根據(jù)自己的需要,設(shè)計(jì)試題的儲存方案以及試題的屬性名和各屬性
12、值,實(shí)現(xiàn)試題庫用戶個性化設(shè)計(jì),讓試題庫真正成為用戶自己的試題庫?,F(xiàn)在已經(jīng)推出的幾乎所的試題管理軟件都不具備這樣的功能,用戶所使用的試題庫都是程序制作者預(yù)先設(shè)計(jì)好的,對于試題的分類方案用戶無權(quán)修改。由于學(xué)校自身之間的差異,比如小學(xué)和初中、初中和高中、高中和大學(xué),試題分類的要求不一樣,學(xué)校性質(zhì)的不同,比如重點(diǎn)學(xué)校和一般學(xué)校、普通中學(xué)和職業(yè)中學(xué)等;性質(zhì)不相同,比如階段性、期中期末、會考、高考;還有地區(qū)上的差異,比如教育和教育發(fā)展中地區(qū)、和江蘇等等,相同的學(xué)科試題分類的要求也不一樣。因此用相同的分類方法,用戶無法修改的試題分類方案,會給用戶的使用帶來極大的不便。用戶不喜歡這一種不能控制的試題分類方案,
13、用戶希望地初始化試題庫。2試題庫:即用戶具有添加、修改和刪除試題的權(quán)力,實(shí)現(xiàn)試題庫的可擴(kuò)充性和開放性,使用戶對題庫具有的支配權(quán)。現(xiàn)在已經(jīng)推出的幾乎所的試題管理軟件都不具備這樣的功能,用戶所使用的試題被程序制作者預(yù)先寫在某個文件中,這些文件不是隱藏得讓用戶難以找到就是經(jīng)過加理,用戶根本就不可能通過其它方式(比如 Word、Acs、WPS 等)打開并看到它,更談不上對它的擴(kuò)充、修改和對某個試題的刪除了。由于用戶沒有試題庫的權(quán)力,新試題無法錄入,陳舊試題無法刪除,這樣的試題庫在較短的時間內(nèi)就逐漸老化、失去。用戶需要地試題庫,希望及時地更新試題庫。3調(diào)用試題庫:即允許用戶能地從試題庫中抽取試題。現(xiàn)在已
14、經(jīng)推出的幾乎所的試題管理軟件都不完全具備這樣的功能,不是向用戶提供成套的試題,就是智能組卷。其實(shí)只有極其懶惰的用戶才依賴智能組卷來出題,一個稍有責(zé)任心的老師肯定不會用智能組卷生成的試卷直接去考查學(xué)生。因此手工去搜索試題是實(shí)用的可行的,智能組卷只是個招牌,中看不中用,是產(chǎn)品用語。用戶不是去參加制卷大賽,用不著急著要在幾分鐘內(nèi)制出一份試卷。一份高質(zhì)量的試題,需要教師反復(fù)地推敲、比較和琢磨,用戶需要的是像逛超市一樣的心情,能方便地把看中試題取出來,還可以把不需要的試題退回去。某些試題管理軟件不僅不支持試題庫中試題的修改,而且生成的試卷也不允許修改,連加一個空格,修改字體都無法實(shí)現(xiàn),試卷保存后不能為其
15、它系統(tǒng)(比如 Word、WPS 等)識別,只能從打印機(jī)上輸出,這種方案沒有多少實(shí)用性。2.2分析的結(jié)果了解到上述情況,對題庫功能有了初步想法:2.2.1 “檢索瀏覽”功能及應(yīng)用目前國內(nèi)試題庫軟件,無法瀏覽全庫的試題。而用戶急切需要看到題庫中裝了些什么試題。所以,有的用戶想方設(shè)法把試題庫打開,然后用很長時間把試題打印出來。厚厚的幾大本,瀏覽起來也并不方便。我由電子讀物的“檢索瀏覽”得到啟示,試題庫也是一本試題電子書。我增加了“ 檢索瀏覽” 功能。用戶如果需要調(diào)看某科目(如 C語言)、某題型(如填空題)、 某章(如第一章)、甚至某節(jié)、某小節(jié)的題目,則利用“修改試題”、“刪除試題”、“手工組卷”功能
16、,通過設(shè)置某科目(如 C 語言)、某題型(如填空題)或某章(如第一章),單擊按鈕,此類試題即會一一顯現(xiàn)在屏上(屏中不僅顯示題干和,而且顯示有關(guān)試題的指標(biāo))。2.2.2 “”功能及應(yīng)用事物都是在不斷的發(fā)展變化的,隨著時間的推移,必定有新興事物和衰亡事物,題庫管理系統(tǒng)也同樣道理,所以就顯得十分重要。如果不對用戶的權(quán)限加以限制,勢必會對系統(tǒng)的安全極為不利。所以,題庫管理系統(tǒng)只有以“ 管理員”登錄的,才可以“”功能。由管理員來新建庫、修改庫、刪除及對用戶的管理。2.2.3 “試題操作”功能及應(yīng)用從以上的分析中,知道性是用戶最大的需要,因而,試題庫管理系統(tǒng)應(yīng)該具備加題、改題、刪題,充分調(diào)動用戶的積極性和
17、主動性。這也保證了題庫中的試題總是最新的、最適合學(xué)生的,“愈用愈新”是本題庫的特點(diǎn)之一。3 總 體 設(shè) 計(jì)軟件需求確定之后,就進(jìn)入了開發(fā)階段。開發(fā)階段由三個關(guān)聯(lián)的步驟組成:設(shè)計(jì)(總體設(shè)計(jì)和概要設(shè)計(jì)),實(shí)現(xiàn)(編碼)和測試。本章將描述開發(fā)階段的第一步:軟件設(shè)計(jì)中的概要設(shè)計(jì),又稱為總體方案設(shè)計(jì)??傮w設(shè)計(jì)過程通常有兩個主要階段組成:系統(tǒng)設(shè)計(jì),確定系統(tǒng)的具體實(shí)現(xiàn)方案;結(jié)構(gòu)設(shè)計(jì),確定軟件結(jié)構(gòu)。3.1 系統(tǒng)的功能模塊圖本系統(tǒng)共有五個模塊,系統(tǒng)總功能模塊如圖 3-1系統(tǒng)功能描述試題操作模塊此模塊對所有級別的用戶開放,試題操作包括填加試題、修改試題、刪除試題,填加試題中又分為填加單題和批量加題。這一模塊給用戶極
18、大的性,使該題庫常用常新。3.2.2模塊這一模塊只有系統(tǒng)管理員可以進(jìn)入,而普通用戶無權(quán)查看。它包括五項(xiàng)基本功能:1、用戶管理-批準(zhǔn)新用戶、刪除用戶、歷史2、新建庫-新建學(xué)院、新建科目、新建題型 3、修改庫-修改學(xué)院、修改科目、修改對照表, 4、刪除庫-刪除學(xué)院, 刪除科目, 5、統(tǒng)計(jì)庫-學(xué)院統(tǒng)計(jì)、科目統(tǒng)計(jì)、試題統(tǒng)計(jì)。3.2.3 用戶模塊這一模塊包含修改和退出系統(tǒng)兩項(xiàng),用戶成功登錄后,可以修改其,通過退出系統(tǒng)選項(xiàng)可退出整個系統(tǒng)。3.3 數(shù)據(jù)庫設(shè)計(jì)本題庫管理系統(tǒng)使用的數(shù)據(jù)庫是 SQL Server 2000,關(guān)于這個數(shù)據(jù)庫的特點(diǎn)和功能在第一章已經(jīng)有所介紹,這里不在贅述。本系統(tǒng)表格的絕大多數(shù)字段以編
19、碼為主,這樣便于對數(shù)據(jù)庫的操作。具體的表格設(shè)立如下:1、用戶表(YongHu)任何系統(tǒng)都有其服務(wù)群,必須對它的使用者進(jìn)行管理。本系統(tǒng)的用戶表的主要作用是便于題庫的管理,規(guī)定用戶權(quán)限。這個表格中所有用戶的信息,包括普通用戶、系統(tǒng)管理員和成功后等待批準(zhǔn)的用戶信息。權(quán)限字段中用用戶、管理員、申請用戶(申請管理員)來區(qū)分他們。用戶名字段是唯一的,不允許重復(fù)。字段名字段類型字段長度是否可為空用戶名Char10否真實(shí)Char10否Char10否權(quán)限Char10否Char4否號Char20否Char15否住址Text16否Char7否Text16是2、用戶登記表(YHDengJi)建此表的目的是管理登錄用戶
20、信息,下對題庫進(jìn)行加題、改題、刪題、組卷操作之人的真實(shí),以便更好的題庫的安全。如果題庫遭到破壞或試題泄密,能夠找到責(zé)任人。3、科目表(KeMu)這個表格中題庫中所有科目的相關(guān)信息,科目字段不允許重復(fù),科目共 6 位,它的生成原則是前 2 位是所屬學(xué)院的(01-99),第 3 位是開課的學(xué)期(1-8),第 4 位是區(qū)分基礎(chǔ)課(0)還是專業(yè)課(1),后 2 位是按創(chuàng)建的先后順序生成課程序號 (01-99)。每新建一科目,系統(tǒng)就會動態(tài)生成該科的試題表和內(nèi)容對照表。字段名字段類型字段長度是否可為空科目名Varchar50否科目Char6否課程表Char50否字段名字段類型字段長度是否可為空用戶真名Ch
21、ar10否登錄時間Date8否是否加題4否是否改題4否是否刪題4否是否組卷4否時間Date8是備注Text16是4、試題表(_QD)此表格一科一個, 該科試題的相關(guān)內(nèi)容,題號字段不允許重復(fù),共 10 位。題號的生成原則:前 6 位是試題所屬科目的,后四位是試題的序號(0001-9999)。內(nèi)容碼字段由 6 位組成,它的生成原則是前 2 位是試題所屬的章(如第一章則是 01),中間 2 位是試題所屬的節(jié)(如第三節(jié)是 03),后 2 位是試題所屬的小節(jié)(如第五小節(jié)是 05)。如果是跨章試題,則選出權(quán)重較大的一章來生成前 2 位,如果是跨節(jié)或是跨小節(jié)的試題,用*來代替它的編碼。例如第三章的試題的內(nèi)容
22、碼是 03*,第一章第二節(jié)的試題的內(nèi)容碼是 0102*。如果要刪除某道試題,則該試題的內(nèi)容碼為空,以便填加試題時,把新試題加到此位置。教學(xué)要求 1 和教學(xué)要求 2 分別指本專業(yè)要求和非專業(yè)要求。分值只是一個參考,用戶在組卷時通過指標(biāo)的設(shè)定可以更改。是用來在組卷過程中標(biāo)記該道試題是否被選中(0 沒選中, 1 選中)。字段名字段類型字段長度是否可為空題號Char10否內(nèi)容碼Char6是題型碼Char2否分值4否學(xué)分Float8否學(xué)時Small2否課程描述Text16是建立人Char10否建立時間Date8否5、內(nèi)容對照表(_DZ)內(nèi)容對照表也是一科一個,該表起到了書本目錄的作用, 內(nèi)容描述是用語言
23、描述的章節(jié)標(biāo)題,內(nèi)容碼的定義原則已經(jīng)講過,不再多說。在刪除庫的刪除科目功能中,不應(yīng)把要刪除的科目真正刪除,因?yàn)榭赡芷渌麑W(xué)院用到該科,所以建立一個科目備份表(KeMuBF),當(dāng)需要恢復(fù)時,把其由科目備份表(KeMuBF)中再寫回到科目表(KeMu)中。這樣避免了重新建表,減輕了數(shù)據(jù)庫的負(fù)擔(dān)。而且,若真的刪除之,那么該科的所有試題也必須刪除,這樣做過于復(fù)雜,不可行??颇總浞荼?KeMuBF)的字段內(nèi)容與科目表(KeMu)中的字段內(nèi)容相同。另外,還有一些起到數(shù)據(jù)字典作用,供查找對照之用的表格,它們的具體內(nèi)容如下:字段名字段類型字段長度是否可為空內(nèi)容描述Char500否內(nèi)容碼Char6否難度4否教學(xué)要
24、求 14否教學(xué)要求 24否復(fù)用時限4否出題時間Date8是4是題干Text16是Text16是試題Text16是6、學(xué)院對照表(XueYuan_DZ)學(xué)院是唯一的,按創(chuàng)建的先后順序生成兩位序號(01-99)。7、題型對照表(TiXing_DZ)題型不允許重復(fù),按創(chuàng)建的先后順序生成兩位編碼(01-99)為了能在生成試卷時方便的選取題目,必須對題庫中的試題提供必要的字段信息,分析大多數(shù)課程的試題可知,試題的難度和教學(xué)要求是比不可少的。難度系數(shù)和教學(xué)要求系數(shù)并非完全準(zhǔn)確,系統(tǒng)管理員可以根據(jù)實(shí)際情況對其修改。8、難度對照表(NanDu_DZ)字段名字段類型字段長度是否可為空難度名Char10否字段名字
25、段類型字段長度是否可為空題型名Varchar50否題型Varchar2否建立人Char10否建立時間Date8否題型描述Text16是字段名字段類型字段長度是否可為空學(xué)院名Varchar50否學(xué)院Varchar2否建立人Char10否建立時間Date8否學(xué)院描述Text16是9、教學(xué)要求對照表(JiaoXue_DZ)字段名字段類型字段長度是否可為空教學(xué)要求名Char10否系數(shù)Char10否教學(xué)要求描述Char10是難度系數(shù)4否難度描述Text16是4 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)的階段的根本目標(biāo)是確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個階段的設(shè)計(jì)工作,應(yīng)該得出對目標(biāo)系統(tǒng)的精確描述,從而在編碼
26、階段可以把這個描述直接翻譯成用某種程序設(shè)計(jì)語言書寫的程序。用戶模塊修改用戶登錄系統(tǒng)后,可以隨意的更改個人。它的實(shí)現(xiàn)方法是:系統(tǒng)檢索的數(shù)據(jù)庫用戶表(YongHu),根據(jù)用戶登錄時的用戶名,把修改后的回填到相應(yīng)的字段,覆蓋從前的,刷新數(shù)據(jù)庫。4.1.2 退出系統(tǒng)整個系統(tǒng)的出口就在此選項(xiàng)。4.2模塊把用戶區(qū)分為普通用戶和系統(tǒng)管理員,自然他們的權(quán)限不同。普通用戶可以進(jìn)入除的所有功能區(qū),在這些區(qū)域進(jìn)行操作,而管理員可以進(jìn)入所有的功能區(qū),進(jìn)行所有的操作,并且可以對所有用戶進(jìn)行管理。4.2.1 用戶管理用戶管理分為批準(zhǔn)新用戶、刪除用戶和歷史。界面 4.2-1 如下圖所示:界面 4.2-1在批準(zhǔn)新用戶中, 新
27、的用戶信息都會在表格中顯示出來,選中要批準(zhǔn)的用戶(一個或者多個),然后單擊批準(zhǔn)按鈕,這些用戶便成為正式用戶,然后彈出批準(zhǔn)成功字樣的提示信息。在任何內(nèi),必定都有的變動,比如調(diào)職、退休等,還可能有管理員不愿批準(zhǔn)的用戶。所以,系統(tǒng)必須有刪除用戶的功能,避免了數(shù)據(jù)庫的冗余、雜亂,便于管理系統(tǒng)。打開刪除用戶的,所有的用戶包括普通用戶、系統(tǒng)管理員和成功沒有被批準(zhǔn)的用戶都會顯示在表格中。它的操作過程與批準(zhǔn)用戶的操作過程相似。歷史這一項(xiàng)的作用是下用戶的登錄信息,讓管理員知道用戶登錄后的行為,便于,保障題庫的安全。如果題庫遭到破壞或是試題泄密,通過這能可以找出責(zé)任人。用戶管理功能的實(shí)現(xiàn)過程是:在單擊用戶管理時,
28、查數(shù)據(jù)庫用戶表(YongHu),將所需內(nèi)容回填到界面相應(yīng)處。為了讓用戶在登錄界面看到批準(zhǔn)信息,并且能夠順利本系統(tǒng)。特做如下處理:當(dāng)管理員成功批準(zhǔn)用戶后,在用戶表(YongHu)中,不立刻把他們的權(quán)限改為用戶(管理員),而改為準(zhǔn)用戶(準(zhǔn)管理員),刷新數(shù)據(jù)庫。把用戶表(YongHu)中權(quán)限為準(zhǔn)用戶(準(zhǔn)管理員)的用戶名滾動出現(xiàn)在登錄界面的批準(zhǔn)用戶提示板上。如果新用戶看到了被批準(zhǔn)的提示語,此用戶成功登錄后,就把表中權(quán)限字段相應(yīng)的改寫為用戶(管理員),刷新數(shù)據(jù)庫。當(dāng)單擊刪除按鈕時,到用戶表(YongHu)中,找到與要刪除用戶的用戶名一致的用戶信息,然后從表中把其清除,刷新數(shù)據(jù)庫,實(shí)現(xiàn)刪除用戶功能。其代碼
29、如下:txtSQL = select * from YongHu Set mrc = ExecuteSQL(txtSQL, MsgText) For i = 1 To ListView2.ListItems.CountIf ListView2.ListItems(i).Checked = True Then A = TrueWhile Trim(mrc.Fields(0) ListView2.ListItems(i).Text mrc.MoveNextWendYongHu(yh) = i yh = yh + 1 mrc.Delete mrc.Update mrc.MoveNextEnd If
30、Next i第幾個被刪For i = yh To 1 Step 1 從后向前刪除 ListView2.ListItems.Remove (YongHu(i - 1) Next i歷史這能的實(shí)現(xiàn)描述:當(dāng)有用戶登錄時,系統(tǒng)查用戶表(YongHu), 把其真實(shí)和登錄時間回填到用戶登記表(YHDengJi)中,同時把表中其他字段賦值為 0。將用戶登記表的集(mrc)指向該表的最后一條,然后把 mrc 的 BookMark 屬性賦給一全局變量(varbookmark)。當(dāng)這位用戶對試題進(jìn)行填、刪、改或是組卷時,用varbookmark 找到該用戶在用戶登記表中的位置,然后把相應(yīng)字段再改為 1。使用 Bo
31、okMark 屬性的目的是給網(wǎng)上操作留下擴(kuò)展的空間,即有多人同時登錄系統(tǒng)時,可分配多個 BookMark,分別指向不同的。4.2.2 新建庫新建庫的程序流程圖如圖 4-1,界面 4.2-2 如下圖所示:界面 4.2- 新建學(xué)院新建庫的第一個是新建學(xué)院,管理員可以查看已存在的學(xué)院名,并根據(jù)此建與之不同的學(xué)院名稱,兩位的學(xué)院代碼自動生成。實(shí)現(xiàn)過程如下:系統(tǒng)到查學(xué)院表(XueYuan_DZ),把已存在的學(xué)院名稱列舉出來供用戶參考,且下學(xué)院的總數(shù)。當(dāng)用戶輸入一個符合要求的學(xué)院名稱,按順序?yàn)槠浼丛谠瓉砜倲?shù)的基礎(chǔ)上加 1。把新的學(xué)院名和學(xué)院寫入到學(xué)院表(XueYuan_DZ),刷新數(shù)據(jù)庫。 新建科目填寫新
32、建科目的信息,其中“課程”和“數(shù)據(jù)庫中試題表名”系統(tǒng)自動生成。單擊建立課程按鈕,系統(tǒng)同時為其生成試題清單表和內(nèi)容對照表且生成名稱。單擊下一步進(jìn)入如下的界面 4.2-3:界面 4.2-3這一界面的主要功能是填寫該科的內(nèi)容對照表,關(guān)于內(nèi)容對照表的作用及含義已在總體設(shè)計(jì)中有所闡述,這里不在敘述。當(dāng)填寫完該門課程的內(nèi)容對照樹后,單擊寫入內(nèi)容對照表,至此,新建科目成功。需要說明的是填寫內(nèi)容對照樹的時候要按順序填寫,即只有填寫完第一章的標(biāo)題,才可以填寫第一節(jié)的標(biāo)題,再填加小節(jié)的標(biāo)題,然后是第二節(jié)的標(biāo)題。若無內(nèi)容,則省略之。然后再填加第二章的標(biāo)題,依次類推。建立過程中,不可以在對照樹中向已填加的內(nèi)容之間再插
33、入內(nèi)容,否則出現(xiàn)錯誤提示信息。新建科目的具體實(shí)現(xiàn)過程與方法:當(dāng)用戶輸入符合要求的科目信息,單擊建立課程按鈕時,系統(tǒng)到查科目表(KeMu),按課程的生成原則(見第三章總體設(shè)計(jì)中的數(shù)據(jù)庫設(shè)計(jì))為該科生成,將用戶填寫的信息填寫到科目表(KeMu)中。同時要動態(tài)生成試題表(_QD)和內(nèi)容對照表(_DZ)。在動態(tài)建表過程中,我遇到了問題,開始時我按照SQL 語言的語則(create table 關(guān)鍵字)依照事先想好的字段內(nèi)容來創(chuàng)建(見第三章總體設(shè)計(jì) 數(shù)據(jù)庫設(shè)計(jì))表格。我沒有立刻對動態(tài)創(chuàng)建的表格進(jìn)行操作,而是根據(jù)程序的需要查相關(guān)表的內(nèi)容,再把這個相關(guān)表的內(nèi)容填寫到建好的動態(tài)表中。比如說:某用戶新建了 C
34、語言一科,在科目表(KeMu)中已填入了 C 語言的有關(guān)信息(例如課程編碼),然后在界面彈出的提示信息板中也有試題表和內(nèi)容對照表創(chuàng)建成功的字樣。當(dāng)用戶要填加該科試題時,系統(tǒng)要做的工作就是到查科目表(KeMu),把要用到的信息(例如課程)填寫到 C 語言的試題表中,結(jié)果程序運(yùn)行出錯,提示不存在該科的試題表。經(jīng)過反復(fù)試驗(yàn)和認(rèn)真思索得到的結(jié)論是:動態(tài)創(chuàng)建的表格其實(shí)并沒有真正到數(shù)據(jù)庫中,而是放在了緩沖區(qū)中。所以在數(shù)據(jù)庫中查找此表自然是找不到的。只有到刷新數(shù)據(jù)庫,或者讓計(jì)算機(jī)重新啟動時,動態(tài)建立的表格才能寫入到題庫管理系統(tǒng)數(shù)據(jù)庫中。由此,初步的解決辦法是在代碼段中加入刷新數(shù)據(jù)庫的語句(Update),但
35、對本不存在于數(shù)據(jù)庫中的表格刷新當(dāng)然毫無作用,此方法失敗。那么,讓用戶每新建一科就重新啟動計(jì)算機(jī),未免過于煩瑣和小題大做,此辦法行不通。最后找到的解決方法是建表完成后立即把緩沖區(qū)中的表格寫入到數(shù)據(jù)庫,即在代碼段中動態(tài)建表后,立即在此表中填加一條,就是用 Addnew 方法刷新數(shù)據(jù)庫,順利的把緩沖區(qū)中的表寫到數(shù)據(jù)庫中,然后再把這條刪除。這樣,動態(tài)建立的表格就如我所愿的出現(xiàn)在題庫管理系統(tǒng)的數(shù)據(jù)庫中。具體的建科目表的代碼如下:生成試題表txtSQL = create table & Trim(Text6.Text) & (TiHa o char(10) null ,NeiRongMa char(6)
36、not null, & _notTiXingMa char(2) not null,JiaoXueYaoQiu1JiaoXueYaoQiu2null,FenZhinot null,NanDunotnot notnull, & _ null,FuYongShiXian null,BiaoQiannot null,TiGannull,ChuTiShiJian datetimetext,DaAn text ,JieXi text,QuFenDu Set mrc = ExecuteSQL(txtSQL, MsgText)問題的關(guān)鍵所在txtSQL = select *建完表后要立即向表中填加內(nèi)容fro
37、m & Trim(Text6.Text)Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.AddNewmrc.Fields(0) mrc.Fields(2) mrc.Fields(5) mrc.Fields(8) mrc.Update mrc.Close= 00000000: mrc.Fields(1) = 000000= 00 : mrc.Fields(3) = 0: mrc.Fields(4) = 0= 0 : mrc.Fields(6) = 0 : mrc.Fields(7) = 0= Now刪除填加的內(nèi)容txtSQL = select * from &
38、 Trim(Text6.Text) Set mrc = ExecuteSQL(txtSQL, MsgText) mrc.Deletemrc.Update mrc.Close此外,新建科目中還有一項(xiàng)很重要的功能就是恢復(fù)科目,當(dāng)管理員點(diǎn)擊恢復(fù)科目按鈕時進(jìn)入如下的界面 4.2-4:界面 4.2-4被刪除的科目都存放在科目備份表(KeMuBF) 中,當(dāng)管理員選定一科時,該科的相關(guān)信息就顯示出來,單擊恢復(fù)按鈕,這一科就重新存儲在科目表(KeMu)中。 新建題型新建庫的第三個-新建題型,它的操作方法和實(shí)現(xiàn)過程與新建學(xué)院相似,兩位的題型代碼也是自動生成,不再多說。4.2.3 修改庫修改庫的程序流程圖:如圖
39、4- 修改學(xué)院通過第三章的總體設(shè)計(jì)的數(shù)據(jù)庫設(shè)計(jì),知道的表與表之間的聯(lián)系多通過編碼相關(guān)聯(lián),若把這些相關(guān)聯(lián)的編碼修改,勢必影響整個題庫系統(tǒng),甚至破壞了系統(tǒng)。鑒于此,對于學(xué)院的修改規(guī)定只能修改其名稱,以便新的名稱適合時代的要求。管理員選擇要修改的學(xué)院,然后在重命名中填入新名稱,單擊確定,修改完成。修改學(xué)院的實(shí)現(xiàn)過程很簡單: 系統(tǒng)要查的表格是學(xué)院表(XueYuan_DZ),當(dāng)管理員修改某一學(xué)院后,系統(tǒng)把修改的信息回填到學(xué)院表,刷新數(shù)據(jù)庫。 修改科目在修改學(xué)院小節(jié)中,已經(jīng)講述了不能修改其的原因。同理,科目中的科目、該科的試題表和內(nèi)容對照表也是不允許修改的。允許修改的是科目名稱、學(xué)時和學(xué)分,因?yàn)椴煌碾A段
40、對學(xué)生的要求也不相同,直接反應(yīng)在學(xué)時和學(xué)分上。修改科目與修改學(xué)院的操作過程、實(shí)現(xiàn)方法相似。不同的是要查的數(shù)據(jù)庫表是科目表(KeMu)。這里不在敘述。 修改對照表這里所說的對照表是指難度對照表和教學(xué)要求對照表。關(guān)于建立和修改這兩種表格的原因請見第三章的總體設(shè)計(jì)之?dāng)?shù)據(jù)庫設(shè)計(jì)。修改對照表的界面 4.2-5 如下:界面 4.2-5關(guān)于如何使用這兩個功能是與修改學(xué)院和修改科目十分類似,看到界面就應(yīng)該會操作。修改對照表的實(shí)現(xiàn)過程也與上述的修改學(xué)院和修改科目相似,只不過修改難度對照表要查的數(shù)據(jù)庫是難度對照表(NanDu_DZ),修改教學(xué)要求對照表要查的是教學(xué)要求對照表(JiaoXue_DZ)。4.2.4 刪
41、除庫刪除庫的程序流程圖:如圖 4- 刪除學(xué)院在刪除學(xué)院界面上,所有已存在的學(xué)院被列舉出來,選中一個學(xué)院名稱后,有關(guān)該學(xué)院的相關(guān)信息就顯示出來,單擊刪除按鈕后,為了保險(xiǎn)起見,出現(xiàn)“是否真的刪除”字樣的確認(rèn)信息,單擊是按鈕則學(xué)院被刪除,單擊否按鈕則取消刪除。刪 除 學(xué) 院 的 具 體 實(shí) 現(xiàn) 過 程 是 : 系 統(tǒng) 到查 學(xué) 院 表(XueYuan_DZ), 再查科目表(KeMu) 獲得該學(xué)院包含的科目, 對所有的科目取前兩位,若其序號與該學(xué)院的相等,則把該科名稱列舉出來。確認(rèn)刪除后,在學(xué)院表(XueYuan_DZ)中這個學(xué)院就真的被刪除了。但是,該學(xué)院所包含的科目沒有被真正刪除,而是從科目表(K
42、eMu)轉(zhuǎn)存到科目備份表(KeMuBF)中。這樣做的原因已經(jīng)在第三章總體設(shè)計(jì)之?dāng)?shù)據(jù)庫設(shè)計(jì)中有所闡述。 刪除科目如下的界面 4.2-6:界面 4.2-6刪除科目與刪除學(xué)院類似,在上面的敘述中知道,實(shí)質(zhì)上,刪除學(xué)院包含著刪除科目的內(nèi)容。刪除科目亦并非真的刪除,而是把它放到了科目備份表(KeMuBF)中。它的試題表(_QD)和內(nèi)容對照表(_DZ)也仍然存在于數(shù)據(jù)庫中。4.2.5 統(tǒng)計(jì)庫該項(xiàng)功能是讓管理員對本系統(tǒng)在總體上有一個更深入、透徹的了解。而且界面上使用了直方圖和圓餅圖,看起來更加簡單、直觀。 學(xué)院統(tǒng)計(jì)學(xué)院統(tǒng)計(jì)的界面 4.2-7 如下:界面 4.2-7選中列表框中的學(xué)院名稱,該學(xué)院的所有信息就顯
43、示在界面上,而且用圓餅圖直觀表示了該學(xué)院的題型種類和數(shù)量。學(xué)院統(tǒng)計(jì)的實(shí)現(xiàn)過程現(xiàn)敘述如下:查學(xué)院表(XueYuan_DZ),把其中所有的學(xué)院名寫到 List 列表框中。當(dāng)在界面上點(diǎn)擊學(xué)院名稱時,再把該學(xué)院在學(xué)院表(XueYuan_DZ)中的相關(guān)信息寫入到界面中的“學(xué)院信息”一欄。同時查找科目表(KeMu),取科目字段的前兩位,若與選中學(xué)院的相同,就將這科的名稱寫到“包含的科目”一欄中。關(guān)于“題量分配”一欄的統(tǒng)計(jì)稍稍復(fù)雜一些:首先根據(jù)該學(xué)院所含的科目總數(shù)確定循環(huán)的次數(shù),便于累加試題個數(shù)與題型總數(shù)。把題庫中所有的題型放在一個一維數(shù)組中,另一個一維數(shù)組存放與前一個數(shù)組對應(yīng)的題型個數(shù),初值為 0。然后用
44、循環(huán)查遍該學(xué)院包含的科目的試題表。累計(jì)題型個數(shù)和每種題型的總數(shù)。在第二個一維數(shù)組為 0的項(xiàng),就說明該學(xué)院不含有與之對應(yīng)的題型。再把這個統(tǒng)計(jì)結(jié)果反映在圓餅圖中。統(tǒng)計(jì)學(xué)院的程序代碼如下:txtSQL = select * from kemu where kechengbh like & Trim(Text1.Text) & % & Set mrc = ExecuteSQL(txtSQL, MsgText)ReDim KeMu(mrc.RecordCount) 重新定義樹組 KeMutotal = mrc.RecordCount該學(xué)院包含的科目總數(shù) If mrc.EOF = True ThenLis
45、t2.AddItem 沒有屬于該學(xué)院的科目 Frame5.Visible = FalseExit SubElseFor i = 1 To mrc.RecordCount List2.AddItem mrc.Fields(0) KeMu(i - 1) = mrc.Fields(2) mrc.MoveNextNext i End If統(tǒng)計(jì)題數(shù)For i = 1 To KeMutotaltxtSQL = select tixingma ,count(tihao) from & _ Trim(KeMu(i - 1) & where neirongma group by tixingmaSet mrc
46、For k =For= 1jExecuteSQL(txtSQL, MsgText) To mrc.RecordCount= 0 To TXtotalIf TX(j) = mrc.Fields(0) Then找對應(yīng)的題型= TXnum(j) + mrc.Fields(1) 填加題數(shù)TXnum(j) End IfNext j mrc.MoveNextNext k Next IFor i = 0 To TXtotal If TXnum(i) 0 Text4.Text =Then Val(Text4.Text) + 1XYtishu = XYtishu + TXnum(i) End IfNext I學(xué)
47、院的總題數(shù)Text5.Text = Val(XYtishu)MSChart1.ColumnCount = Val(Text4.Text) 設(shè)計(jì)餅圖MSChart1.ColumnLabelIndex = 1For i = 0 To TXtotalIf TXnum(i) 0 Then kuai = kuai + 1 MSChart1.Column = kuaiMSChart1.ColumnLabelCount = kuai MSChart1.ColumnLabel = TXnum(i) MSChart1.Data = TXnum(i)End If Next Ikuai = 0MSChart1.Co
48、lumnLabelIndex = 2For i = 0 To TXtotalIf TXnum(i) 0 Then kuai = kuai + 1 MSChart1.Column = kuaiMSChart1.ColumnLabelCount = kuai+2 MSChart1.ColumnLabel = TX(i) & End IfNext i 科目統(tǒng)計(jì)科目統(tǒng)計(jì)的界面 4.2-8 如下:界面 4.2-8選中列表框中的科目名稱,該科的所有信息就顯示在界面上,而且用直方圖表示了該科包含的題型種類和數(shù)量。科目統(tǒng)計(jì)的實(shí)現(xiàn)過程與統(tǒng)計(jì)學(xué)院的實(shí)現(xiàn)過程大同小異,或者說更簡單一些:也是要到查該科目的試題表,關(guān)于
49、題型種類和數(shù)量的統(tǒng)計(jì)過程與學(xué)院統(tǒng)計(jì)中的完全相同,不再多說。 試題統(tǒng)計(jì)試題統(tǒng)計(jì)分為整體統(tǒng)計(jì)和詳細(xì)統(tǒng)計(jì)。整體統(tǒng)計(jì)的界面 4.2-9 如下:界面 4.2-9整體統(tǒng)計(jì)的過程實(shí)質(zhì)上與前面的統(tǒng)計(jì)過程是相同的。只不過是要查遍所有的試題表,而且數(shù)組個數(shù)由前面的 2 個增加到 6 個,其中題型種類和對應(yīng)題型個數(shù)的一維數(shù)組兩個,難度種類和對應(yīng)難度個數(shù)的一維數(shù)組兩個,教學(xué)要求種類和對應(yīng)教學(xué)要求的個數(shù)的一維數(shù)組兩個。所謂詳細(xì)統(tǒng)計(jì)就是統(tǒng)計(jì)出某科目中各章、節(jié)、小節(jié)的題型種類和個數(shù),難度的種類和個數(shù),教學(xué)要求的種類和個數(shù)。詳細(xì)統(tǒng)計(jì)的界面4.2-10 如下:界面 4.2-10關(guān)于詳細(xì)統(tǒng)計(jì)與整體統(tǒng)計(jì)的不同之處就是在該科目試題表
50、中用到了內(nèi)容碼這個字段,進(jìn)而需要查內(nèi)容對照表。4.3 試題操作模塊這能模塊允許所有的用戶使用。不同的用戶對試題的要求一定不相同,他們總是苦于題庫中沒有自己理想的試題。此題庫管理系統(tǒng)為用戶提供了極大的方便,任由用戶操作。這里所說的試題操作可以是對題庫中已經(jīng)存在的試題進(jìn)行操作-修改單題和刪除單題,也可以是填加試題。試題操作的程序流程圖:如圖 4-4填加試題填加單題填加單題中有兩個一個是試題描述,另一個是試題內(nèi)容。所謂試題描述就是要求填寫關(guān)于這道試題的相關(guān)內(nèi)容-所屬科目、題型、難度、分值、本專業(yè)和非專業(yè)的教學(xué)要求,以及該試題所在的章、節(jié)。試題內(nèi)容分三項(xiàng):題干、和試題。當(dāng)所有信息按要求填寫正確(否則有
51、錯誤提示信息),單擊錄入則系統(tǒng)自動為其編寫題號將其錄入庫中。填加單題的實(shí)現(xiàn)過程比較簡單:當(dāng)試題描述和試題內(nèi)容填寫正確后,單擊錄入時,系統(tǒng)到數(shù)據(jù)庫目表(KeMu),根據(jù)用戶選擇的科目名稱來獲得該科的科目和試題表名。系統(tǒng)再查找此單題所屬科目的試題表,然后把試題描述和試題內(nèi)容的相關(guān)信息對應(yīng)填到表中。需要說明的是被填加的試題在表中的位置。系統(tǒng)首先瀏覽表,檢查內(nèi)容碼是否為空,若遇到內(nèi)容碼為空的的,就把該試題加到表中此位置,覆蓋原來的內(nèi)容,因?yàn)榇藭r題號字段已有內(nèi)容,所以系統(tǒng)無須為其生成題號。若沒有內(nèi)容碼為空的,就把該試題加到表尾,生成的題號就是科目和上一題題號最后四位數(shù)字加 1 的連接,共 10 位。填加
52、單題的代碼如下:txtSQL = select KeCheng & rom KeMu where KeChengMing = & Combo1.TextSet mrc = ExecuteSQL(txtSQL, MsgText)得到題號的前 6 位Bh = mrc.Fields(0) mrc.Close生成題號的后 4 位txtSQL = select * from & Trim(Combo1.Text & _QD) Set Jrc = ExecuteSQL(txtSQL, MsgText)Do While Jrc.EOF = FalseIf Left(Jrc.Fields(0), 6) = *
53、 ThenShh = Right(Jrc.Fields(0), 4)中間有空號碼Kong = True Exit DoEnd IfJrc.MoveNextLoop說明沒有空號碼,在最后面加題If Jrc.EOF = True ThenHh = Jrc.RecordCount + 1 Kong = False:Jrc.Close判斷位數(shù)If Hh 10 Then得到后 4 位Shh = Trim(000 & Trim(Str$(Hh) ElseIf Hh 100 ThenShh = Trim(00 & Trim(Str$(Hh) ElseIf Hh 1000 ThenShh = Trim(0 &
54、 Trim(Str$(Hh) ElseShh = Trim(Str$(Hh) End IfEnd If End IfEnd If生成題號*TH = Trim(Bh & Shh)比較章,節(jié),小節(jié),生成內(nèi)容碼If Trim(Combo8.Text) = ThentxtSQL = select NeiRongMa from & Combo1.Text NeiRongMiaoShu= & Trim(Combo7.Text) & ElseIf Trim(Combo9.Text) = Then& _DZ & wheretxtSQL = select NeiRongMa from & Combo1.Text
55、 & _DZ & where NeiRongMiaoShu= & Trim(Combo8.Text) & ElsetxtSQL = select NeiRongMa from & Combo1.Text & _DZ & where NeiRongMiaoShu= & Trim(Combo9.Text) & End If End Ifset mrc = ExecuteSQL(txtSQL, MsgText)NM = mrc.Fields(0)生成內(nèi)容碼*mrc.ClosetxtSQL = select TiXingID from TiXing_DZ where TiXingMing= & Tri
56、m(Combo2.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText)TX = mrc.Fields(0) mrc.Close生成題型碼*txtSQL = select xishu from NanDu_DZ where NanDu= & Trim(Combo3.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText)ND = mrc.Fields(0) mrc.Close生成難度碼*txtSQL = select xishu from JiaoXue_DZ where JiaoXueYaoQiu= Trim(Combo4
57、.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText)&YQ1 = mrc.Fields(0) mrc.Close生成本專業(yè)教學(xué)要求碼*txtSQL = select xishu from JiaoXue_DZ where JiaoXueYaoQiu= Trim(Combo6.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText)&YQ2 = mrc.Fields(0) mrc.Close生成非專業(yè)教學(xué)要求碼*向試題If Kong Then表中填加內(nèi)容有空題號存在Jrc.Fields(0) Jrc.Fields(3) J
58、rc.Fields(5) Jrc.Fields(7) Jrc.Fields(9) Jrc.Fields(11) Jrc.Fields(12) Jrc.Fields(13) Jrc.Update Jrc.Close=TH: Jrc.Fields(1) = NM: Jrc.Fields(2) = TX Val(Text1.Text): Jrc.Fields(4) = NDYQ1: 0:0:Jrc.Fields(6) = YQ2 Jrc.Fields(8) = ShiJianJrc.Fields(10) = Trim(Text2.Text)=Trim(Text3.Text) Trim(Text4.T
59、ext) QuFenDuElsetxtSQL = select* from & Combo1.Text & _QDSet mrc = ExecuteSQL(txtSQL, MsgText) mrc.AddNewmrc.Fields(0) mrc.Fields(3) mrc.Fields(4) mrc.Fields(6) mrc.Fields(10) mrc.Fields(11) mrc.Fields(12) mrc.Update mrc.CloseIf=TH: mrc.Fields(1) = NM: mrc.Fields(2) = TX Val(Text1.Text)ND: mrc.Field
60、s(5) YQ2: mrc.Fields(7) Trim(Text2.Text): Trim(Text3.Text): Trim(Text4.Text):= YQ1= 0mrc.Fields(9) = 0 mrc.Fields(8) = ShiJian mrc.Fields(13) = QuFenDu=EndMsgBox 試題已經(jīng)填加到試題 批量加題表中, vbOKOnly, 成功在批量加題中又分為手工加題和自動加題 。.1 手工加題手工加題的界面 4.3-1 如下:界面 4.3-1這個界面的操作和要求與填加單題十分相似,它的實(shí)現(xiàn)過程也與填加單題完全相同。這看起來手工加題似乎沒有多大作用,甚至
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新疆工程學(xué)院《數(shù)學(xué)游戲與折紙》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年中國料斗秤數(shù)據(jù)監(jiān)測報(bào)告
- 2025年中國數(shù)字單相交流電流表數(shù)據(jù)監(jiān)測報(bào)告
- 2025-2030年中國一氧化碳行業(yè)運(yùn)行規(guī)劃及投資價(jià)值研究報(bào)告
- 新疆警察學(xué)院《地理信息科學(xué)專業(yè)英語》2023-2024學(xué)年第二學(xué)期期末試卷
- 肇慶市實(shí)驗(yàn)中學(xué)高中歷史二教案:第課中國社會主義經(jīng)濟(jì)建設(shè)的曲折發(fā)展
- 2025-2030年中國PHA工業(yè)行業(yè)競爭力發(fā)展研究及投資風(fēng)險(xiǎn)預(yù)測研究報(bào)告
- 新疆師范大學(xué)《中醫(yī)經(jīng)典臨床能力跟師實(shí)訓(xùn)(一)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年中國電腦程控全自動壓線機(jī)數(shù)據(jù)監(jiān)測研究報(bào)告
- 信陽航空職業(yè)學(xué)院《化學(xué)軟件與網(wǎng)絡(luò)資源應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 公共停車場建設(shè)項(xiàng)目可行性研究報(bào)告
- 保安服務(wù)標(biāo)準(zhǔn)及工作流程
- 2024年中考數(shù)學(xué)幾何模型歸納(全國通用):18 全等與相似模型之十字模型(學(xué)生版)
- 外科疾病分級目錄
- 國家級教學(xué)成果的培育提煉與申報(bào)
- 海南師范大學(xué)《高等數(shù)學(xué)》2020-2021期末試卷B
- 2023年09月黑龍江省大興安嶺地區(qū)“黑龍江人才周”校園引才活動引進(jìn)90名人員筆試歷年難易錯點(diǎn)考題薈萃附帶答案詳解
- 直播傭金直播合同帶貨
- 點(diǎn)凸焊操作工藝規(guī)程
- 跳頻通信系統(tǒng)課件
- 兼職駕駛員審批表
評論
0/150
提交評論