




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)生檔案管理系統(tǒng)專業(yè)班級(jí): 計(jì)算機(jī)網(wǎng)絡(luò)大專班 姓 名: 學(xué) 號(hào): 指導(dǎo)教師: 年 月 日目 錄摘要前言第一章 概述11 開(kāi)發(fā)背景 12 開(kāi)發(fā)環(huán)境第二章 系統(tǒng)分析和設(shè)計(jì)21 總體模塊劃分22各個(gè)模塊的功能23 數(shù)據(jù)庫(kù)設(shè)計(jì)第三章 系統(tǒng)實(shí)現(xiàn)31 登陸系統(tǒng)32 班級(jí)設(shè)置33學(xué)生基礎(chǔ)信息設(shè)置34學(xué)生評(píng)語(yǔ)35學(xué)生獎(jiǎng)懲記錄36學(xué)生換班處理37 學(xué)生退學(xué)處理38 學(xué)生復(fù)學(xué)處理第四章 總結(jié)第五章 參考文獻(xiàn)附錄1 源代碼【摘 要】無(wú)論學(xué)校大小,每個(gè)學(xué)校手里總是會(huì)有很多很多
2、的學(xué)生檔案,而且隨著一年一年的累積,學(xué)校規(guī)模的逐漸擴(kuò)大,學(xué)生檔案也越來(lái)越多?,F(xiàn)在隨著中國(guó)加入了WTO,很多的企業(yè)為了能夠加強(qiáng)自己的競(jìng)爭(zhēng)力,都不約而同的在工作效率和管理的規(guī)范性方面下功夫?,F(xiàn)在計(jì)算機(jī)化管理已經(jīng)不知不覺(jué)中滲透到了各行各業(yè),并且提高了這些行業(yè)的效率。學(xué)校雖然不算是一個(gè)純粹的企業(yè),但是學(xué)校的管理一樣需要信息化,而且現(xiàn)在的學(xué)校逐漸的往大規(guī)模的方向發(fā)展,信息化對(duì)于學(xué)校就顯的更加的重要了。以前的手工管理,已經(jīng)越來(lái)越不適應(yīng)學(xué)校的發(fā)展要求了。針對(duì)這種情況下,我就用visual basic6.0設(shè)計(jì)了這么一個(gè)簡(jiǎn)單的學(xué)生檔案管理系統(tǒng)。 【關(guān)鍵詞】 學(xué)生檔案、visual basic6.0、設(shè)計(jì)【 S
3、ummary 】Regardless the size of the school, always there will be very a lot of student's files in each hand of school, and along with a year, a year of accumulation, the gradual extension of the scale of the school, student's to be learn more many.Joined the WTO along with China now, a lot of
4、 business enterprise for hungry can strengthen own competition ability, all without previous arrangement of put forth effort in the norm of the work efficiency and management.Now the calculator turn the management to have already seeped through the every trade imperceptibly, and raise the efficiency
5、 of these professions.Although the school don't be regarded as a pure business enterprise, the similar demand of the management of the school is information-based, and the school of now is gradual toward the large-scale direction to develop, information-based importance that show to the school m
6、ore.The handicraft management of the past, have already adapted the development of the school to request less and less.Aim at under this kind of circumstance, I designed the such a simple student with the visual basic6.0 the system. 【 Keyword 】 student's file, visual basic6.0, design前 言學(xué)生做為學(xué)校的最主
7、要的管理對(duì)象,學(xué)生檔案管理系統(tǒng)就成了學(xué)校信息化管理系統(tǒng)中不可缺少的部分,它的內(nèi)容對(duì)于學(xué)校的管理者說(shuō)都至關(guān)重要。但一直以來(lái)人們使用傳統(tǒng)人工的方式進(jìn)行學(xué)生的檔案管理,這種管理方式存在著許多缺點(diǎn),如:效率低,容易出錯(cuò),格式不規(guī)范。另外時(shí)間一長(zhǎng),不容易進(jìn)行統(tǒng)計(jì)和分析。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)學(xué)生檔案進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)校學(xué)生檔案管理的效率。因此,開(kāi)發(fā)這樣一套管
8、理軟件成為很有必要的事情。而且只要軟件的設(shè)計(jì)合理,可以為 學(xué)校提供合理的管理模式。本次畢業(yè)設(shè)計(jì),由于時(shí)間倉(cāng)促,經(jīng)驗(yàn)不足,針對(duì)的學(xué)生檔案管理可能比較的簡(jiǎn)單。雖然比較的簡(jiǎn)單,但是涉及的東西也是比較的多的,只不過(guò)進(jìn)行了部分的簡(jiǎn)化,在現(xiàn)實(shí)中還有有其使用價(jià)值的。第一章 概述11 開(kāi)發(fā)背景現(xiàn)在的社會(huì)日新月異,發(fā)展的非常的快。學(xué)校的發(fā)展也是非常的快了,而且每年都有不同的要求。學(xué)生的檔案量也非常的大,資料可能經(jīng)常性的發(fā)生更換,原來(lái)手工的管理模式就顯的不怎么的合適了。而且手工的數(shù)據(jù)是存放在多處的,沒(méi)有使用統(tǒng)一管理的模式,數(shù)據(jù)整理非常的麻煩,統(tǒng)計(jì)也困難,很多的情況下,老師都是在重復(fù)一些相同的
9、工作。做一些相似的報(bào)表,這樣不但降低了工作效率,而且非常的容易出錯(cuò)。在這種條件下,使用微機(jī)管理就顯的非常的合適了。只要你正確的錄入,統(tǒng)計(jì),報(bào)表輸出一點(diǎn)問(wèn)題都沒(méi)有的。于是我開(kāi)始設(shè)計(jì)學(xué)生檔案管理系統(tǒng)。12 開(kāi)發(fā)環(huán)境1、 系統(tǒng)運(yùn)行環(huán)境在操作系統(tǒng)方面,雖然現(xiàn)在Linux的發(fā)展速度非常的快,但是對(duì)于大多數(shù)的使用者來(lái)說(shuō),操作顯然沒(méi)有微軟的WINDOWSNA那么的流行和傻瓜化。而且現(xiàn)在計(jì)算機(jī)的運(yùn)算速度已經(jīng)不能和以前相提并論了,而且硬件的價(jià)格也一天天的在下降了,所以也不用為了節(jié)省整體的造價(jià)而改用硬件要求很低的DOS系統(tǒng)了。所以我決定該學(xué)生檔案管理系統(tǒng)將運(yùn)行在Wind
10、ows系統(tǒng)下面。2、 開(kāi)發(fā)工具在確定了操作系統(tǒng)后,就該選擇開(kāi)發(fā)工具了。經(jīng)過(guò)了綜合的比較而且最重要的是本人在學(xué)校期間學(xué)習(xí)的就是Visual Basic。這個(gè)是個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng),所以我們必須得選一個(gè)合適的數(shù)據(jù)庫(kù)??紤]到我這個(gè)系統(tǒng)針對(duì)的用戶,已經(jīng)價(jià)格方面的考慮,完全可以使用Access來(lái)進(jìn)行開(kāi)發(fā),而且我在使用Visual Basic的時(shí)候,操作數(shù)據(jù)庫(kù)方面使用的是微軟提供的數(shù)據(jù)訪問(wèn)接口,先我們來(lái)了介紹一下Visual Basic以及微軟提供了哪些數(shù)據(jù)庫(kù)訪問(wèn)方法,并且各自都有什么特點(diǎn)。 Visual Basic的簡(jiǎn)介首先,我們還從Visual Basic這個(gè)名字開(kāi)始,來(lái)認(rèn)識(shí)這個(gè)軟件。所謂“Visual”
11、指的是開(kāi)發(fā)圖形用戶界面 (GUI) 的方法。它不需編寫(xiě)大量的代碼去描述界面元素的外觀和位置,而只要把預(yù)先建立的對(duì)象添加到屏幕上的某一位置即可。如果已使用過(guò)諸如 Paint 之類的繪圖程序,則實(shí)際上已掌握了創(chuàng)建用戶界面的必要技巧?!癇asic”指的是 BASIC (Beginners All-Purpose Symbolist Instruction Code) 語(yǔ)言,一種在計(jì)算技術(shù)發(fā)展歷史上應(yīng)用得最為廣泛的編程語(yǔ)言。Visual Basic 在原有 BASIC 語(yǔ)言的基礎(chǔ)上進(jìn)一步發(fā)展,至今包含了數(shù)百條語(yǔ)句、函數(shù)及關(guān)鍵詞,其中很多和 Windows GUI 有直接關(guān)系。專業(yè)人員可以用 Visua
12、l Basic 實(shí)現(xiàn)其它任何 Windows 編程語(yǔ)言的功能,而初學(xué)者只要掌握幾個(gè)關(guān)鍵詞就可以建立實(shí)用的應(yīng)用程序。Visual Basic 不僅是 Visual Basic 編程語(yǔ)言。Visual Basic 編程系統(tǒng)和 VBA 都使用這一語(yǔ)言。Visual Basic Scripting Edition (VBScript) 是廣泛使用的腳本語(yǔ)言,它是 Visual Basic 語(yǔ)言的子集。這樣,在學(xué)習(xí) Visual Basic 中得到的經(jīng)驗(yàn)可應(yīng)用到所有這些領(lǐng)域中。接著,我們?cè)購(gòu)腣isual Basic的發(fā)展歷史來(lái)進(jìn)一步地認(rèn)識(shí)一下它。Visual Basic的最初版本是Visual Basi
13、c1.0,那時(shí)的Visual Basic只是簡(jiǎn)單地以對(duì)象的屬性為中心來(lái)進(jìn)行編程。到了Visual Basic2.0時(shí),開(kāi)始正式地采用面向?qū)ο蠹夹g(shù),其有一個(gè)重要的新特性就是可擁有對(duì)象變量,并把Variant型變量作為缺省數(shù)據(jù)類型變量。沒(méi)過(guò)多久Visual Basic的下兩個(gè)版本Visual Basic3.0和Visual Basic4.0接踵而至,一種內(nèi)建的新的控件類型數(shù)據(jù)控件,能夠使創(chuàng)建一個(gè)與數(shù)據(jù)庫(kù)交互作用的應(yīng)用程序變得令人驚訝的容易。在微軟的其它應(yīng)用程序,如WORD字處理軟件、EXCEL電子報(bào)表軟件、ACCESS數(shù)據(jù)庫(kù)軟件中都做了改變,使得它們可以與Visual Basic一致工作。這種新技
14、術(shù)被稱作為Visual Basic For Applications,它幫助實(shí)現(xiàn)了Visual Basic的最初設(shè)想。理論上,人們總是能夠通過(guò)某種叫做動(dòng)態(tài)數(shù)據(jù)交換(DDE)的技術(shù)使視窗系統(tǒng)應(yīng)用程序彼此交互。但那樣既慢而且又麻煩。Visual Basic的完美之處在于它能使程序員獲得一塊數(shù)據(jù)如報(bào)表,并將它看作是Visual Basic的對(duì)象。其目的就是要使視窗系統(tǒng)下的每一件事情都支持同樣的易于使用的高級(jí)語(yǔ)言。Visual Basic5.0出現(xiàn)以后,在某些方面有了重大的突破。它給予了程序員長(zhǎng)期期待的不用離開(kāi)Visual Basic環(huán)境,就可以創(chuàng)建新的定制控件類型和創(chuàng)建其它項(xiàng)目類型的能力。除了一般應(yīng)
15、用程序外,程序員還能創(chuàng)建文檔、DLLs、OLE服務(wù)器和ActiveX控件。當(dāng)Visual Basic逐漸復(fù)雜時(shí),世界已經(jīng)在圍著它轉(zhuǎn)了。項(xiàng)目類型的增加不是用來(lái)迷惑程序員,而是提供靈活性的。視窗系統(tǒng)已經(jīng)成為一個(gè)特別豐富的環(huán)境,可使應(yīng)用程序彼此交流和共享數(shù)據(jù)。我們現(xiàn)在所使用的Visual Basic6.0被看著是Visual Basic的網(wǎng)絡(luò)版本。可以看出它投入了相當(dāng)一部分的精力去支持微軟日益在Internet和分布式(網(wǎng)絡(luò))計(jì)算方面的重視程度。雖然它沒(méi)有象Visual Basic5.0所引起的那樣激動(dòng)人心,但它還是在某些方面做了一些有用的改進(jìn)。其最重要的一個(gè)改進(jìn)就是增加了ADO數(shù)據(jù)控件,它可以縮小
16、本地和遠(yuǎn)程數(shù)據(jù)控件之間的差別。換句話說(shuō),程序員在很大程度上可以與數(shù)據(jù)庫(kù)交互作用,而不用擔(dān)心網(wǎng)絡(luò)上由誰(shuí)來(lái)提供服務(wù)。最后,我們?cè)購(gòu)臄?shù)據(jù)庫(kù)編程方面來(lái)了解一下Visual Basic6.0。a.Visual Basic 數(shù)據(jù)庫(kù)的構(gòu)成Visual Basic 數(shù)據(jù)庫(kù)都是由用戶界面、數(shù)據(jù)庫(kù)引擎以及數(shù)據(jù)倉(cāng)庫(kù)三大部分構(gòu)成。用戶界面 包括用于與用戶交互的所有界面和代碼,如用戶完成查看、更新數(shù)據(jù)的窗體,以及增刪記錄或執(zhí)行查詢的代碼。即是用于請(qǐng)求數(shù)據(jù)庫(kù)服務(wù)的數(shù)據(jù)訪問(wèn)對(duì)象和方法,而不是對(duì)數(shù)據(jù)庫(kù)的實(shí)際操作。數(shù)據(jù)庫(kù)引擎 是一組動(dòng)態(tài)鏈接庫(kù)(DLL),用于結(jié)束應(yīng)用程序的請(qǐng)求并形成對(duì)數(shù)據(jù)倉(cāng)庫(kù)的實(shí)際物理操作;管理對(duì)數(shù)據(jù)庫(kù)的物理操
17、作;維護(hù)數(shù)據(jù)庫(kù)的完整和安全;處理結(jié)構(gòu)化查詢語(yǔ)言(SQL)的查詢,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的檢索、增刪、更改;管理查詢返回的結(jié)果。數(shù)據(jù)倉(cāng)庫(kù) 用于存放數(shù)據(jù),由若干個(gè)數(shù)據(jù)表文件組成。數(shù)據(jù)倉(cāng)庫(kù)僅僅只包含數(shù)據(jù),并不對(duì)數(shù)據(jù)進(jìn)行任何處理,對(duì)數(shù)據(jù)進(jìn)行操作均由數(shù)據(jù)引擎完成。由此可以看出,數(shù)據(jù)庫(kù)引擎是應(yīng)用程序與實(shí)際的物理數(shù)據(jù)庫(kù)之間的橋梁,應(yīng)用程序都是通過(guò)數(shù)據(jù)庫(kù)引擎來(lái)實(shí)現(xiàn)對(duì)物理數(shù)據(jù)庫(kù)中數(shù)據(jù)的存取等操作。用戶只需要了解所面對(duì)的數(shù)據(jù)庫(kù)接口,而不必關(guān)心所訪問(wèn)的數(shù)據(jù)庫(kù)本身的物理特性。b.Visual Basic 能夠訪問(wèn)的數(shù)據(jù)庫(kù)類型Visual Basic 能夠通過(guò)數(shù)據(jù)庫(kù)引擎訪問(wèn)內(nèi)部數(shù)據(jù)庫(kù)、外部數(shù)據(jù)庫(kù)、ODBC數(shù)據(jù)庫(kù)這三種類型的數(shù)據(jù)庫(kù)
18、。內(nèi)部數(shù)據(jù)庫(kù) 內(nèi)部數(shù)據(jù)庫(kù)又稱本地?cái)?shù)據(jù)庫(kù),使用Microsoft Access數(shù)據(jù)格式,由Microsoft Jet引擎直接創(chuàng)建操作,可以提供最大的靈活性和訪問(wèn)速度。外部數(shù)據(jù)庫(kù) Visual Basic中能夠創(chuàng)建操作所有的ISAM(索引順序訪問(wèn)方法),如FoxPro、dBASE、Microsoft Excel、Paradox以及順序文本文件等。ODBC數(shù)據(jù)庫(kù) Visual Basic 可以訪問(wèn)標(biāo)準(zhǔn)的客戶/服務(wù)器數(shù)據(jù)庫(kù),例如Microsoft SQL Server。可以使用ODBC Direct 直接將命令傳遞給服務(wù)器,從而創(chuàng)建客戶/服務(wù)器應(yīng)用程序。c.Visual Basic 訪問(wèn)數(shù)據(jù)庫(kù)的方案用
19、Visual Basic 訪問(wèn)數(shù)據(jù)庫(kù)有許多可供選擇的方案,用戶應(yīng)該根據(jù)自己現(xiàn)在及將來(lái)的需要決定采用何種數(shù)據(jù)庫(kù)方案。大多數(shù)應(yīng)用程序是用來(lái)訪問(wèn)以下這些數(shù)據(jù)的:ASCII文本文件、SQL數(shù)據(jù)庫(kù)以及大型數(shù)據(jù)庫(kù)。早期的Visual Basic數(shù)據(jù)訪問(wèn)工具只是簡(jiǎn)單的ASCII文件的訪問(wèn)工具,極少數(shù)SQL Server的前端應(yīng)用程序是使用鮮為人知的數(shù)據(jù)庫(kù)VBSQL編寫(xiě)的。早先在Visual Basic3.0盛行的時(shí)期許多程序需要訪問(wèn)包含遠(yuǎn)程數(shù)據(jù)源的ISAM數(shù)據(jù),為此Microsoft 設(shè)計(jì)了Microsoft Jet Database Engine(Jet數(shù)據(jù)庫(kù)引擎)和Data Access Objects
20、(DAO),使得Visual Basic的開(kāi)發(fā)人員很容易地實(shí)現(xiàn)與Microsoft Jet接口。而后針對(duì)用戶的需求Visual Basic中逐漸包含了更快的訪問(wèn)遠(yuǎn)程數(shù)據(jù)和對(duì)ODBC數(shù)據(jù)源訪問(wèn)的優(yōu)化。經(jīng)過(guò)數(shù)年,ODBC技術(shù)已成為訪問(wèn)遠(yuǎn)程數(shù)據(jù)的主要方法,而Microsoft Jet 和ISAM數(shù)據(jù)接口的首選方案。Visual Basic訪問(wèn)數(shù)據(jù)需要通過(guò)接口方法來(lái)實(shí)現(xiàn),數(shù)據(jù)訪問(wèn)接口方法中一部分是簡(jiǎn)單的應(yīng)用程序接口界面,但大部分是組件對(duì)象模型界面(Component Object Model)。表2-1列出Visual Basic中的數(shù)據(jù)訪問(wèn)接口方法:接口界面訪問(wèn)對(duì)象VB SQL通過(guò)DB-Librar
21、y訪問(wèn)Microsoft SQL ServerDAO/Jet本地的Jet/Access.mdb、順序索引數(shù)據(jù)庫(kù)(ISAM)和任何ODBC數(shù)據(jù)源DAO/ODBC Direct任何一種ODBC數(shù)據(jù)源RDO任何一種ODBC(32位)ADO任何一種ODBC數(shù)據(jù)源和任何經(jīng)過(guò)OLE DB界面接口的數(shù)據(jù)源表2- 1 Visual Basic中的數(shù)據(jù)訪問(wèn)接口方法Microsoft提出一種新的數(shù)據(jù)庫(kù)訪問(wèn)策略,即“統(tǒng)一數(shù)據(jù)訪問(wèn)”(Universal Data Access)的策略?!敖y(tǒng)一數(shù)據(jù)訪問(wèn)”提供了高性能的存取包括關(guān)系型和非關(guān)系型在內(nèi)的多種數(shù)據(jù)源,提供獨(dú)立于開(kāi)發(fā)工具和開(kāi)發(fā)語(yǔ)言的簡(jiǎn)單的編程接口,這些技術(shù)使得企業(yè)
22、集成多種數(shù)據(jù)源、選擇更好的開(kāi)發(fā)工具、應(yīng)用軟件、操作平臺(tái)、建立容易維護(hù)的解決方案成為可能。實(shí)現(xiàn)“統(tǒng)一數(shù)據(jù)訪問(wèn)”的基礎(chǔ)是Microsoft的數(shù)據(jù)訪問(wèn)組件。這些組件包括ActiveX Data Objects(ADO)、Remote Data Service(RDS,又稱“高級(jí)數(shù)據(jù)連接器”ADC)、OLE DB和ODBC。表2-2列出數(shù)據(jù)訪問(wèn)接口的類型:數(shù)據(jù)訪問(wèn)接口功能ADC(Advanced Data Connector)高級(jí)數(shù)據(jù)連接器。ADC主要是一種直接訪問(wèn)或者通過(guò) ADO訪問(wèn)遠(yuǎn)程O(píng)LE DB對(duì)象的一種技術(shù),它也支持主要應(yīng)用在IE瀏覽器上的數(shù)據(jù)綁定控件。ADC是專門(mén)為Web上瀏覽器為基礎(chǔ)的應(yīng)用
23、程序而設(shè)計(jì)的。DAO(Data Access Objects)數(shù)據(jù)訪問(wèn)對(duì)象。DAO是一種面向?qū)ο蟮慕缑娼涌?。通過(guò)DAO/Jet功能可以訪問(wèn)ISAM數(shù)據(jù)庫(kù),使用DAO/ODBC Direct功能可以實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)。DAO模型是設(shè)計(jì)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)的對(duì)象類的集合。ADO(ActiveX Data Objects)Active數(shù)據(jù)對(duì)象。ADO設(shè)計(jì)為一種極為簡(jiǎn)單的格式,通過(guò)ODBC的方法同數(shù)據(jù)庫(kù)接口??梢杂萌魏我环NODBC數(shù)據(jù)源,如:SQL Server、Oracle、Access、Excel、文本文件、圖形文件和無(wú)格式的數(shù)據(jù)文件。Jet(Joint Engine Technology)數(shù)據(jù)連接引擎技
24、術(shù)。是一種基于工作站通過(guò)DAO的數(shù)據(jù)庫(kù)訪問(wèn) 機(jī)制。雖然可以通過(guò)Access提供的ODBC驅(qū)動(dòng)程序訪問(wèn)Jet數(shù)據(jù)庫(kù),但使用這些驅(qū)動(dòng)程序在功能上有所限制ODBC(Open Database Connectivity)開(kāi)放式數(shù)據(jù)庫(kù)連接。這是一種公認(rèn)的關(guān)系數(shù)據(jù)源的接口界面。ODBC的訪問(wèn)速度快并且提供統(tǒng)一接口的界面。OLE DB這一種底層的數(shù)據(jù)訪問(wèn)界面接口。是用于第三方驅(qū)動(dòng)程序商家開(kāi)發(fā)輸出數(shù)據(jù)源到ADO技術(shù)的應(yīng)用程序或用于C+的開(kāi)發(fā)者開(kāi)發(fā)定制的數(shù)據(jù)庫(kù)組件。OLE DB不能被Visual Basic直接調(diào)用。RDC(Remote Data Control)遠(yuǎn)程數(shù)據(jù)訪問(wèn)控件。是一種對(duì)RDO數(shù)據(jù)綁定的控件。
25、可以輸出特定的結(jié)果集到數(shù)據(jù)源控件。RDO(Remote Data Objects)遠(yuǎn)程數(shù)據(jù)對(duì)象。遠(yuǎn)程數(shù)據(jù)對(duì)象和集合為使用代碼來(lái)創(chuàng)建和操作一個(gè)遠(yuǎn)程O(píng)DBC數(shù)據(jù)庫(kù)系統(tǒng)的各個(gè)部件提供了一個(gè)框架。RDO是ODBC API的一個(gè)淺層的界面接口,是專為訪問(wèn)遠(yuǎn)程O(píng)DBC關(guān)系數(shù)據(jù)源而設(shè)計(jì)的。VBSQL是Visual Basic結(jié)構(gòu)化查詢語(yǔ)言。是一種基于API的接口方法,幾乎與C的DB-Library API相同。VBSQL只支持SQL Server。結(jié)構(gòu)簡(jiǎn)單而且速度快但不支持對(duì)象界面。表2- 2 Visual Basic數(shù)據(jù)訪問(wèn)接口的類型此外,Visual Basic在數(shù)據(jù)開(kāi)發(fā)方面提供了十分強(qiáng)大的功能。有自帶
26、的數(shù)據(jù)管理器(Data Manager)、數(shù)據(jù)控件(Data Control)及數(shù)據(jù)訪問(wèn)對(duì)象(DAO)等一系列功能強(qiáng)大的工具來(lái)協(xié)助管理人員輕松地進(jìn)行與數(shù)據(jù)庫(kù)的連接和管理。在這么多的訪問(wèn)接口里面微軟對(duì)于ADO非常的推崇,并且下一代的數(shù)據(jù)訪問(wèn)技術(shù)也將是采取這樣的思路,而且本身來(lái)說(shuō)ADO模型簡(jiǎn)單,但是功能強(qiáng)大,使實(shí)現(xiàn)人員無(wú)須關(guān)心一些底層的操作,而把更多的經(jīng)歷放在業(yè)務(wù)邏輯的設(shè)計(jì)上面。綜上所述,我選擇了Visual Basic+ADO+ACCESS來(lái)開(kāi)發(fā)整個(gè)系統(tǒng)。第二章 系統(tǒng)分析和設(shè)計(jì)2.1系統(tǒng)業(yè)務(wù)流程圖詳細(xì)調(diào)查的重點(diǎn)是對(duì)管理業(yè)務(wù)的流程進(jìn)行描述,通過(guò)采用系統(tǒng)流程圖中部分圖形工具來(lái)描述管理活動(dòng),進(jìn)行規(guī)范化
27、說(shuō)明。業(yè)務(wù)流程圖的符號(hào)說(shuō)明如圖21所示:1、 2、 3、 4、 5、系統(tǒng)中人員 實(shí)體或單據(jù) 實(shí)物或信息流 處理 數(shù)據(jù)存儲(chǔ)圖21 業(yè)務(wù)流程圖圖例每學(xué)年9月份各班學(xué)生名單各班學(xué)生名單(空白,供填寫(xiě)學(xué)生成績(jī))學(xué)生檔案處理報(bào)表教導(dǎo)處存檔校領(lǐng)導(dǎo)各班主任各年級(jí)主任各班學(xué)生名單微機(jī)室教導(dǎo)處轉(zhuǎn)退復(fù)留學(xué)生名單錄入有關(guān)信息打印各班名單學(xué)生檔案處理學(xué)生檔案處理報(bào)表學(xué)生檔案處理報(bào)表年級(jí)主任詳細(xì)調(diào)查之后,繪制出的學(xué)生檔案管理系統(tǒng)的管理業(yè)務(wù)流程圖如圖22所示。 圖22 學(xué)生檔案管理系統(tǒng)業(yè)務(wù)流程圖2.2系統(tǒng)邏輯模型的提出系統(tǒng)分析的主要成果是系統(tǒng)的邏輯模型。本系統(tǒng)的邏輯模型主要是以系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典為主要描述工具。即在
28、對(duì)學(xué)生成績(jī)管理方式和業(yè)務(wù)流程進(jìn)行認(rèn)真分析和研究的基礎(chǔ)上,排除現(xiàn)有組織機(jī)構(gòu)和業(yè)務(wù)分工所造成的信息障礙。完全從業(yè)務(wù)管理功能和管理對(duì)象出發(fā),按照信息系統(tǒng)中應(yīng)有的數(shù)據(jù)流和數(shù)據(jù)結(jié)構(gòu)來(lái)勾畫(huà)系統(tǒng)的概貌。2.2.1數(shù)據(jù)流圖(簡(jiǎn)稱為DFD)數(shù)據(jù)流圖是組織中信息運(yùn)動(dòng)的抽象。是在調(diào)研的基礎(chǔ)上,從系統(tǒng)的科學(xué)性、管理的合理性、實(shí)際運(yùn)動(dòng)的可行性角度出發(fā)。將信息處理功能和彼此之間的聯(lián)系自頂向下,逐層分解,從邏輯上精確地描述系統(tǒng)應(yīng)具有的數(shù)據(jù)加工功能、數(shù)據(jù)輸入、數(shù)據(jù)輸出、數(shù)據(jù)存儲(chǔ)及數(shù)據(jù)來(lái)源和去向(外部實(shí)體)等項(xiàng)目。首先,分析學(xué)生檔案管理的總體情況,劃分系統(tǒng)邊界,識(shí)別系統(tǒng)的數(shù)據(jù)來(lái)源和去處,確定外部實(shí)體,得出系統(tǒng)的頂層數(shù)據(jù)流程圖;
29、然后劃分出幾個(gè)主要的信息管理功能,并明確各功能之間的聯(lián)系,繪制出數(shù)據(jù)流程圖。數(shù)據(jù)流程圖的符號(hào)說(shuō)明如圖23所示。學(xué)生檔案管理系統(tǒng)的頂層數(shù)據(jù)流程圖如圖24所示。學(xué)生檔案管理系統(tǒng)的數(shù)據(jù)流程圖如圖25所示 外部實(shí)體 處理 數(shù)據(jù)流 數(shù)據(jù)存儲(chǔ) 圖23 數(shù)據(jù)流程圖的符號(hào)學(xué)生簡(jiǎn)明情況P學(xué)生檔案處理 用戶 校領(lǐng)導(dǎo)學(xué)生檔案報(bào)表D1P2 1221填寫(xiě)學(xué)生情況F2D1P1 1221F1 圖24 學(xué)生檔案處理的頂層數(shù)據(jù)流程圖學(xué)生情況手工報(bào)表打印學(xué)生名單錄入課程、班級(jí)等信息P3D2已填好的學(xué)生情況學(xué)生檔案處理F3D3學(xué)生檔案報(bào)表F4 圖25 系統(tǒng)數(shù)據(jù)流程圖其中P表示數(shù)據(jù)處理,F(xiàn)表示數(shù)據(jù)流,D表示數(shù)據(jù)存儲(chǔ)。222數(shù)據(jù)字典(
30、簡(jiǎn)稱為DD)繪制DFD,只是對(duì)數(shù)據(jù)處理和彼此之間的聯(lián)系進(jìn)行了說(shuō)明。為進(jìn)一步明確數(shù)據(jù)的詳細(xì)內(nèi)容和數(shù)據(jù)加工過(guò)程,應(yīng)將數(shù)據(jù)流圖中的全部數(shù)據(jù)流及其組成部分的數(shù)據(jù)元素,數(shù)據(jù)存儲(chǔ),數(shù)據(jù)加工,通過(guò)數(shù)據(jù)字典描述清楚,以便于此后系統(tǒng)設(shè)計(jì)的進(jìn)行。這就需要開(kāi)發(fā)人員編寫(xiě)詳細(xì)的數(shù)據(jù)字典,來(lái)描述系統(tǒng)開(kāi)發(fā)過(guò)程的細(xì)節(jié)。下面列出本系統(tǒng)中的數(shù)據(jù)項(xiàng)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、加工處理和數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)字典。1、數(shù)據(jù)項(xiàng)的DD表列舉如下:表21 學(xué)生號(hào)碼的數(shù)據(jù)字典 數(shù) 據(jù) 項(xiàng)系統(tǒng)名:學(xué)生檔案管理系統(tǒng) 編號(hào):I002 名稱:學(xué)生姓名 別名:姓名 數(shù)據(jù)項(xiàng)值: 類型:字符型 長(zhǎng)度:8個(gè)字節(jié) 取值范圍:簡(jiǎn)述:每個(gè)學(xué)生都有唯一的一個(gè)姓名,也就是每個(gè)學(xué)號(hào)都
31、對(duì)應(yīng)一個(gè)學(xué)生名字,但不同的學(xué)號(hào)的姓名可以相同,也就是說(shuō)學(xué)生號(hào)碼和姓名是多對(duì)一的關(guān)系,這是考慮到重名的原因.修改記錄:編寫(xiě)日期審核日期 數(shù) 據(jù) 項(xiàng)系統(tǒng)名:學(xué)生檔案管理系統(tǒng) 編號(hào):I001 名稱:學(xué)生號(hào)碼 別名: 數(shù)據(jù)項(xiàng)值: 類型:字符型 長(zhǎng)度:8個(gè)字節(jié) 取值范圍:簡(jiǎn)述:為了便于填寫(xiě)分?jǐn)?shù)單及錄入分?jǐn)?shù),每個(gè)學(xué)生都具有唯一的編號(hào),它是某個(gè)學(xué)生的唯一標(biāo)識(shí)符,每個(gè)學(xué)生都有唯一的學(xué)號(hào),如“011976”通常用前兩位數(shù)字表示入學(xué)的年份,中間兩位表示班級(jí),最后兩位表示該學(xué)生在該班的序號(hào)。如果該班學(xué)生數(shù)超過(guò)100人時(shí),可用“0119A0”表示第100個(gè)學(xué)生。修改記錄:編寫(xiě)日期審核日期表2-2姓名的數(shù)據(jù)字典其它數(shù)據(jù)
32、項(xiàng)的數(shù)據(jù)字典略.23 總體模塊劃分在第一章的開(kāi)發(fā)背景中我已經(jīng)說(shuō)明了本學(xué)生檔案管理系統(tǒng)的流程了,于是在下面的這個(gè)功能設(shè)計(jì)中,我將針對(duì)這里的流程進(jìn)行設(shè)計(jì)。我將把系統(tǒng)功能分為如下圖。學(xué)生檔案管理系統(tǒng)學(xué)生基礎(chǔ)信息設(shè)置畢業(yè)處理學(xué)生復(fù)學(xué)處理學(xué)生退學(xué)處理學(xué)生換班處理學(xué)生獎(jiǎng)懲記錄學(xué)生評(píng)語(yǔ)班級(jí)設(shè)置退出系統(tǒng)登陸系統(tǒng)其實(shí)中這圖中我們已經(jīng)了解到了整個(gè)系統(tǒng)的基本上的功能了。在下面我將詳細(xì)的介紹一下24各個(gè)模塊的功能1、登陸系統(tǒng)對(duì)于這類系統(tǒng)如果誰(shuí)都能登陸到本系統(tǒng)的話,系統(tǒng)里面的數(shù)據(jù)將非常的危險(xiǎn)和有可能會(huì)受到蓄意破壞者的攻擊了。考慮到數(shù)據(jù)的安全性,用戶必須擁有密碼才能夠登陸到本系統(tǒng)里面。2、退出系統(tǒng)對(duì)于一個(gè)系統(tǒng)來(lái)說(shuō),有一個(gè)
33、正常的退出點(diǎn)是必須的,所以設(shè)計(jì)了這個(gè)功能。3、學(xué)生基礎(chǔ)信息設(shè)置對(duì)于學(xué)校里的學(xué)生資料總是需要先進(jìn)行登記的。如果不進(jìn)行登記的話,學(xué)生的基礎(chǔ)資料是以后操作的基礎(chǔ),必須首先進(jìn)行維護(hù)。主要包括學(xué)生的姓名、學(xué)籍號(hào)、身份證號(hào)等等信息。4、學(xué)生評(píng)語(yǔ)每個(gè)學(xué)生在畢業(yè)的時(shí)候,老師們都會(huì)給他們寫(xiě)一個(gè)評(píng)語(yǔ)。這個(gè)學(xué)生評(píng)語(yǔ)功能就是管理這個(gè)的,這樣以后老師需要查閱,可以直接使用該功能查詢就可以了,非常的方便了。5、學(xué)生獎(jiǎng)懲記錄學(xué)生在在校期間總會(huì)受到獎(jiǎng)勵(lì)或者是受到處分,該功能就是記錄學(xué)生什么時(shí)候受到什么樣的獎(jiǎng)勵(lì),受到什么樣的處分。而且可以記錄多條。這樣對(duì)于學(xué)校的管理老師來(lái)說(shuō),查詢就比較的方便了,而且也不用查詢很多的資料 ,就能
34、夠集中的找到某個(gè)學(xué)生的獎(jiǎng)勵(lì)和處分記錄了。6、學(xué)生換班處理學(xué)生在學(xué)校里某種情況下,會(huì)發(fā)生換班的情況,這個(gè)功能就是對(duì)這個(gè)情況進(jìn)行處理的。7、學(xué)生退學(xué)處理在學(xué)的學(xué)生由于生病或者是受到處罰而被迫退學(xué),該功能就是處理學(xué)生的退學(xué)事宜的。注意該功能只針對(duì)處于在學(xué)狀態(tài)的學(xué)生。8、 學(xué)生復(fù)學(xué)處理對(duì)于由于某種原因,某個(gè)學(xué)生退學(xué)后重新復(fù)學(xué)。用戶可以使用該功能進(jìn)行該學(xué)生的復(fù)學(xué)處理。注意該功能只針對(duì)已經(jīng)退學(xué)的用戶,進(jìn)行復(fù)學(xué)處理的學(xué)生會(huì)自動(dòng)回到在學(xué)狀態(tài)。9、 畢業(yè)處理對(duì)于班級(jí)的現(xiàn)有還沒(méi)有畢業(yè)的班級(jí)進(jìn)行畢業(yè)處理。這樣用戶可以明確的知道那些班級(jí)畢業(yè)了。25 數(shù)據(jù)庫(kù)設(shè)計(jì)一、概念結(jié)構(gòu)設(shè)計(jì) 在系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)中,先要對(duì)系統(tǒng)分析得到
35、的數(shù)據(jù)字典中的數(shù)據(jù)存儲(chǔ)進(jìn)行分析,分析各數(shù)據(jù)存儲(chǔ)之間的關(guān)系,然后才能得出系統(tǒng)的關(guān)系模式??梢圆捎肊R圖的方法來(lái)進(jìn)行數(shù)據(jù)結(jié)構(gòu)分析。ER設(shè)計(jì)方法是一種通過(guò)ER圖來(lái)描述現(xiàn)實(shí)世界信息結(jié)構(gòu)的DB設(shè)計(jì)方法。ER圖由實(shí)體、屬性、聯(lián)系三部分組成。ER圖的符號(hào)說(shuō)明如圖26所示。 實(shí)體 屬性 實(shí)體間的聯(lián)系圖26 ER圖圖例 類型內(nèi)容在圖26本系統(tǒng)的數(shù)據(jù)流程圖中,系統(tǒng)邊界已經(jīng)很清楚了,所以可直接根據(jù)圖26設(shè)計(jì)本系統(tǒng)的ER圖,不必要先設(shè)計(jì)分ER圖,再合并總體ER圖了。本系統(tǒng)的ER圖如圖27所示:獎(jiǎng)懲記錄學(xué)籍號(hào) 獎(jiǎng)懲姓名n身份證號(hào)屬于nm學(xué)生班級(jí)1入學(xué)班級(jí)性別.還有幾個(gè)屬性,限于篇幅,不一一列舉了.籍貫民族班級(jí) 畢業(yè)狀態(tài)
36、班級(jí)備注班級(jí)名稱圖27 ER圖學(xué)生檔案管理中所涉及到的主要實(shí)體集及其屬性如下:學(xué)生學(xué)籍號(hào),姓名,身份證號(hào),班級(jí),性別,民族,籍貫,政治面貌,入學(xué)日期,出生日期,聯(lián)系電話,郵政編碼,家庭地址,個(gè)人簡(jiǎn)歷,狀態(tài),學(xué)生評(píng)語(yǔ);班級(jí)班級(jí)名稱,班級(jí)備注,畢業(yè)狀態(tài),班級(jí);獎(jiǎng)懲記錄學(xué)籍號(hào),學(xué)生姓名,類型,內(nèi)容;二、邏輯結(jié)構(gòu)設(shè)計(jì)(ER圖向關(guān)系模型的轉(zhuǎn)換) ER圖向關(guān)系模型的轉(zhuǎn)化要解決的問(wèn)題是如何將實(shí)體和實(shí)體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,如何確定這些關(guān)系橫式的屬性和碼。 對(duì)于實(shí)體間的聯(lián)系我們分不同的情況討論:(1) 若實(shí)體間的聯(lián)系是1:1,可以在兩個(gè)實(shí)體轉(zhuǎn)換成的兩個(gè)關(guān)系中任意一個(gè)關(guān)系的屬性中加入另一個(gè)關(guān)系的碼。(2) 若
37、實(shí)體間聯(lián)系為1:n,則在n端實(shí)體轉(zhuǎn)換成的關(guān)系中加入1端實(shí)體轉(zhuǎn)換成的關(guān)系碼。(3) 若實(shí)體間聯(lián)系為n:m,則將聯(lián)系轉(zhuǎn)換為關(guān)系,關(guān)系的屬性為諸個(gè)實(shí)體的碼加上聯(lián)系具有的屬性,而關(guān)系的碼則為諸實(shí)體的碼的組合。由以上三點(diǎn),可將圖27轉(zhuǎn)換為關(guān)系模型。每個(gè)關(guān)系的碼用下劃線表示。 學(xué)生學(xué)籍號(hào),姓名,身份證號(hào),班級(jí),性別,民族,籍貫,政治面貌,入學(xué)日期,出生日期,聯(lián)系電話,郵政編碼,家庭地址,個(gè)人簡(jiǎn)歷,狀態(tài),學(xué)生評(píng)語(yǔ);班級(jí)ID,班級(jí)名稱,班級(jí)備注,畢業(yè)狀態(tài),班級(jí);獎(jiǎng)懲記錄學(xué)籍號(hào),學(xué)生姓名,類型,內(nèi)容;三、物理結(jié)構(gòu)設(shè)計(jì)設(shè)計(jì)原則如下:(1) 進(jìn)行規(guī)范化設(shè)計(jì),盡可能地減少數(shù)據(jù)冗余和重復(fù)合理的數(shù)據(jù)庫(kù)表的設(shè)計(jì)應(yīng)該是在滿足
38、需求的前提下,使數(shù)據(jù)的重復(fù)量最小,就盡量按照關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)理論方法去設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù),減少數(shù)據(jù)的冗余。(2) 結(jié)構(gòu)設(shè)計(jì)與操作設(shè)計(jì)相結(jié)合在設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)時(shí),有時(shí)為了編程實(shí)現(xiàn)的簡(jiǎn)捷和思路的清晰,往往故意增加一些冗余數(shù)據(jù)。這雖然有悖于傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)理論,但是考慮到選擇的機(jī)器型號(hào)和檔次等因素,如果增加的冗余不會(huì)明顯增加存儲(chǔ)空間和降低處理效率,并且對(duì)編程實(shí)現(xiàn)有很大幫助,往往可以采用這種方法。本系統(tǒng)基于此原則,把班級(jí)關(guān)系和年級(jí)關(guān)系合并成關(guān)系班級(jí)班級(jí)號(hào),班級(jí)名稱,年級(jí)名稱,學(xué)校名稱(3) 數(shù)據(jù)結(jié)構(gòu)具有相對(duì)的穩(wěn)定性數(shù)據(jù)結(jié)構(gòu)的相對(duì)穩(wěn)定性,可以作為新、舊系統(tǒng)轉(zhuǎn)換的依據(jù)。無(wú)論采用何種方法或手段去處理日常事務(wù),都應(yīng)該
39、能完成相應(yīng)的功能,決不會(huì)因?yàn)椴捎昧擞?jì)算機(jī)而丟失了必要的功能,或徹底改變了原有的工作流程和模式。計(jì)算機(jī)系統(tǒng)的建成是建立在原系統(tǒng)充分調(diào)研的基礎(chǔ)上的,它既不能脫離原系統(tǒng)的大框架,也不是簡(jiǎn)單的重復(fù)和替代。所以數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)應(yīng)保證數(shù)據(jù)的相對(duì)穩(wěn)定,這樣才能考慮在新的數(shù)據(jù)結(jié)構(gòu)下的業(yè)務(wù)處理方式。消去重復(fù)項(xiàng)此處著重討論如何進(jìn)行規(guī)范化設(shè)計(jì)消除傳遞函數(shù)依賴消除部分函數(shù)依賴,關(guān)系范式規(guī)范化過(guò)程如下:3NF2NF1NF非規(guī)范 化關(guān)系 和空白數(shù)據(jù)項(xiàng)基于以上三條設(shè)計(jì)原則,本系統(tǒng)中關(guān)于數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)如下:1、 學(xué)生信息表字段名數(shù)據(jù)類型學(xué)籍號(hào)文本姓名文本身份證號(hào)文本班級(jí)文本性別文本民族文本籍貫文本政治面貌文本入學(xué)日期日期/
40、時(shí)間出生日期日期/時(shí)間聯(lián)系電話文本郵政編碼文本家庭地址文本個(gè)人履歷文本狀態(tài)文本學(xué)生評(píng)語(yǔ)文本2、獎(jiǎng)懲記錄字段名數(shù)據(jù)類型學(xué)籍號(hào)文本學(xué)生姓名文本類型文本內(nèi)容文本3、班級(jí)信息表字段名字段類型ID自動(dòng)編號(hào)班級(jí)名稱文本班級(jí)備注文本畢業(yè)狀態(tài)文本班級(jí)文本第三章 系統(tǒng)實(shí)現(xiàn)經(jīng)過(guò)了上述的功能設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì)之后,我們現(xiàn)在對(duì)于系統(tǒng)具有什么功能已經(jīng)非常的了解了,接下來(lái)我們就可以進(jìn)入到代碼實(shí)現(xiàn)的階段了。31 登陸系統(tǒng)根據(jù)系統(tǒng)的要求,我設(shè)計(jì)了如下的界面:32 班級(jí)設(shè)置我設(shè)計(jì)了界面如下:輸入班級(jí)和備注之后,按保存,系統(tǒng)會(huì)保存該班級(jí)的信息,并且該班級(jí)自動(dòng)是處于未畢業(yè)的狀態(tài)。我這里列出里面的典型的代碼下面的代碼是保存的代碼Pri
41、vate Sub Command1_Click()Dim rst As Recordset Set rst = New Recordset rst.ActiveConnection = pCN rst.CursorLocation = adUseClient rst.LockType = adLockBatchOptimistic rst.CursorType = adOpenStatic rst.Source = "select * from 班級(jí)信息" rst.Open rst.AddNew rst!班級(jí)名稱 = Text1 rst!班級(jí)備注 = Text2 rst.U
42、pdateBatch Text1.Text = "" Text2.Text = "" Text1.SetFocus Set rst = NothingEnd Sub從上面的代碼我們可以看出,我們是通過(guò)把數(shù)據(jù)保存到記錄集中,然后使用記錄集的updateBatch來(lái)保存的數(shù)據(jù)庫(kù)中的數(shù)據(jù)33學(xué)生基礎(chǔ)信息設(shè)置學(xué)生基礎(chǔ)信息設(shè)置在本系統(tǒng)中可以說(shuō)是重中之中,為了照顧到瀏覽和編輯的需要,該功能我設(shè)計(jì)了兩個(gè)界面,一個(gè)是用來(lái)瀏覽當(dāng)前所有的學(xué)生信息,并且有刪除學(xué)生信息的功能,另外一個(gè)是用來(lái)編輯和增加學(xué)生信息的。根據(jù)系統(tǒng)的功能要求,我這里設(shè)計(jì)了如下的瀏覽界面:這里最主要的是代碼
43、如下在表格中顯示學(xué)生資料數(shù)據(jù)的代碼如下:Private Sub Form_Load() Me.Adodc1.ConnectionString = pCN.ConnectionString Me.Adodc1.RecordSource = "select ID,學(xué)籍號(hào),姓名,班級(jí),身份證號(hào),性別,民族,籍貫,政治面貌,家長(zhǎng)姓名,入學(xué)日期,出生日期,聯(lián)系電話,郵政編碼,家庭地址,個(gè)人履歷 from 學(xué)生信息" Me.Adodc1.Refresh Set Me.MSHFlexGrid1.Recordset = Me.Adodc1.RecordsetEnd Sub刪除按鈕的代碼如下
44、:Private Sub Command3_Click() If Me.MSHFlexGrid1.Rows > 1 Then If MsgBox("你真的要?jiǎng)h除選中的學(xué)生的信息嗎?", vbQuestion + vbOKCancel) = vbOK Then pCN.Execute "delete from 學(xué)生信息 where ID=" & Val(Me.MSHFlexGrid1.TextMatrix(Me.MSHFlexGrid1.Row, 0) Call Form_Load End If End IfEnd Sub刪除是一個(gè)非常慎重的
45、操作,所以在這里我先進(jìn)行了提示,只有用戶確定刪除之后,我才會(huì)進(jìn)行接下來(lái)的刪除動(dòng)作。接下來(lái)我來(lái)介紹一下修改的代碼:Private Sub Command2_Click() If Me.MSHFlexGrid1.Rows > 1 Then Call frmStudentEdit.EditStudent(Me.MSHFlexGrid1.TextMatrix(Me.MSHFlexGrid1.Row, 0) Call Form_Load End IfEnd Sub從上面的代碼我們可以看處來(lái),其實(shí)這里沒(méi)有進(jìn)行實(shí)際的操作,而是調(diào)用了學(xué)生編輯界面的一個(gè)方法。下面讓我們來(lái)看看學(xué)生資料編輯界面,如下:這是按
46、了修改后出現(xiàn)的界面,從界面中可以看出系統(tǒng)會(huì)自動(dòng)的加載要修改的學(xué)生的信息。這里的代碼很重要,也就是該窗體提供給外部調(diào)用的一個(gè)接口,代碼如下:Public Sub EditStudent(Optional ByVal lngID As Long = 0)Dim rst As Recordset mlngID = lngID mblnEdit = (lngID <> 0) Call initCmbClass If mblnEdit Then Set rst = New Recordset rst.ActiveConnection = pCN rst.CursorLocation = ad
47、UseClient rst.LockType = adLockBatchOptimistic rst.CursorType = adOpenStatic rst.Source = "select * from 學(xué)生信息 where ID=" & lngID rst.Open Text1.Text = rst!學(xué)籍號(hào) & "" Text10.Text = rst!姓名 & "" Text2.Text = rst!身份證號(hào) & "" Call SetCmbClassIndex(rst!班
48、級(jí)) If rst!性別 = "男" Then Option1.Value = True Else Option2.Value = False End If Text3.Text = rst!民族 & "" Text4.Text = rst!籍貫 & "" Text5.Text = rst!政治面貌 & "" Text6.Text = rst!家長(zhǎng)姓名 & "" DTPicker1.Value = rst!入學(xué)日期 DTPicker2.Value = rst!出生
49、日期 Text7.Text = rst!聯(lián)系電話 & "" Text8.Text = rst!郵政編碼 & "" Text9.Text = rst!家庭地址 & "" Text11.Text = rst!個(gè)人履歷 & "" End If Set rst = Nothing Me.Show 1End Sub這個(gè)方法是個(gè)窗體級(jí)的public函數(shù),調(diào)用方法,我在前面的代碼里已經(jīng)說(shuō)明了。這里還用到了數(shù)據(jù)庫(kù)的搜索代碼。在該窗體里面,還有一段最主要的代碼,就是學(xué)生資料的保存代碼,這是最重要的。代
50、碼如下:Private Sub Command1_Click()Dim rst As Recordset ''表示編輯狀態(tài) Set rst = New Recordset rst.ActiveConnection = pCN rst.CursorLocation = adUseClient rst.LockType = adLockBatchOptimistic rst.CursorType = adOpenStatic If mblnEdit Then rst.Source = "select * from 學(xué)生信息 where ID=" & ml
51、ngID rst.Open Else rst.Source = "select * from 學(xué)生信息" rst.Open rst.AddNew End If rst!學(xué)籍號(hào) = Text1.Text rst!姓名 = Text10.Text rst!身份證號(hào) = Text2.Text rst!班級(jí) = Combo1.Text rst!性別 = IIf(Option1.Value, "男", "女") rst!民族 = Text3.Text rst!籍貫 = Text4.Text rst!政治面貌 = Text5.Text rst!家
52、長(zhǎng)姓名 = Text6.Text rst!入學(xué)日期 = DTPicker1.Value rst!出生日期 = DTPicker2.Value rst!聯(lián)系電話 = Text7.Text rst!郵政編碼 = Text8.Text rst!家庭地址 = Text9.Text rst!個(gè)人履歷 = Text11.Text rst.UpdateBatch Text1.Text = "" Text10.Text = "" Text1.SetFocus mblnEdit = False Set rst = NothingEnd Sub在界面上,可能還可以看到有一個(gè)組合框,這個(gè)是供用戶選擇班級(jí)時(shí)使用的,所以在窗體加載的時(shí)候,必須先進(jìn)行初始化操作,代碼如下:Private Sub initCmbClass()Dim i As IntegerDim rst As Recordset Set rst = New Recordset rst.ActiveConnection = pCN rst.CursorLocation = adUseClient rst.LockType = adLockBatchOptimistic rst.CursorType = adOpenStatic rst.Source
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司祭掃烈士墓活動(dòng)方案
- 2025年中學(xué)教師資格考試試卷及答案
- 2025年衛(wèi)生檢驗(yàn)與檢疫專業(yè)知識(shí)考試試題及答案
- 2025年項(xiàng)目管理專業(yè)資格考試試題及答案
- 2025年認(rèn)證會(huì)計(jì)師考試試卷及答案
- 2025年生態(tài)系統(tǒng)管理與保護(hù)專業(yè)考試題及答案
- 2025年人力資源管理與實(shí)務(wù)課程考試卷及答案
- 2025年社區(qū)心理服務(wù)與危機(jī)干預(yù)專業(yè)知識(shí)測(cè)試試題及答案
- 2025年工程管理與項(xiàng)目管理考試試題及答案
- 2025年工業(yè)機(jī)器人與自動(dòng)化技術(shù)考試題及答案
- 3停止間轉(zhuǎn)法教案
- 2022-2023學(xué)年重慶市合川市三下數(shù)學(xué)期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)模擬試題含解析
- 文創(chuàng)園物業(yè)管理方案
- 全過(guò)程造價(jià)咨詢服務(wù)實(shí)施方案
- 初二生地會(huì)考復(fù)習(xí)資料全
- 里氏硬度法檢測(cè)鋼材強(qiáng)度范圍記錄表、鋼材里氏硬度與抗拉強(qiáng)度范圍換算表
- 《屹立在世界的東方》示范課教學(xué)課件【人教部編版小學(xué)道德與法治五年級(jí)下冊(cè)】
- 四川省宜賓市翠屏區(qū)中學(xué)2022-2023學(xué)年數(shù)學(xué)八年級(jí)第二學(xué)期期末檢測(cè)試題含解析
- 2020-2021成都石室聯(lián)合中學(xué)蜀華分校小學(xué)數(shù)學(xué)小升初模擬試卷附答案
- 某冶金機(jī)械廠供配電系統(tǒng)設(shè)計(jì)
- 《在中亞細(xì)亞草原上》賞析 課件
評(píng)論
0/150
提交評(píng)論