




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、試卷生成系統(tǒng)目 錄目 錄1摘 要2abstract3第一章 前言4第二章系統(tǒng)分析6第三章 visual basic數(shù)據(jù)操作技術123.1數(shù)據(jù)庫組件介紹123.1.1 data控件123.1.2 ado data控件133.1.3 datalist控件/datacombo控件133.1.4 datagrid控件133.1.5 mschart控件133.2 visual basic數(shù)據(jù)庫操作方法133.2.1數(shù)據(jù)庫打開/關閉方法133.2.2使用數(shù)據(jù)約束控件顯示數(shù)據(jù)143.3 visual basic的歷史153.4 visual basic常用術語解釋153.5 visual basic的特點1
2、5第四章 使用visual basic開發(fā)排課系統(tǒng)164.1開發(fā)使用的過程模型164.2后臺數(shù)據(jù)庫的建立174.2 系統(tǒng)模塊圖214.3 功能實現(xiàn)214.3.1 登陸214.3.2 主窗體界面224.3.3 用戶管理功能244.3.4 編輯試卷功能25第五章 開發(fā)總結(jié)30參考文獻31致謝33摘 要隨著現(xiàn)代計算機科學的發(fā)展,計算機信息系統(tǒng)越來越受到重視,對學生進行考試的考題的生成已經(jīng)逐漸改為由計算機完成。本文首先介紹開發(fā)工具visual basic,接著介紹了visual basic的數(shù)據(jù)訪問技術,最后詳細講解了用visual basic開發(fā)的試卷生成系統(tǒng),這一部分主要包括數(shù)據(jù)庫的建立和系統(tǒng)功能
3、的實現(xiàn),最后做了開發(fā)總結(jié)。關鍵詞:試卷生成系統(tǒng),數(shù)據(jù)庫,visual basicabstractwith the development of modern computer science, computer information systems take more attention, carried on the test to students the examination question production already gradually to change by the computer completes. the first presentation develop
4、ment tool visual basic, and then introduced the visual basic data access technologies, finally in detail explained development the examination paper production system using visual basic. this part including database creation and the system function realization, and finally the development summary.ke
5、ywords: examination paper production system, database, visual basic第一章 前言學校的出考題工作是每一個學校必須完成的工作,它是一項繁瑣的工作,以前都由人工來完成,隨著計算機科學技術的飛速發(fā)展,計算機的應用在全球范圍內(nèi)日益普及,出試卷已經(jīng)由人工管轉(zhuǎn)變?yōu)樽詣踊?,機器化。由計算機進行試卷生成的方式于傳統(tǒng)的方式相比較,優(yōu)勢是顯而易見的,首先,可以省去大量人工,加速現(xiàn)代化的進程;其次,避免了人工試卷生成出錯,使試卷生成過程可以輕松進行。第三,可以充分發(fā)揮計算機在信息處理方面的優(yōu)勢,可以讓繁瑣的工作由計算機處理。因此,開發(fā)一個試卷生成系統(tǒng)
6、是很有必要的。本文意在說明用微軟的visual basic和access數(shù)據(jù)庫技術如何進行排課系統(tǒng)的開發(fā)。現(xiàn)在全國無論是政府、企業(yè)、學校還是農(nóng)村的信息化建設都在如火如荼的展開著。信息化建設的一個必然結(jié)果就是電腦越來越普及了,現(xiàn)在很多的高中、初中都已經(jīng)擁有自己的微機房了,甚至發(fā)展的比較好的小學也已經(jīng)配置了不錯的電腦。隨著計算機技術的不斷普及,計算機工作者也越來越多,水平也越來越高 ,同時學校也肯花錢請專門的人員來管理機房,這些就為實行無紙化考試系統(tǒng)提供了硬件條件。隨著計算機技術的發(fā)展,考試的方式也在不斷的變化著。從最初的考試的時候,人工印刷試卷,到發(fā)考卷,然后收卷,然后改卷,然后發(fā)布成績,整個流
7、程相對的比較的復雜,而且涉及的人員較多,不容易協(xié)調(diào)。手工改卷,在主觀題上是有他的優(yōu)勢的,畢竟電腦是沒有評測主觀題的能力,但是客觀題也采用手工修改的話,對于評卷老師來說工作量就非常的大。面對幾百份,甚至是上千份的試卷,精力在好、工作在認真的老師也會感覺頭疼的。根據(jù)計算機的特點,我們該類試題正好可以使用計算機進行處理,于是在一套試題里,客觀題和主觀題同時存在的情況下,出現(xiàn)了另外一種考試的方法。那就是把主觀體和客觀題分開,主觀題照樣在原來的試卷上考試,而客觀題則要求學生涂卡。這樣客觀題的評卷就變的簡單了。但是如果考試純粹考的是客觀題,使用這種涂卡的方式,就暴露出了一些缺點了,比如,每回老師還是要下發(fā)
8、試卷,上交試卷,封存試卷,這樣操作對于老師來說比較的麻煩。還有一點就是考生還要花很長的時間來涂卡,無形間就增加了考試的時間,也就增加了考試的成本。所以現(xiàn)在全國比較流行的是使用無紙化考試系統(tǒng),每回考試只要使用軟盤等等存儲介質(zhì)帶題庫下來,在計算機上安裝一個考試客戶端(甚至有些就直接使用windows內(nèi)置的瀏覽器就可以了),就可以考試了??荚囃戤呏?,學生交卷后,評分的時候只要帶走一些數(shù)據(jù),就可以完全使用電腦修改,評分過程可能也就在一兩分鐘左右。采取這種方法,不知不覺中就減少了考試時間,降低了考試成本,減少了老師的工作。而且一般情況下,該類考試系統(tǒng)都是使用隨機組卷,電腦隨機抽卷的,保證了公正性,即使
9、是監(jiān)考老師也無法干預電腦的隨機抽卷?,F(xiàn)在網(wǎng)絡發(fā)展的非常的快,網(wǎng)絡的無地域性也不停的拉近了我們之間的距離。寬帶的資費也由剛開始的高不可攀,到現(xiàn)在的平民化。網(wǎng)絡正在慢慢的影響著我們的生活方式。不知不覺網(wǎng)絡辦公,網(wǎng)上購物,都被人們所接受。那么通過internet網(wǎng)進行網(wǎng)絡考試如何呢?答案是可能的。該類考試系統(tǒng)現(xiàn)在也已經(jīng)冒出了很多,采取的基本上是b/s結(jié)構(gòu)的。客戶端只要在特定的時間通過瀏覽器登陸到考試服務器上面去,然后系統(tǒng)會在瀏覽器上顯示出考試的題目,可以說這種模式真正的實現(xiàn)了在家考試。但是這種考試也有一些本身的問題,第一、客戶端是通過internet訪問服務器的,網(wǎng)絡速度和穩(wěn)定性方面就是個考驗。第二
10、、對服務器的要求非常的高,試問,如果有幾百個人甚至上網(wǎng)個人同時在線考試的話呢?服務器的負荷是非常大的。網(wǎng)上考試是以后的發(fā)展趨勢,但是現(xiàn)在還是有些問題存在的。從以上的調(diào)查我們可以總結(jié)出一個結(jié)論,現(xiàn)在的考試系統(tǒng)越來越簡單,越來越網(wǎng)路化,無論是局域網(wǎng)還是internet網(wǎng)。而且無紙化的考試系統(tǒng)越來越流行。這更加堅定了我做這么個考試系統(tǒng)的決心。第二章系統(tǒng)分析參考了很多計算機考試系統(tǒng),可以看到這些考試系統(tǒng)的特點如下:2 1 考試系統(tǒng)的特點1操作界面和操作方法簡單。如果操作過于復雜化的化,老師培訓學生考試操作就得很長得時間,這樣使用無紙化考試系統(tǒng)可以說是得不償失。所以操作界面一定要簡單,操作方法也一定要簡
11、單。2、提示必須正確,沒有歧異。對于參加考試得學生,通常都非常得緊張,可以說是非常得惶恐,非常的怕自己考不好,所以出現(xiàn)提示的時候,如果提示說不明確或者是有歧異,會馬上問老師的,這樣不但不利于考生的正常發(fā)揮 ,而且考場秩序也會非常的混亂。3、必須有很強的錯誤處理能力。參加考試的學生,其中可能有很大一部分計算機操作都不是很熟練,不熟練的意思就是可能會亂刪文件,可能會做些正常情況下不會去使用的功能。所以一定要防止學生進行這種操作,即使是操作了,也該有相應的錯誤提示。4、穩(wěn)定性。考試系統(tǒng)的穩(wěn)定性非常非常的重要,必須能夠保證正確得考試流程。這表現(xiàn)在考試數(shù)據(jù)不容易丟失,不會出現(xiàn)一些寫入錯誤等等。總之除非發(fā)
12、生硬盤損害等等非可抗的能力,否則必須得保證考生得數(shù)據(jù)不丟失。如果考試機意外重啟,應該也運行考生能夠繼續(xù)做試題。而不是完全重新開始做。5 、考生考試數(shù)據(jù)集中管理。所謂考生考試數(shù)據(jù)集中管理是只一個考場里的考生數(shù)據(jù)最好是存放在一個地方,而不是存放于各自的考生計算機上。為什么要強調(diào)這一點呢?因為如果把考試的數(shù)據(jù)都存放在下面各自的機器上的時候,監(jiān)考老師要一個一個的進行收卷,我想這樣和下發(fā)試卷可能非常的類似,這樣也沒有發(fā)揮出計算機考試的優(yōu)勢。如果直接都存放在服務器上,那么數(shù)據(jù)采集就非常的簡單了,只要直接從服務器上取得就可以了6 、網(wǎng)絡化?,F(xiàn)在考試系統(tǒng)的發(fā)展就是向網(wǎng)絡化發(fā)展,從最初的單機,到局域網(wǎng),到int
13、ernet網(wǎng)。所以考試系統(tǒng)必須支持網(wǎng)絡化操作。22 考試系統(tǒng)主要功能(我的畢業(yè)設計只是做了下面的一部分)一般情況下,整套的考試系統(tǒng)需要如下的模塊。1 、 報名模塊該模塊的主要功能是記錄每個考生的信息,比如報名日期等等。2 、 題庫維護模塊該模塊的主要功能是制作題庫使用的。3 、 考生考試模塊該模塊是提供給考生考試使用的,包括答題和交卷等等功能。4 、 考場數(shù)據(jù)采集模塊該模塊是導出考生的考試信息,評分模塊依賴于該考試信息來評分。5 、 評分模塊評出考生的成績。6 、 學生成績和分析模塊對考生的成績進行統(tǒng)計分析,比如及格人數(shù)是多少,通過率有多少等等。23 開發(fā)環(huán)境的選擇231 操作系統(tǒng)的選擇現(xiàn)在主
14、流的操作系統(tǒng)有windows和linux,最近linux的發(fā)展很快,在界面上的友好度上面已經(jīng)做的越來越好了,據(jù)說在穩(wěn)定性上面已經(jīng)超過了windows操作系統(tǒng)。但是linux操作系統(tǒng)用的比較多的還是服務器的版本,在桌面上的普及始終還是不如windows,而且windows的操作更加的傻瓜化,可以這么說windows操作系統(tǒng)更加的適合于入門的用戶,而且我們也知道現(xiàn)在學校里幾乎上使用的都是windows 操作系統(tǒng),所以使用windows操作系統(tǒng)變成了我們的首選。windows操作系統(tǒng)也分為很多種,包括win95、win98、win2000、winxp、win2003。雖然win98操作系統(tǒng)發(fā)行已經(jīng)很
15、多年了,但是一直以它的操作方便性深受用戶的喜愛,所以我們這里的操作系統(tǒng)當仁不讓的選擇win98操作系統(tǒng)232 開發(fā)工具的選擇現(xiàn)在在市場上,流行的windows開發(fā)工具主要由兩個供應商提供,一個是微軟公司,另外一個是borland公司。而這兩個公司的最有名的rad(快速開發(fā)工具)為visual basic 和delphi。因為visual basic是微軟專門為開發(fā)windows程序而設計的,特點是簡單易用,開發(fā)快速,和windows結(jié)合緊密,語言簡單,試想學計算機的誰沒有學過basic語言呢?雖然delphi功能也很強大,但是考慮到簡單性,所以我決定使用visual basic。2421 vi
16、sual basic介紹我們先來了解一下visual basic,經(jīng)過總結(jié)我覺得visual basic有主要有如下的三個特點:1、visual basic提供可視化的編程工具 用傳統(tǒng)的高級語言編程時,程序的各種功能、用戶界面和顯示的結(jié)果全要由程序語句來實現(xiàn),這就增加了編程難度。而用visual basic開發(fā)應用程序,包括兩部分工作:一是設計用戶界面,二是編寫程序代碼。visual basic向程序設計人員提供圖形對象(窗體、控件、菜單等)來進行應用程序的界面設計,例如程序人員可以根據(jù)用戶的需要輕而易舉地在屏幕上畫出下圖的用戶界面。visual basic提供的“工具箱”內(nèi)存放若干個“控件”
17、,程序設計者可以自由地從工具箱中取出所需控件,放到窗體中的指定位置,而不必為此編寫程序。也就是說,屏幕上的用戶界面是用visual basic提供的可視化設計工具直接“畫”出來的,而不是用程序“寫出來的”。2、程序采用“事件驅(qū)動“方式 在設計好用戶界面后,第二件事是編寫程序。visual basic改變了程序的機制,它沒有傳統(tǒng)意義上的主程序,而由“事件”來驅(qū)動子程序的運行。一般來說,每個子程序要實現(xiàn)的功能是單一的,子程序的規(guī)模一般不會太大,也就是說,把原來一個統(tǒng)一控制的、包羅萬象的大程序分解為許多個獨立的、小規(guī)模的子程序,分別由各種“事件”來驅(qū)動執(zhí)行,于是編程難度大大降低了。3、visual
18、basic融入了最新的計算機技術 visual basic的設計者在visual basic中融入了最新的計算機技術,使得用visual basic編程能充分利用了這些最新的技術,例如在多媒體方面的應用、在internet 方面的應用等。總之,visual basic是面向?qū)ο蟮?、結(jié)構(gòu)化的計算機語言。visual basic的界面由一些對象組成,每個對象有若干個屬性、方法和事件,程序人員的任務是設計這些對象的事件處理過程。visual basic是一種很容易學習并很快就可以熟練掌握的功能強大的編程語言。233 數(shù)據(jù)庫的選擇考試系統(tǒng)里有很多的地方需要存取數(shù)據(jù),為了能夠更好的組織數(shù)據(jù),并且使編碼更
19、加的簡單,決定使用數(shù)據(jù)庫技術來組織所有的數(shù)據(jù),包括題庫數(shù)據(jù)和考生在考試的時候的數(shù)據(jù)。現(xiàn)在市場上主流的數(shù)據(jù)庫分為網(wǎng)路型的數(shù)據(jù)庫和桌面型的數(shù)據(jù)庫。網(wǎng)絡型的數(shù)據(jù)庫一般情況下使面向企業(yè)級的用戶,數(shù)據(jù)存儲比較的穩(wěn)定,而且安全,數(shù)據(jù)存儲的容量也非常的巨大。而桌面型的數(shù)據(jù)庫一般是面向一些中小型的用戶,他們的數(shù)據(jù)量不是非常的龐大,由于一般情況下,不是通過網(wǎng)絡來存取的,所以速度相對來說要快一點,而且價格方面要便宜的多,缺點是數(shù)據(jù)安全性方面稍差。而本次畢業(yè)設計使用的數(shù)據(jù)庫access2000更是微軟office2000中的一個套件。為了減少成本,而且對于一個考場的考生來說使用access數(shù)據(jù)庫已經(jīng)足夠,而且減低了
20、整個系統(tǒng)的造價。1 、 access簡介作為microsoft的office套件產(chǎn)品之一,access已經(jīng)賣出了近900萬份,成為世界上最流行的桌面數(shù)據(jù)庫系統(tǒng)。access與許多優(yōu)秀的關系數(shù)據(jù)庫一樣,可以讓你很容易地連接相關的信息而且還對其他的數(shù)據(jù)庫系統(tǒng)有所補充。它能操作其它來源的資料,包括許多流行的pc數(shù)據(jù)庫程序(如dbase,paradox,microsoft foxpro)和服務器、小型機、大型機上的許多sql數(shù)據(jù)庫。access還完全支持microsoft的ole技術。 access還提供windows操作系統(tǒng)的高級應用程序開發(fā)系統(tǒng)。access與其它數(shù)據(jù)庫開發(fā)系統(tǒng)之間相當顯著的區(qū)別就
21、是:您不用寫一行代碼,就可以在很短的時間里開發(fā)出一個功能強大而且相當專業(yè)的數(shù)據(jù)庫應用程序,并且這一愉快的過程是完全可視的!如果您能給它加上簡短的vba代碼,那么您的程序決不比專業(yè)程序員潛心開發(fā)的程序差。2 、 access的總體結(jié)構(gòu) access將所有具有名字的東西都成為對象(object),在access 2000中,最重要的對象有表,查詢,窗體,報表,宏和模塊。表 用戶定義的存儲資料的對象。每一個表都包含有關某個主體的信息。表包括存儲不同種類資料的字段(列),而記錄(行)則收集特定主體實例的所有信息。查詢 為來自一個或多個表的資料提供定制視圖的對象。在access中,可以利用圖形化的實例查
22、詢機制(qbe)或通過sql語句來建立查詢。你可以在查詢中選擇、更新、插入或刪除資料,也可以用查詢來建立新表。窗體 窗體是主要的人機接口。大量的操作(幾乎所有)都要通過窗體完成。窗體通過運行宏(macro)或visual basic for applicatinns(vba)過程,來響應大量的事件。access 2000為我們提供了強大的(同時也是相當方便的向?qū)В﹣斫藴实膚indows窗體。報表 為格式化、計算、打印選定資料而設計的對象。它是衡量一個優(yōu)秀的數(shù)據(jù)庫的重要標準(有時甚至是唯一的標準)。宏 為了響應已定義的事件,需要讓access去執(zhí)行一個或多個操作,而宏就是對這些操作的結(jié)構(gòu)化的
23、定義對象。它可以讓你像堆積木一樣建立一個功能強大的程序,而無須寫大量的代碼。模塊 包括用vba編碼的定制過程的一個對象。模塊提供了獨立的動作流以捕獲錯誤,而宏做不到。模塊能直接響應窗體或報表事件,也可以從應用程序的任何地方被調(diào)用。3 、為何要選擇accessaccess 功能強大,使用方便,是開發(fā)桌面數(shù)據(jù)庫的最優(yōu)秀的工具之一。如果你具有下面的情況,就應該考慮選擇access。1、 我要建立一個數(shù)據(jù)庫系統(tǒng),卻不愿因此而去系統(tǒng)地區(qū)學習編程。2 、我略懂編程,希望能夠建立一個專業(yè)的數(shù)據(jù)庫系統(tǒng)。3 、我精通c+,但我發(fā)現(xiàn)要用它做許多復雜的報表是一件令人頭疼的事。4 、我有大量的資料要處理,卻不會寫sq
24、l語句。5 、我精通多種數(shù)據(jù)庫語言,但我希望工作更輕松一些。從上面的vb和access的介紹后,我們知道如果使用這兩種軟件來開發(fā)是個比較不錯的選擇,所以決定使用這兩個軟件進行本次的開發(fā)和設計。第三章 visual basic數(shù)據(jù)操作技術3.1數(shù)據(jù)庫組件介紹在使用visual basic開發(fā)數(shù)據(jù)庫應用程序的時候,會經(jīng)常使用數(shù)據(jù)庫訪問控件。這些控件包括:data控件;ado data控件;datalist控件/datacombo控件;datagrid控件;mschart控件。下面將分別對這些控件的主要功能及使用方法進行介紹。3.1.1 data控件data控件是visual basic中最基本的數(shù)
25、據(jù)庫操作控件。它使用recordset對象提供對存儲在數(shù)據(jù)庫中數(shù)據(jù)的訪問。data控件允許從一個記錄移動到另一個記錄,并顯示和操縱來自被連接控件的記錄的數(shù)據(jù)。許多其他的數(shù)據(jù)庫操作控件都需要data控件或類似的數(shù)據(jù)源控件(比如ado data控件)。data控件可以執(zhí)行大部分數(shù)據(jù)庫訪問操作,但是它并不能顯示數(shù)據(jù)庫中數(shù)據(jù)的內(nèi)容。data控件通常需要與其他控件結(jié)合使用。這些與data控件結(jié)合使用的控件,可以稱之為“數(shù)據(jù)覺察控件”。因為程序員無需編寫任何代碼,就可以在這些控件中顯示當前記錄的數(shù)據(jù)。當data控件中當前記錄發(fā)生變化時,數(shù)據(jù)覺察控件的內(nèi)容也會隨之發(fā)生變化。當與data控件相連接時,data
26、list、datacombo、datagrid和mshflexgrid控件都能管理記錄集合。所有這些控件都允許一次顯示或操作幾個記錄。內(nèi)部的picture、label、textbox、checkbox、image、ole、listbox和combobox控件也是數(shù)據(jù)覺察的,能和由data控件管理的recordset對象的某個字段相連接。3.1.2 ado data控件ado data控件與內(nèi)部data控件以及remote data控件(rdc)相似。用戶可以使用ado data控件快速地創(chuàng)建一個到數(shù)據(jù)庫的連接。3.1.3 datalist控件/datacombo控件datalist控件是一個數(shù)
27、據(jù)綁定列表框,它可以自動地由一個附加數(shù)據(jù)源中的一個字段充填,并且可選擇地更新另一個數(shù)據(jù)源中一個相關表的一個字段。datacombo控件的功能與datalist控件完全相同,只不過datacombo控件是一個組合框。3.1.4 datagrid控件在許多情況下,需要使用表格形式來顯示數(shù)據(jù)庫中的數(shù)據(jù)。這時就要借助于daatgrid控件。用戶可以設置datagrid控件的datasource屬性為一個ado data控件,從而將ado data中的數(shù)據(jù)自動地填充到datagrid表格中。這個datagrid控件實際上是一個固定的列集合,每一列的行數(shù)都是不確定的。3.1.5 mschart控件msch
28、art控件的功能是以圖形方式顯示數(shù)據(jù)的圖表。這會使枯燥的數(shù)據(jù)變得更加生動直觀,增加了程序的實用價值。mschart控件支持一下特性:1、真三維表示;2、支持所有主要的圖表類型;3、數(shù)據(jù)網(wǎng)絡成員支持隨機數(shù)據(jù),數(shù)據(jù)數(shù)組。3.2 visual basic數(shù)據(jù)庫操作方法3.2.1數(shù)據(jù)庫打開/關閉方法一般說來,有2種數(shù)據(jù)庫打開關閉方法,下面將介紹這2種方法并對其進行比較。通常情況下,數(shù)據(jù)庫的打開操作是在程序代碼中使用opendatabase方法實現(xiàn),其格式如下:set database=workspace.opendatabase(dbname,options,readonly,connect)可以通過
29、指定數(shù)據(jù)庫名字、打開方式、連接信息等參數(shù)打開一個現(xiàn)已存在的數(shù)據(jù)庫,使用close方法即可關閉該數(shù)據(jù)庫。由于涉及vb代碼的編寫,其軟件編制工作比較復雜。另一方面,vb的數(shù)據(jù)控件(data control)也可以執(zhí)行數(shù)據(jù)庫的打用關閉操作。我們可以在數(shù)據(jù)控件的屬性窗口中預先填好數(shù)據(jù)庫打開的相關參數(shù),一旦該數(shù)據(jù)控件啟動,數(shù)據(jù)庫便會自動以指定的方式打開,而當該數(shù)據(jù)控件終止時,對應的數(shù)據(jù)庫也將自動關閉。對于按這二種方式打開的數(shù)據(jù)庫,其后的數(shù)據(jù)庫訪問操作沒有什么本質(zhì)的區(qū)別。以上兩種數(shù)據(jù)庫打用關閉的方法各有千秋:使用opendatabase方法可以在程序運行中動態(tài)地設置數(shù)據(jù)庫打開參數(shù),并且可以多次以不同的方式
30、打開和關閉同一個數(shù)據(jù)庫,具有相當大的靈活性。而如果使用數(shù)據(jù)控件,則不需要另外編寫vb代碼,只要在程序編制時預先設置數(shù)據(jù)庫的相關參數(shù),程序開始運行后便會自動地以我們指定的方式打開數(shù)據(jù)庫,并在程序終止時自動關閉該數(shù)據(jù)庫,因此顯得相當方便。在實際應用中,可以視情況的不同而采用不同的處理方法:如果要求數(shù)據(jù)庫在程序運行中始終處于打開狀態(tài)并且其打開方式保持不變(如一直處于只讀狀態(tài)),那么,可以采用數(shù)據(jù)控件方法打開數(shù)據(jù)庫;如果要求數(shù)據(jù)庫在程序運行中時而打開時而關閉,或者經(jīng)常在只讀和讀寫方式間來回切換,則只能采用opendatabase方法編寫程序代碼。3.2.2使用數(shù)據(jù)約束控件顯示數(shù)據(jù)數(shù)據(jù)庫中的數(shù)據(jù)要最終顯
31、示給用戶,就要使用數(shù)據(jù)約束控件, vb中還提供了多種高級約束數(shù)據(jù)控件,其中包括:高級約束數(shù)據(jù)網(wǎng)格控件(dbgrid)、高級約束列表控件(dblist)和高級約束組合框控件(dbcombo)。高級約束數(shù)據(jù)網(wǎng)格控件顯示并允許操作與其相連的記錄集對象, dbgrid控件被稱為“數(shù)據(jù)感知”的,即只要將其datasource屬性設置為data控件(當然data控件的databasename和recordsourse屬性必須已經(jīng)被正確設置)就能利用記錄集來自動填充控件的網(wǎng)格,并且列頭也由記錄集對象自動設置。換句話說,就是通過dbgrid控件所顯示的二維網(wǎng)格,實際上可以形象地看到整個記錄集的結(jié)構(gòu)和內(nèi)容。可以
32、在代碼中指定當前單元,或用戶在運行時用鼠標或單元箭頭鍵改變當前單元,然后進行單元內(nèi)容的修改,單元可以單獨或按行選中。用 dbgrid 控件的列 columns 集合的 count 屬性和 recordset 對象的 recordcount 屬性可以確定控件中的行和列的數(shù)目。約束數(shù)據(jù)列表控件(dblist)與約束數(shù)據(jù)組合框控件(dbcombo)dblist與dbcombo 控件是和數(shù)據(jù)相連的控件,它們能在列表中自動顯示與之相連的 data 控件的字段值,并可以有選擇地更新其它的 data 控件中相關表的字段。dblist 和dbcombo控件的列表是通過簡單地設置一些屬性由和它們相連的 data
33、 控件的 recordset 對象中的字段中的數(shù)據(jù)自動填加數(shù)據(jù)項,并且控件有能力更新在不同的 data 控件的相關的 recordset 對象中的字段,即用一個記錄集中的某個字段值去更新另一個記錄集中指定的一個字段的值。dblist 與dbcombo常用的屬性:rowsource:作為控件列表區(qū)段的項目源使用的一個 data 控件名,即用所指定的數(shù)據(jù)控件中的一個字段內(nèi)容來填充列表控件的列表區(qū);listfield :由 rowsource 指定的data控件創(chuàng)建的recordset 中的一個字段名,用于填充列表;selecteditem:由 rowsource 屬性指定的在 recordset
34、中的選定項目的書簽(即選定的字段項目所在的記錄)。3.3 visual basic的歷史visual basic是由basic演化而來的,basic是beginners all-purpose symbolic instruction code(初學者通用符號指令代碼)的縮寫,是國際上廣泛使用的一種計算機高級語言。basic簡單、易學,目前仍是計算機入門的主要學習語言之一。 basic語言的問世及發(fā)展到visual basic經(jīng)歷了以下四個階段:第一階段:(1964年70年代初) 1964年basic語言問世。 第二階段:(1975年80年代中) 微機上固化的basic第三階段:(80年代中9
35、0年代初) 結(jié)構(gòu)化basic語言。第四階段:(1991年以來) visual basic 自從1991年,微軟推出了visual basic1.0版。這在當時引起了很大的轟動。許多專家把vb的出現(xiàn)當作是軟件開發(fā)史上的一個具有劃時代意義的事件。其實,以我們現(xiàn)在的目光來看,vb10的功能實在是太弱了。但在當時,它是第一個“可視”的編程軟件。這使得程序員欣喜之極,都嘗試在vb的平臺上進行軟件創(chuàng)作。微軟也不失時機地在四年內(nèi)接連推出vb20,vb30,40,三個版本。并且從vb3開始,微軟將access的數(shù)據(jù)庫驅(qū)動集成到了vb中,這使得vb的數(shù)據(jù)庫編程能力大大提高。從vb4開始,vb也引入了面向?qū)ο蟮某?/p>
36、序設計思想。vb功能強大,學習簡單。而且,vb還引入了“控件:的概念,使得大量已經(jīng)編好的vb程序可以被我們直接拿來使用,如今,vb已經(jīng)有了6.0版,也就是此教師評測系統(tǒng)開發(fā)使用的版本。通過幾年的發(fā)展,它已成為一種真正的專業(yè)化的開發(fā)語言和環(huán)境。用戶認為可用visual basic快速創(chuàng)建windows程序,在現(xiàn)在還可以編寫企業(yè)水平的客戶服務器程序及強大的數(shù)據(jù)庫應用程序,visual basic新版中還有更多可用新功能。3.4 visual basic常用術語解釋在以下討論visual basic時,經(jīng)??梢月牭竭@些術語,因此首先對這些術語進行理解,以下是visual basic中最常用到的幾個術
37、語:控件提供程序可見界面的可重用對象??丶氖纠形谋究颉撕灪兔畎粹o。事件由用戶或操作系統(tǒng)引發(fā)的動作。事件的示例有擊鍵、單擊鼠標、一段時間的限制,或從端口接收數(shù)據(jù)。方法嵌入在對象定義中的程序代碼,它定義對象怎樣處理信息并響應某事件。例如,數(shù)據(jù)庫對象有打開紀錄集并從一個記錄移動到另一個記錄的方法。 對象程序的基本元素,它含有定義其特征的屬性,定義其任務和識別它可以響應的事件的方法??丶痛绑w是visual basic中所有對象的示例。 過程為完成任務而編寫的代碼段。過程通常用于響應特定的事件。 屬性對象的特征,如尺寸、位置、顏色或文本。屬性決定對象的外觀,有時也決定對象的行為。屬性也用于為對
38、象提供數(shù)據(jù)和從對象取回信息。3.5 visual basic的特點vb的重要特點之一是可視性。系統(tǒng)引進了窗體和控件的機制,用于設計應用程序界面。用戶通過在屏幕上生成窗體,在窗體中繪制所需要的控件和按鈕,設計菜單和對話框,vb會自動生成相應的代碼。vb的另一重要特點是事件驅(qū)動。當窗體或控件上發(fā)生一個事件時,vb立即把控制權交給程序員。程序員不必擔心如何判斷事件是否已發(fā)生,只需要編寫一段代碼告訴計算機在事件發(fā)生以后應該做什么工作就可以了。這樣,設計一個windows應用程序簡化為用鼠標在屏幕上點擊、拖拽并添加少量的代碼就可以完成了,大大降低了對程序設計的要求,提高了應用程序的開發(fā)效率。利用vb的可
39、視性特點,可方便的設計了程序的窗體界面,并在各個窗體中的合適位置繪制所需的每種控件。如要修改窗體或控件的某項屬性,只需在相應的窗體或控件的屬性窗口修改相應的參數(shù)便可達到需要的設計效果。利用vb的事件驅(qū)動性特點,只需在窗體或控件上的代碼窗口中添加少量的代碼,便可達到告訴當在相應的窗體或控件上發(fā)生某一事件時,它們在事件發(fā)生后應該做什么工作的目的。例如幾個窗體上的添加、刪除、返回按鈕的作用,就是通過在各個相應按鈕的代碼窗口中輸入相應的代碼,來達到當在幾個按鈕上出現(xiàn)單擊(click)事件后,相應按鈕實現(xiàn)添加、刪除、返回的功能的。第四章 使用visual basic開發(fā)排課系統(tǒng)4.1開發(fā)使用的過程模型在
40、開發(fā)此套系統(tǒng)之前,首先要按照軟件工程的方法確定所使用的開發(fā)模型,利用軟件工程的相關知識,確定采用的過程模型是快速原型??焖僭褪抢迷洼o助軟件開發(fā)的一種新思想。經(jīng)過簡單快速分析,快速實現(xiàn)一個原型,用戶與開發(fā)者在試用原型過程中加強通信與反饋,通過反復評價和改進原型,減少誤解,彌補漏洞,適應變化,最終提高軟件質(zhì)量。 由于種種原因,在需求分析階段得到完全、一致、準確、合理的需求說明是很困難的,在獲得一組基本需求說明后,就快速地使其“實現(xiàn)”,通過原型反饋,加深對系統(tǒng)的理解,并滿足用戶基本要求,使用戶在試用過程中受到啟發(fā),對需求說明進行補充和精確化,消除不協(xié)調(diào)的系統(tǒng)需求,逐步確定各種需求,從而獲得合理
41、、協(xié)調(diào)一致、無歧義的、完整的、現(xiàn)實可行的需求說明。又把快速原型思想用到軟件開發(fā)的其他階段,向軟件開發(fā)的全過程擴展。即先用相對少的成本,較短的周期開發(fā)一個簡單的、但可以運行的系統(tǒng)原型向用戶演示或讓用戶試用,以便及早澄清并檢驗一些主要設計策略,在此基礎上再開發(fā)實際的軟件系統(tǒng)??焖僭偷谋硎緢D如下: 原型表示圖4.2后臺數(shù)據(jù)庫的建立利用數(shù)據(jù)庫原理相關知識,對數(shù)據(jù)庫設計和每個模塊、每個界面的具體設計。此系統(tǒng)采用的數(shù)據(jù)庫軟件是microsoft access。access 5個方面的優(yōu)勢:activex數(shù)據(jù)對象(ado)、增強的sql server互操作性、visual basic for applic
42、ation(vba)和打包方面的改進、microsoft jet引擎的改進以及增強的web互操作性。activex數(shù)據(jù)對象 ado替代了以前數(shù)據(jù)訪問對象(dao)所執(zhí)行的幾乎所有的數(shù)據(jù)訪問功能。access 2000是通過了三個庫來提供ado功能的:adodb、adox和jro。 activex data objects 2.1(adodb)庫提供了核心的數(shù)據(jù)訪問處理功能。主要的adodb 對象包括connection、recordset和command對象??梢允褂眠@些對象及其屬性和方法來連接和操作數(shù)據(jù)源。connection對象提供了與新的oledb提供者技術的接口,是微軟統(tǒng)一數(shù)據(jù)訪問(u
43、da)結(jié)構(gòu)的關鍵技術。uda可以高性能地訪問企業(yè)間多種平臺上的各種數(shù)據(jù)格式(包括關系的和非關系的)。uda便于集成化地處理傳統(tǒng)的數(shù)據(jù)源(如jet和sql se rver數(shù)據(jù)源)和非傳統(tǒng)的數(shù)據(jù)源(如電子郵件、文件目錄和視頻)。uda對當今標準的數(shù)據(jù)接口(如開放數(shù)據(jù)庫互聯(lián)odbc、遠程數(shù)據(jù)對象rdo和dao)作了進一步的改進。 microsoft ado extensions 2.1 for ddl and security(adox)庫提供了一種對數(shù)據(jù)定義和用戶安全性的基于對象訪問的方法。它提供了傳統(tǒng)的jet的用戶級集合:users和gr oups,將數(shù)據(jù)庫文件中的權限與工作組信息文件中user
44、s和groups集合中的成員聯(lián)系起來。adox模型用tables、columns、indexes、keys、views和procedures等對象對數(shù)據(jù)定義的復雜的任務進行處理??梢杂眠@些對象動態(tài)地定義新表、索引以及表之間的關系,也可以根據(jù)表定義查詢。 microsoft jet and replication objects 2.1 (jro)庫的主要功能是通過ado接口提供jet引擎的同步復制服務。這個新的ado模型允許用戶充分利用所有可編程的jet數(shù)據(jù)庫同步復制的新特征,而且該模型還包括jet引擎的功能,如壓縮數(shù)據(jù)庫和刷新高速緩存。增強的sql server互操作性 利用access20
45、00,用戶可以像處理microsoft jet數(shù)據(jù)庫那樣容易地處理企業(yè)級數(shù)據(jù)庫。 ado的連接性是其原因之一。然而,利用新的access工程,可以更緊密地與sql server 6.5和sql server 7集成。這個新的文件類型(.adp)操作sql server和微軟數(shù)據(jù)引擎( msde)的方式與.mdb文件便于處理jet數(shù)據(jù)庫的方式非常一致。msde是植入于sql serve r 7模型中的新數(shù)據(jù)庫引擎,它是適用于小型工作組解決方案的、是對傳統(tǒng)的jet數(shù)據(jù)庫引擎的補充。你可以用jet或msde來開放解決方案。 access工程在熟悉的數(shù)據(jù)庫容器框架中明確地展示視圖和(存儲)過程。采用簡
46、潔的、與jet數(shù)據(jù)庫相同的圖形化,你可以立即連接到遠程sql server數(shù)據(jù)庫,也可以用acces s的窗體和報表來使用sql server的數(shù)據(jù)(與處理jet數(shù)據(jù)的方式相同)。你也具有與sql server和其他后端數(shù)據(jù)源的無縫ole db的互操作性。使用ado的connect ion對象和ole db提供者,你可以連接到遠程數(shù)據(jù)源,并能在自定義的應用程序中通過程序引用它們。vba和打包的增強 access繼續(xù)保持了與其他office中的vba的一致性。access 2000引入了visual basic e ditor(vbe),它與microsoft word、excel和powerp
47、oint中的vbe具有相同的用戶界面??梢灾苯訉⒆约旱拇a管理和開放技巧轉(zhuǎn)移到這些軟件包中,從而豐富非access應用程序的數(shù)據(jù)訪問功能。 office 2000開發(fā)人員版改進了打包和分發(fā)選項。例如,你可以分發(fā)含有msde解決方案和依賴于與sql server類似的數(shù)據(jù)庫的解決方案。你可以從圖形界面和編程接口中獲得大量的視圖和過程。如果應用程序可能發(fā)展到需要成熟的sql server數(shù)據(jù)庫的能力,這一點尤其重要。新的分發(fā)選項允許你通過internet來分發(fā)解決方案的自定義安裝軟件包,從而能極大地擴展你的客戶范圍。潛在的客戶可以擴展到世界上通過internet連接的任何人。jet引擎的改進 ac
48、cess 2000封裝了4.0版的jet數(shù)據(jù)庫引擎。該引擎在若干方面作了改進。特別吸引人的是能夠進行行級(row-level)頁面鎖定。引入行級鎖定的一個原因是能夠使unicode支持文本字符。現(xiàn)在,你可以在多語言應用程序中用不同的語言表示文本。新的基于文本的字段將每個字符的空間需求從1字節(jié)擴大到2字節(jié),頁面大小從2字節(jié)擴大到4kb。由于頁面大小已經(jīng)增大,微軟采用了行級鎖定,以便減少多用戶應用程序中同一頁面的并發(fā)鎖定的可能性。數(shù)據(jù)庫的同步復制也在幾個方面得到了增強。一個增強是可以使用列級同步復制。在以前的jet版本中,只在行一級偵探?jīng)_突,所以即使用戶改變同一記錄的不同字段,也會產(chǎn)生同步?jīng)_突。列
49、級同步復制消除了上述沖突,因而提高了性能。access 2000也引入了在 jet和sql服務器之間的雙向同步復制,以前的版本只允許從sql server到jet的單向同步復制。另一個值得贊賞的改進是可以用程序來改變自動編號字段的值。在創(chuàng)建表時,你可以設置自動編號字段的初始值和步長值。也可以改變表中下一條記錄的這些值。在access工程中,你可以在表的設計視圖中設置自動編號字段,也可以在創(chuàng)建表之后修改這些值。 jet也提供了對視圖和過程的sql級訪問。jet sql的改進允許你創(chuàng)建和改變兩種類型的數(shù)據(jù)庫對象模型。增強的web互操作性 access 2000最重要的新特征之一是數(shù)據(jù)訪問頁。數(shù)據(jù)訪
50、問也就像是web上的access窗體和報表。你可以設計直接與jet或sql server數(shù)據(jù)源綁定的web頁。對于像窗體一樣的頁面,用戶可以從頁面中以圖形方式編輯、增加和刪除記錄。你可以使用設計工具,用程序控制這些特征及排序和篩選能力。雖然這些頁面不能使用子窗體,但是你可以創(chuàng)建分組的數(shù)據(jù)訪問頁,根據(jù)用戶的輸入有條件地進行擴展。數(shù)據(jù)訪問頁也可以作為新的office 2000 web組件的服務器,office 2000 web組件可以用于創(chuàng)建包含交互式電子數(shù)據(jù)表、動態(tài)圖表和數(shù)據(jù)透視表的頁面。也可以將電子數(shù)據(jù)表和圖表web組件與顯示在分組和未分組數(shù)據(jù)訪問頁中的數(shù)據(jù)組合在一起。這意味著你可以展示隨著記
51、錄移動而動態(tài)變化的計算值和圖表。含有數(shù)據(jù)透視表的數(shù)據(jù)訪問頁不能與頁面上的其他數(shù)據(jù)源進行交互,但它們提供了excel風格的透視為不同的視圖圖形化地移動數(shù)據(jù)的不同部分。另外,數(shù)據(jù)透視表還可以用于分析多種數(shù)據(jù),包括sql server 、jet和在線分析處理(olap)數(shù)據(jù)源。進行數(shù)據(jù)的分析設計后,應該用access建立17張表。各表結(jié)構(gòu)信息具體見如下表1表8。字段名稱數(shù)據(jù)類型說明學號文本學生學號姓名文本學生姓名表1學生信息表字段名稱數(shù)據(jù)類型說明user_name文本學生學號password文本學生姓名表2 用戶表字段名稱數(shù)據(jù)類型說明number文本習題題目編號chapter文本章節(jié)level文本難
52、度系數(shù)value文本分值point文本考點contentole題目內(nèi)容answerole答案picole題圖questionfile文本問題文件answerfile文本回答文件picturefile文本圖片文件表3計算題表(results)字段名稱數(shù)據(jù)類型說明number文本習題題目編號chapter文本章節(jié)level文本難度系數(shù)value文本分值point文本考點contentole題目內(nèi)容answerole答案picole題圖表4 計算題繼教考題表字段名稱數(shù)據(jù)類型說明number文本習題題目編號chapter文本章節(jié)level文本難度系數(shù)value文本分值point文本考點contento
53、le題目內(nèi)容answerole答案picole題圖表5 計算題例題表字段名稱數(shù)據(jù)類型說明number文本習題題目編號chapter文本章節(jié)level文本難度系數(shù)value文本分值point文本考點contentole題目內(nèi)容answerole答案picole題圖表6計算題習題表字段名稱數(shù)據(jù)類型說明number文本習題題目編號chapter文本章節(jié)value文本分值contentole題目內(nèi)容answerole答案questionfile文本問題文件answerfile文本回答文件表7填空題表字段名稱數(shù)據(jù)類型說明number文本習題題目編號chapter文本章節(jié)value文本分值contento
54、le題目內(nèi)容answerole答案questionfile文本問題文件answerfile文本回答文件表8問答題表字段名稱數(shù)據(jù)類型說明number文本漢譯英題目編號value文本單詞個數(shù)contentole題目內(nèi)容answerole答案表9問答題漢譯英4.2 系統(tǒng)模塊圖本應用程序由6個窗體組成,主要的分別是:登陸窗體,軟件信息窗體,主窗體,添加題目窗體,試卷窗體,學生信息窗體組成。4.3 功能實現(xiàn)4.3.1 登陸運行試卷生成系統(tǒng),首先進入的是登陸窗體:如圖4.1圖4.1部分關鍵代碼解釋如下:判斷密碼正確與否 private sub cmdok_click() on error resume next 判斷密碼正確與否 if passwordistrue(me.combo1.text, me.txtpassword.text) then user = me.combo1.text unload me frmmain.show else msgbox 密碼錯誤,請重新輸入!, , 密碼錯誤 txtpassword.text = txtpassword.setfocus exit sub end if end sub4.3.2 主窗體界面登
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西方政治制度的倫理基礎試題及答案
- 軟考網(wǎng)絡工程師復習試題與2025年答案
- 機電工程中的流體力學應用試題及答案
- 政治體制對社會行為的影響試題及答案
- 機電工程環(huán)境因素對項目的影響試題及答案
- 人力資源管理改革對企業(yè)制度的影響
- 未來網(wǎng)絡技術的挑戰(zhàn)與試題及答案
- 權利與責任的關系試題及答案
- 西方國家與國際法的關系研究試題及答案
- 機電工程工業(yè)互聯(lián)網(wǎng)應用試題及答案
- 2025年航空知識競賽必考題庫及答案(共60題)
- 金融專業(yè)畢業(yè)論文范文
- 2020-2025年中國果蔬保鮮行業(yè)投資潛力分析及行業(yè)發(fā)展趨勢報告
- TSG21-2025固定式壓力容器安全技術(送審稿)
- DB2107-T 0011-2023 多旋翼無人機道路巡查疏導作業(yè)規(guī)范
- LY/T 3398-2024草原等級評定技術規(guī)程
- 廣西河池市(2024年-2025年小學六年級語文)部編版期中考試(下學期)試卷及答案
- 2025年日歷(日程安排-可直接打印)
- 【MOOC】心理學-華南師范大學 中國大學慕課MOOC答案
- 針灸治療之蛇串瘡課件
- 介紹圓明園課件
評論
0/150
提交評論