畢業(yè)設(shè)計(jì)(論文)基于VB學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
畢業(yè)設(shè)計(jì)(論文)基于VB學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
畢業(yè)設(shè)計(jì)(論文)基于VB學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
畢業(yè)設(shè)計(jì)(論文)基于VB學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
畢業(yè)設(shè)計(jì)(論文)基于VB學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、2006屆普通本科畢業(yè)論文(設(shè)計(jì)) 存檔編號(hào): 畢業(yè)論文(設(shè)計(jì))題目: 基于vb學(xué)生信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 院 系: 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 年 級(jí): 計(jì)科q0241 學(xué) 號(hào): 02414004 姓 名: 戴斌 指導(dǎo)教師: 吳保榮 職 稱: 副教授 湖北經(jīng)濟(jì)學(xué)院教務(wù)處 制目錄摘要3abstract3第1章 系統(tǒng)總體設(shè)計(jì)51.1應(yīng)用背景51.2開發(fā)平臺(tái)vb6.0介紹51.3數(shù)據(jù)庫技術(shù)的發(fā)展及特點(diǎn)614項(xiàng)目目標(biāo)715解決方案設(shè)計(jì)10第2章 數(shù)據(jù)庫設(shè)計(jì)122.1數(shù)據(jù)庫的er圖122.2數(shù)據(jù)庫與數(shù)據(jù)表的創(chuàng)建15第3章 技術(shù)細(xì)節(jié)183.1recordset數(shù)據(jù)對(duì)象183.2a

2、ddnew方法193.3delete方法203.4move移動(dòng)記錄213.5movefirst、movelast、movenext和moveprevious方法223.6save方法,保存記錄233.7update方法243.8datagrid控件介紹24第4章 功能模塊設(shè)計(jì)264.1登錄窗口設(shè)計(jì)264.2 創(chuàng)建系統(tǒng)主控界面264.3 創(chuàng)建學(xué)生檔案管理窗體274.4 創(chuàng)建學(xué)生成績管理窗體294.5 學(xué)生交費(fèi)管理窗體的制作304.6 課程管理窗體的制作314.7 制作系統(tǒng)權(quán)限維護(hù)窗體334.8 制作數(shù)據(jù)報(bào)表33結(jié)束語36致謝37參考文獻(xiàn):38附錄:39摘要學(xué)生信息管理系統(tǒng)是典型的信息管理系統(tǒng)(m

3、is),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。 本文結(jié)合學(xué)生信息管理的要求,對(duì)access數(shù)據(jù)庫管理系統(tǒng)、sql語言原理、vb應(yīng)用程序設(shè)計(jì),vb數(shù)據(jù)庫技術(shù)進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用,主要完成對(duì)學(xué)生信息管理系統(tǒng)的需求分析、功能模塊劃分、數(shù)據(jù)庫模式分析,并由此設(shè)計(jì)了數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序。系統(tǒng)運(yùn)行結(jié)果證明,本文所設(shè)計(jì)的學(xué)生信息管理系統(tǒng)可以滿足學(xué)生和管理人員的需要。 本系統(tǒng)主要完成對(duì)學(xué)生信息的信息化管理,包括學(xué)生檔案信息、班級(jí)信息、各專業(yè)學(xué)生學(xué)費(fèi)信息、學(xué)生成績信息、課程

4、管理信息等多個(gè)方面。系統(tǒng)可以完成對(duì)各類信息的瀏覽、查詢、添加、刪除、修改等功能。系統(tǒng)采用microsoft office中的access 2000來設(shè)計(jì)數(shù)據(jù)庫,并使用當(dāng)前優(yōu)秀的開發(fā)工具vb 6.0 ,它有著最為靈活的數(shù)據(jù)庫結(jié)構(gòu),對(duì)數(shù)據(jù)庫應(yīng)用有著良好的支持。本設(shè)計(jì)充分利用vb 6.0、access 2000數(shù)據(jù)庫技術(shù)的強(qiáng)大力量,提高了編程效率和可靠性。關(guān)鍵詞: 學(xué)生信息管理 vb 6.0 數(shù)據(jù)庫 ado sql語言 access 2000 數(shù)據(jù)庫組件abstractstudents information management system is the typical information

5、management system(mis), its development mainly includes the establishment and maintenance and head application procedure of the backstage database to develop two aspects.build up a data consistency and integrity to the former request strong,the data safety good database.but then request applied proc

6、edure function to the latter complete, easy usage etc. characteristics. this text combines a student the request ofwith the information management, managing system,sql language principle to the access database,vb application program design, the vb database technique carried on the more thorough stud

7、y and application, the main completion managed the need of the system analysis to students information,the function mold piece demarcation,the database mode analysis, and designed the database structure from here and applied procedure.the system circulates a result a certificate, the student design

8、by this text information management the system can satisfy the demand between student and manager. this system mainly completes the information-based management to students information, including several aspects, such as students file information,class information,each professional students school f

9、ees information,students result information and the course management information.etc.the system can complete to browse each kind of information,search,increase,delete,modify etc. function.the system adopts the access in the microsoft office 2000 to the design database, and use at present the excell

10、ent development tool-vb 6.0, it has the most vivid database structure, having a good support to the database application. this design makes use of vb well 6.0,access 2000 database technical strong strength, raise the plait distance efficiency and credibility.keyword: student the information manageme

11、nt vb 6.0 database ado sql language accesses 2000 database module第1章 系統(tǒng)總體設(shè)計(jì)1.1應(yīng)用背景隨著計(jì)算機(jī)的發(fā)展及網(wǎng)絡(luò)技術(shù)的應(yīng)用,當(dāng)今社會(huì)正快速向信息化社會(huì)前進(jìn),信息自動(dòng)化的作用也越來越大。而在日常生活中信息技術(shù)的不斷融入,在技術(shù)越來越先進(jìn)的同時(shí),應(yīng)該從以前煩瑣的事務(wù)中解放出來。隨著高校對(duì)招生規(guī)模的不斷擴(kuò)大,學(xué)生的數(shù)量急劇增加。學(xué)籍信息是學(xué)校的一項(xiàng)重要的數(shù)據(jù)資源,學(xué)籍管理也是學(xué)校的一項(xiàng)常規(guī)性的重要工作。而長期以來,學(xué)籍管理都是依賴人工進(jìn)行的,面對(duì)如此眾多的學(xué)籍信息,其工作量可想而知。不僅僅浪費(fèi)了大量的人力物力,而且由于人工管理

12、存在著大量的不可控因素,造成了學(xué)籍管理的某些不規(guī)范,使得學(xué)籍管理陷入“事倍功半”的地步。面對(duì)龐大的信息量,就需要有學(xué)生信息管理系統(tǒng)來提高學(xué)生管理工作的效率。通過這樣的系統(tǒng),可以方便地查詢,統(tǒng)計(jì)和修改學(xué)生的基本情況,任課老師的情況,學(xué)生的課程開課情況和選課情況及成績,實(shí)現(xiàn)信息的規(guī)范管理,科學(xué)統(tǒng)計(jì)和快速查詢,從而減少管理方面的工作量,同時(shí)避免由于人為因素造成數(shù)據(jù)遺漏和誤報(bào)等。1.2開發(fā)平臺(tái)vb6.0介紹學(xué)生信息管理系統(tǒng)主要基于visual basic 6.0的開發(fā)和數(shù)據(jù)庫microsoft access的相關(guān)知識(shí)。下面分別對(duì)visual basic 6.0和數(shù)據(jù)庫進(jìn)行簡單的介紹。1.2.1visu

13、al basic的誕生及其發(fā)展visual意為可視化,指的是開發(fā)圖形用戶界面(gui)的方法,而basic指的是beginner symbol instruction code語言:visual basic就是基于basic的可視化程序設(shè)計(jì)語言。visual basic在原來basic語言的基礎(chǔ)上進(jìn)行了很大的擴(kuò)展,其編程思想采用面向?qū)ο蟆⑹录?qū)動(dòng)的編程機(jī)制,很好地把windows編程的復(fù)雜性封裝起來,提供了一種所見即所得的程序設(shè)計(jì)方法。visual basic最早是1991年microsoft公司推出的,當(dāng)時(shí)是visual basic 1.0,雖然剛推出的版本缺陷很多,但經(jīng)過microsoft

14、公司的不斷努力,隨后又相繼在1992年、1993年、1995年和1997年推出了2.05.0的版本,1998年推出了6.0。整個(gè)過程中功能得到了不斷完善和擴(kuò)充,特別是visual basic 6.0較之以前的版本其功能和性能都大大增強(qiáng)了,尤其是數(shù)據(jù)庫管理網(wǎng)絡(luò)應(yīng)用方面更勝一籌。1.2.2visual basic的主要特點(diǎn)面向?qū)ο蟮目梢暬绦蛟O(shè)計(jì)。傳統(tǒng)的結(jié)構(gòu)化語言,如basic、pascal和c等都是采用面向過程的編程方法。在這些方法中,代碼和數(shù)據(jù)具有很大的分離性,因此這樣的程序有很多缺陷,如程序的可讀性、可維護(hù)性很差。visual basic采用了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(oop),這種方法是把程

15、序和數(shù)據(jù)封裝在一個(gè)類中,類的實(shí)例就是對(duì)象。每個(gè)對(duì)象都是可視化的。設(shè)計(jì)程序時(shí)只需用現(xiàn)有的工具根據(jù)要求直接拖出所需的對(duì)象,并為每一個(gè)對(duì)象設(shè)置屬性。程序員的工作緊編寫針對(duì)對(duì)象要完成那些功能的程序。因而程序設(shè)計(jì)的效率可大大提高。事件驅(qū)動(dòng)的編程機(jī)制。傳統(tǒng)的程序設(shè)計(jì)是一種面向過程的設(shè)計(jì)方式,程序總是按事先設(shè)計(jì)好的流程進(jìn)行,而不能將后面的程序放在前面執(zhí)行,當(dāng)然用戶就不能隨意改變、控制程序的流向,這很不符合人類的思維習(xí)慣。事件驅(qū)動(dòng)是非常適合圖形用戶的編程方式,在圖形用戶界面的應(yīng)用程序中,程序員只要編寫響應(yīng)用戶動(dòng)作的代碼,每個(gè)動(dòng)作之間不一定有聯(lián)系,這樣的應(yīng)用程序代碼較短,當(dāng)然程序既易編寫又易維護(hù)。支持多種數(shù)據(jù)庫

16、的訪問。數(shù)據(jù)庫的訪問特性允許對(duì)包括sql server和其他數(shù)據(jù)庫在內(nèi)的大部分?jǐn)?shù)據(jù)庫格式建立數(shù)據(jù)庫和前端應(yīng)用程序。利用數(shù)據(jù)控件或odbc能訪問的數(shù)據(jù)庫系統(tǒng)microsoft access、microsoft foxpro、dbase、paradox等,也可訪問microsoft excel、lotus 1-2-3等多種表格。支持動(dòng)態(tài)鏈接庫(dll)、動(dòng)態(tài)數(shù)據(jù)交換(dde)與對(duì)象連接和嵌入(ole)。完備的help聯(lián)機(jī)幫助功能。1.3數(shù)據(jù)庫技術(shù)的發(fā)展及特點(diǎn)數(shù)據(jù)庫技術(shù)是計(jì)算機(jī)和信息科學(xué)增長最迅速的重要領(lǐng)域之一。數(shù)據(jù)庫從20世紀(jì)60年代中期產(chǎn)生,距今僅30多年的時(shí)間,但其發(fā)展速度之快,使用范圍之廣是

17、其他技術(shù)所達(dá)不到的。數(shù)據(jù)庫已從第一代的網(wǎng)狀,層次數(shù)據(jù)庫和第二代的關(guān)系數(shù)據(jù)庫,發(fā)展到第三代以面向?qū)ο竽P蜑橹饕卣鞯臄?shù)據(jù)庫,數(shù)據(jù)庫技術(shù)與網(wǎng)絡(luò)通信技術(shù),人工智能技術(shù),面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù),并行計(jì)算技術(shù)等的互相滲透,互相配合,成為當(dāng)前數(shù)據(jù)庫技術(shù)發(fā)展的主要特征。數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)技術(shù)。因此數(shù)據(jù)模型的進(jìn)展決定了數(shù)據(jù)庫的發(fā)展,數(shù)據(jù)庫發(fā)展階段的劃分一般就以數(shù)據(jù)模型的發(fā)展作為主要依據(jù)和標(biāo)志。其中,第三代數(shù)據(jù)庫以更加豐富的數(shù)據(jù)模型和更強(qiáng)大的功能為特征,來滿足傳統(tǒng)數(shù)據(jù)庫難以支持的對(duì)多媒體數(shù)據(jù)類型和使用internet等新的應(yīng)用要求。1990年美國加州大學(xué)伯克利分校教授m.stonebraker與另外

18、5名學(xué)者發(fā)表了題為“第三代數(shù)據(jù)庫系統(tǒng)宣言”的論文,對(duì)第三代數(shù)據(jù)庫管理系統(tǒng)的基本特征進(jìn)行了論述。他們指出,第三代數(shù)據(jù)庫系統(tǒng)具有以下特征: 支持面向?qū)ο髷?shù)據(jù)模型 保持第二代數(shù)據(jù)庫系統(tǒng)所具有的高效,安全,方便等特點(diǎn)。 具有開放性,支持sql語言以及多種網(wǎng)絡(luò)標(biāo)準(zhǔn)協(xié)議等普遍承認(rèn)的計(jì)算機(jī)標(biāo)準(zhǔn) 支持多種硬件平臺(tái),易于得到擴(kuò)充和增強(qiáng)。14項(xiàng)目目標(biāo)開發(fā)本系統(tǒng)的總體任務(wù)是實(shí)現(xiàn)學(xué)生信息管理的系統(tǒng)化和自動(dòng)化,幫助管理員更好更高效地完成學(xué)生信息管理工作。本系統(tǒng)要完成的功能如下圖:登錄選擇主窗口系統(tǒng)管理班級(jí)管理學(xué)生檔案管理學(xué)生成績管理課程信息管理學(xué)生交費(fèi)管理退出圖1.1系統(tǒng)流程圖1.4.1學(xué)生檔案管理模塊管理人員通過此模

19、塊來管理學(xué)生信息,包括瀏覽、查詢、添加、修改和刪除功能。在進(jìn)行學(xué)生信息的添加時(shí),系統(tǒng)會(huì)自動(dòng)檢測所添加的學(xué)生信息中學(xué)生號(hào)在學(xué)生表中是否已經(jīng)存在,如果存在,會(huì)提示用戶該學(xué)生已經(jīng)存在。在進(jìn)行學(xué)生信息的刪除時(shí),要首先彈出提示窗口讓用戶確認(rèn)是否刪除,只有在用戶確認(rèn)后才能夠進(jìn)行學(xué)生信息的刪除。在進(jìn)行學(xué)生信息的修改時(shí),不準(zhǔn)用戶修改學(xué)號(hào),因?yàn)閷W(xué)號(hào)作為數(shù)據(jù)庫中學(xué)生表的主鍵是不同學(xué)生的唯一標(biāo)識(shí),不準(zhǔn)修改學(xué)號(hào)可以防止不經(jīng)意將學(xué)號(hào)改錯(cuò);如果確實(shí)要修改學(xué)生號(hào),可以通過數(shù)據(jù)庫管理員來實(shí)現(xiàn),也可以先將錯(cuò)誤學(xué)號(hào)信息刪除再添加正確的學(xué)生信息,這樣在刪除時(shí)會(huì)彈出提示窗口讓用戶確認(rèn)是否刪除,給用戶以提示,防止意外錯(cuò)誤。1.4.2課

20、程管理模塊管理人員通過此模塊來管理課程信息,包括瀏覽、查詢、添加、修改和刪除功能。在進(jìn)行課程信息的添加時(shí),系統(tǒng)會(huì)自動(dòng)檢測所添加的課程在課程表中是否已經(jīng)存在,如果存在,會(huì)提示用戶該課程已經(jīng)存在。在進(jìn)行課程信息的刪除時(shí),要首先彈出提示窗口讓用戶確認(rèn)是否刪除,只有在用戶確認(rèn)后才能夠進(jìn)行課程信息的刪除。1.4.3學(xué)生交費(fèi)管理模塊管理人員通過此模塊來管理學(xué)生交費(fèi)信息,包括瀏覽、查詢、添加、修改和刪除功能。在進(jìn)行學(xué)生交費(fèi)信息的添加時(shí),系統(tǒng)會(huì)自動(dòng)檢測所添加的學(xué)生號(hào)在學(xué)生表中是否已經(jīng)存在,如果存在,會(huì)提示用戶該學(xué)生已經(jīng)存在。在進(jìn)行學(xué)生交費(fèi)信息的刪除時(shí),要首先彈出提示窗口讓用戶確認(rèn)是否刪除,只有在用戶確認(rèn)后才能

21、夠進(jìn)行學(xué)生交費(fèi)信息的刪除。在進(jìn)行學(xué)生交費(fèi)信息的修改時(shí),不準(zhǔn)用戶修改學(xué)號(hào),因?yàn)閷W(xué)號(hào)作為數(shù)據(jù)庫中學(xué)生表的主鍵是不同學(xué)生的唯一標(biāo)識(shí),不準(zhǔn)修改學(xué)號(hào)可以防止不經(jīng)意將學(xué)號(hào)改錯(cuò);如果確實(shí)要修改學(xué)生號(hào),可以通過數(shù)據(jù)庫管理員來實(shí)現(xiàn),也可以先將錯(cuò)誤學(xué)號(hào)信息刪除再添加正確的學(xué)生交費(fèi)信息,這樣在刪除時(shí)會(huì)彈出提示窗口讓用戶確認(rèn)是否刪除,給用戶以提示,防止意外錯(cuò)誤。1.4.4班級(jí)管理模塊管理人員通過此模塊來管理班級(jí)信息,包括瀏覽、查詢、添加、修改和刪除功能。在進(jìn)行班級(jí)信息的添加時(shí),系統(tǒng)會(huì)自動(dòng)檢測所添加的班級(jí)在班級(jí)表中是否已經(jīng)存在,如果存在,會(huì)提示用戶該班級(jí)已經(jīng)存在。在進(jìn)行班級(jí)信息的刪除時(shí),要首先彈出提示窗口讓用戶確認(rèn)是否

22、刪除,只有在用戶確認(rèn)后才能夠進(jìn)行班級(jí)信息的刪除。1.4.5成績管理模塊管理人員通過此模塊來管理學(xué)生成績信息,包括瀏覽、查詢、添加、修改和刪除功能。在進(jìn)行學(xué)生成績信息的添加時(shí),系統(tǒng)會(huì)自動(dòng)檢測所添加的學(xué)生號(hào)在學(xué)生表中是否已經(jīng)存在,如果存在,會(huì)提示用戶該學(xué)生已經(jīng)存在。在進(jìn)行學(xué)生成績信息的刪除時(shí),要首先彈出提示窗口讓用戶確認(rèn)是否刪除,只有在用戶確認(rèn)后才能夠進(jìn)行學(xué)生成績信息的刪除。在進(jìn)行學(xué)生成績信息的修改時(shí),不準(zhǔn)用戶修改學(xué)號(hào),因?yàn)閷W(xué)號(hào)作為數(shù)據(jù)庫中學(xué)生表的主鍵是不同學(xué)生的唯一標(biāo)識(shí),不準(zhǔn)修改學(xué)號(hào)可以防止不經(jīng)意將學(xué)號(hào)改錯(cuò);如果確實(shí)要修改學(xué)生號(hào),可以通過數(shù)據(jù)庫管理員來實(shí)現(xiàn),也可以先將錯(cuò)誤學(xué)號(hào)信息刪除再添加正確的

23、學(xué)生成績信息,這樣在刪除時(shí)會(huì)彈出提示窗口讓用戶確認(rèn)是否刪除,給用戶以提示,防止意外錯(cuò)誤。15解決方案設(shè)計(jì)1.5.1 系統(tǒng)功能設(shè)計(jì)本系統(tǒng)使用visual basic 6.0作為開發(fā)語言,將數(shù)據(jù)庫存儲(chǔ)到access數(shù)據(jù)庫。使用ado連接數(shù)據(jù)庫。根據(jù)項(xiàng)目目標(biāo)可以得到如下的結(jié)構(gòu)圖。學(xué)生綜合管理系統(tǒng)用戶登錄系統(tǒng)主界面檔案管理學(xué)費(fèi)管理成績管理課程管理系統(tǒng)維護(hù)檔案瀏覽檔案添加檔案查詢報(bào)表打印成績?yōu)g覽提交成績成績查詢學(xué)費(fèi)設(shè)置交納學(xué)費(fèi)報(bào)表打印增加課程設(shè)定課程報(bào)表打印增加用戶權(quán)限修改圖1.2系統(tǒng)結(jié)構(gòu)圖1.5.2系統(tǒng)模塊功能分析本系統(tǒng)包括如下功能模塊:1系統(tǒng)管理模塊系統(tǒng)管理添加用戶修改密碼重新登錄圖1.3系統(tǒng)管理模

24、塊圖2班級(jí)信息管理模塊班級(jí)信息管理班級(jí)瀏覽添加班級(jí)班級(jí)瀏覽圖1.4班級(jí)信息管理模塊圖3學(xué)生檔案管理模塊學(xué)生檔案管理檔案添加檔案瀏覽檔案查詢圖1.5學(xué)生檔案管理模塊圖4.學(xué)生成績管理模塊學(xué)生成績管理考試類型設(shè)置成績添加成績?yōu)g覽成績查詢圖1.6學(xué)生成績管理模塊圖5.課程信息管理模塊課程信息管理基本課程設(shè)置班級(jí)課程設(shè)置圖1.7課程信息管理模塊圖6.學(xué)生交費(fèi)管理模塊學(xué)生交費(fèi)管理學(xué)生交費(fèi)瀏覽基本學(xué)費(fèi)設(shè)置學(xué)生交費(fèi)添加學(xué)生交費(fèi)查詢學(xué)費(fèi)設(shè)置瀏覽學(xué)費(fèi)設(shè)置添加學(xué)費(fèi)設(shè)置查詢圖1.8學(xué)生交費(fèi)管理模塊圖第2章 數(shù)據(jù)庫設(shè)計(jì)2.1數(shù)據(jù)庫的er圖1)學(xué)生檔案數(shù)據(jù)的管理,包括學(xué)號(hào)、姓名、性別、班級(jí)、出生年月、家庭住址和入學(xué)時(shí)間

25、。學(xué)生檔案數(shù)據(jù)學(xué)號(hào)姓名性別入學(xué)時(shí)間班級(jí)出生年月家庭住址圖2.1.1學(xué)生檔案數(shù)據(jù)實(shí)體圖2)班級(jí)信息數(shù)據(jù)的管理,包括年級(jí)、班級(jí)、年制、班主任和備注。班級(jí)信息年級(jí)備注班級(jí)年制班主任圖2.1.2班級(jí)信息實(shí)體圖3)課程種類數(shù)據(jù)的管理,包括課程名稱和教材。課程種類數(shù)據(jù)課程名稱教材圖2.1.3課程種類數(shù)據(jù)實(shí)體圖4)學(xué)生成績數(shù)據(jù)的管理,包括學(xué)號(hào)、學(xué)期、類型、課程名稱和分?jǐn)?shù)。學(xué)生成績數(shù)據(jù)分?jǐn)?shù)學(xué)號(hào)學(xué)期類型課程名稱圖2.1.4學(xué)生成績數(shù)據(jù)實(shí)體圖5)課程信息數(shù)據(jù)的管理,包括年級(jí)、專業(yè)、年制、學(xué)期和課程名稱。課程信息數(shù)據(jù)班級(jí)專業(yè)課程名稱學(xué)期年制圖2.1.5課程信息數(shù)據(jù)實(shí)體圖6)管理人員數(shù)據(jù)的管理,包括username、

26、password、admin、readonly、qx1、qx2、qx3和qx4。管理人員數(shù)據(jù)qxx4 password admin qx2 qx2 username qx1 readonly qx3 圖2.1.6管理人員數(shù)據(jù)實(shí)體圖7)學(xué)費(fèi)數(shù)據(jù)的管理,包括年級(jí)、專業(yè)、年制、學(xué)期和學(xué)費(fèi)。學(xué)費(fèi)數(shù)據(jù)學(xué)費(fèi)年級(jí)專業(yè)年制學(xué)期圖2.1.7學(xué)費(fèi)數(shù)據(jù)實(shí)體圖8)學(xué)生交費(fèi)數(shù)據(jù)的管理,包括學(xué)號(hào)、學(xué)期、交費(fèi)、欠費(fèi)、日期和操作員。學(xué)生交費(fèi)數(shù)據(jù)日期操作員學(xué)號(hào)欠費(fèi)交費(fèi)學(xué)期圖2.1.8學(xué)生交費(fèi)數(shù)據(jù)實(shí)體圖2.2數(shù)據(jù)庫與數(shù)據(jù)表的創(chuàng)建本系統(tǒng)數(shù)據(jù)采用access數(shù)據(jù)庫,使用visdata或在access環(huán)境下創(chuàng)建數(shù)據(jù)庫stud.mdb文

27、件。該數(shù)據(jù)庫包括學(xué)生檔案表、班級(jí)信息表、各專業(yè)學(xué)生學(xué)費(fèi)表等,該數(shù)據(jù)庫包括8個(gè)不同專題的表,各表包含的字段含義如下。1學(xué)生檔案表(student)用與記錄學(xué)生的基本檔案表1.1 學(xué)生檔案表字段名類型大小說明學(xué)號(hào)文本10學(xué)生學(xué)號(hào)姓名文本8學(xué)生姓名性別文本2學(xué)生性別班級(jí)文本10班級(jí)出生年月日期/時(shí)間家庭住址文本30入學(xué)時(shí)間日期/時(shí)間學(xué)生入學(xué)時(shí)間2班級(jí)信息表(class)用于記錄學(xué)校所有班級(jí)信息,數(shù)據(jù)表結(jié)構(gòu)如下:表1.2 班級(jí)信息表字段名類型大小說明年級(jí)文本16班級(jí)文本20年制文本8學(xué)習(xí)年限班主任文本8備注文本3課程種類表(kindcourse)用于記錄所有開設(shè)課程種類,數(shù)據(jù)表結(jié)構(gòu)如下:表1.3 課程

28、種類表字段名類型大小說明課程名稱文本20記錄課程名稱教材文本30所使用教材4學(xué)生成績表(score)用于記錄學(xué)生各科考試成績,數(shù)據(jù)表結(jié)構(gòu)如下:表1.4 學(xué)生成績表字段名類型大小說明學(xué)號(hào)文本10學(xué)生學(xué)號(hào)學(xué)期文本50類型文本16期中/期末課程名稱文本20分?jǐn)?shù)數(shù)字單精度型考試成績5課程信息表(allcourse)用來保存不同年級(jí)、專業(yè)、學(xué)制、學(xué)期開設(shè)的課程,數(shù)據(jù)表結(jié)構(gòu)如下:表1.5 課程信息表字段名類型大小說明年級(jí)文本16專業(yè)文本12專業(yè)類別年制文本8學(xué)習(xí)年限學(xué)期文本50課程名稱文本20開設(shè)課程6管理人員表(user)用來保存合法管理員信息,數(shù)據(jù)表結(jié)構(gòu)如下:表1.6 管理人員表字段名類型大小說明us

29、ername文本20用戶名password文本20密碼admin文本2是否為管理員readonly文本2是否只讀用戶qx1文本2是否有系統(tǒng)管理權(quán)限qx2文本2是否有檔案管理權(quán)限qx3文本2是否有交費(fèi)管理權(quán)限qx4文本2是否有成績管理權(quán)限7學(xué)費(fèi)表(tuition)用來記錄不同年級(jí)不同專業(yè)學(xué)費(fèi)情況,數(shù)據(jù)表結(jié)構(gòu)如下:表1.7 學(xué)費(fèi)表字段名類型大小說明年級(jí)文本16專業(yè)文本50年制文本20學(xué)習(xí)年限學(xué)期文本40學(xué)費(fèi)貨幣應(yīng)繳納學(xué)費(fèi)8學(xué)生交費(fèi)情況表(studtuition)用來記錄學(xué)生在校期間繳納學(xué)費(fèi)情況,數(shù)據(jù)表結(jié)構(gòu)如下:表1.8 學(xué)生交費(fèi)情況表字段名類型大小說明學(xué)號(hào)文本10學(xué)期文本50交費(fèi)貨幣已繳納學(xué)費(fèi)欠費(fèi)

30、貨幣欠費(fèi)額日期日期/時(shí)間記錄時(shí)間操作員文本10添加記錄人員第3章 技術(shù)細(xì)節(jié)3.1recordset數(shù)據(jù)對(duì)象recordset對(duì)象是數(shù)據(jù)記錄的集合,而數(shù)據(jù)記錄有事字段的集合,因此利用recordset對(duì)象,在程序中就可以存取所有數(shù)據(jù)記錄的每一個(gè)字段的數(shù)據(jù)了,所以說recordset對(duì)象是存取數(shù)據(jù)庫數(shù)據(jù)最重要的源頭,在數(shù)據(jù)庫的程序設(shè)計(jì)中,recordset對(duì)象堪稱為重要的對(duì)象。字段的集合構(gòu)成數(shù)據(jù)記錄,記錄的集合構(gòu)成數(shù)據(jù)表。在vb中與數(shù)據(jù)表對(duì)應(yīng)的對(duì)象稱為recordset(數(shù)據(jù)記錄集合)對(duì)象。利用recordset對(duì)象,在程序中就可以存取所有數(shù)據(jù)記錄的每一個(gè)字段的數(shù)據(jù)了。打開recordset時(shí),當(dāng)

31、前記錄位于第一個(gè)記錄(如果有),并且bof和eof屬性被設(shè)置為false。如果沒有記錄,bof和eof屬性設(shè)置是ture。假設(shè)提供者支持相關(guān)的功能,可以使用movefirst、movelast、movenext和moveprevious方法以及move方法、absoluteposition、absolutepage和filter屬性來重新確定當(dāng)前記錄的位置。僅向前recordset對(duì)象只支持movenext方法。當(dāng)使用move方法訪問每個(gè)記錄(或枚舉recordset)時(shí),可使用bof和eof屬性查看是否移動(dòng)已經(jīng)超過了recordset的開始或結(jié)尾。recordset對(duì)象可支持兩類更新:立即更

32、新和批更新。使用立即更新,一旦調(diào)用update方法,對(duì)數(shù)據(jù)的所有更改將被立即寫入基本數(shù)據(jù)源。也可以使用addnew和update方法將值的數(shù)組作為參數(shù)傳遞,同時(shí)更新記錄的若干字段。如果提供者支持批更新,可以使提供者將多個(gè)記錄的更改存入緩存,然后使用updatebatch方法在單個(gè)調(diào)用中將他們傳送給數(shù)據(jù)庫。這種情況應(yīng)用于使用addnew、update和delete方法所做的更改。調(diào)用updatebatch方法后,可以使用status屬性檢查任何數(shù)據(jù)沖突并加以解決。3.2addnew方法創(chuàng)建可更新recordset對(duì)象的新記錄?;菊Z法為recordset.addnew fieldlist, va

33、lues其中,參數(shù)fieldlist可選,表示新記錄中字段的單個(gè)名稱、一組名稱或序號(hào)位置。values可選,表示新記錄中字段的單個(gè)或一組值。如果fields是數(shù)組,那么values也必須是有相同成員數(shù)的數(shù)組,否則將發(fā)生錯(cuò)誤。字段名稱的次序必須與每個(gè)數(shù)組中的字段值的次序相匹配。通過adaddnew使用supports方法可驗(yàn)證是否能夠?qū)⒂涗浱砑拥疆?dāng)前的recordset對(duì)象。在調(diào)用recordset方法后,新記錄將成為當(dāng)前記錄,并在調(diào)用update方法后繼續(xù)保持當(dāng)前記錄。如果recordset對(duì)象不支持書簽,當(dāng)移動(dòng)到其他記錄時(shí)將無法對(duì)新記錄進(jìn)行訪問。是否需要調(diào)用requery方法訪問新記錄則取決

34、于所使用的游標(biāo)類型。addnew方法的行為取決于recordset對(duì)象的更新模式以及是否傳送fields和values參數(shù)。在立即更新模式(調(diào)用update方法時(shí)提供者會(huì)立即將更改寫入基本數(shù)據(jù)源)下,調(diào)用不帶參數(shù)的addnew方法可將editmode屬性設(shè)置為adeditadd。提供者將任何字段值的更改緩存在本地。調(diào)用update方法可將新的記錄傳遞到數(shù)據(jù)庫并將editmode屬性重置為adeditnone。如果傳送了fields和values參數(shù),則立即將新記錄傳遞到數(shù)據(jù)庫(無須調(diào)用update),且editmode屬性值沒有改變(adeditnone)。在批更新模式(提供者緩存多個(gè)更改并只

35、在調(diào)用updatebatch時(shí)將其寫入基本數(shù)據(jù)源)下,調(diào)用不帶參數(shù)的addnew方法可將editmode屬性設(shè)置為adeditadd。提供者將任何字段值的更改緩存在本地。調(diào)用update方法可將新的記錄添加到當(dāng)前記錄集并將editmode屬性重置為adeditnone,但在調(diào)用updatebatch方法之前提供者不將更改傳遞到基本數(shù)據(jù)庫。如果傳送了fields和values參數(shù),則將新記錄發(fā)送給提供者以便緩存;需要調(diào)用updatebatch方法將新記錄傳遞到基本數(shù)據(jù)庫。如果unique table動(dòng)態(tài)屬性被設(shè)置,并且recordset是對(duì)多個(gè)表執(zhí)行join操作的結(jié)果,那么,addnew方法只能

36、將字段插入到由unique table屬性所命名的表中。3.3delete方法delete方法刪除當(dāng)前記錄或記錄組。語法為recordset.delete affectrecords參數(shù)affectrecords確定delete方法所影響的記錄數(shù)目,該值可以是表常量之一。表affectrecords取值常量說明adaffectcurrent默認(rèn)。僅刪除當(dāng)前記錄adaffectgroup刪除滿足當(dāng)前filter屬性設(shè)置的記錄。要使用該選項(xiàng),必須將filter屬性設(shè)置為有效的預(yù)定義常量之一adaffectall刪除所有記錄adaffectallchapters刪除所有子集記錄使用delete方法可

37、將recordset對(duì)象中的當(dāng)前記錄標(biāo)記為刪除。如果recordset對(duì)象不允許刪除記錄將引發(fā)錯(cuò)誤。使用立即更新模式將在數(shù)據(jù)庫中進(jìn)行立即刪除,否則記錄將標(biāo)記為從緩存刪除,實(shí)際的刪除將在調(diào)用updatebatch方法時(shí)進(jìn)行。(使用filter屬性可查看已刪除的記錄)。從已刪除的記錄中檢索字段值將引發(fā)錯(cuò)誤。刪除當(dāng)前記錄后,在移動(dòng)到其他記錄之前已刪除的記錄將保存為當(dāng)前記錄。一旦離開已刪除記錄,則無法再次訪問它。如果在事務(wù)中嵌套刪除,可用rollbacktrans方法恢復(fù)已刪除的記錄。如果處于批更新模式,則可用cancelbatch方法取消一個(gè)或一組掛起刪除。如果因與基本數(shù)據(jù)沖突而導(dǎo)致刪除記錄失敗(如

38、記錄已被其他用戶刪除),則提供者向errors集合返回警告但不終止程序執(zhí)行,只有在所有提出請(qǐng)求的記錄上發(fā)生沖突時(shí)才會(huì)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤。如果uniquetable動(dòng)態(tài)屬性被設(shè)置,并且recordset是對(duì)多個(gè)表執(zhí)行join操作的結(jié)果,那么,delete方法將僅刪除uniquetable屬性所命名的表中的行。3.4move移動(dòng)記錄移動(dòng)3.4recordset對(duì)象中的當(dāng)前記錄的位置。recordset.move numrecords,start其中,參數(shù)numrecords為帶符號(hào)長整形表達(dá)式,指定當(dāng)前記錄位置移動(dòng)的記錄數(shù)。start可選,字符串或變體形,用于計(jì)算書簽,也可為表列出的bookmarke

39、num值之一。常量說明adbookmarkcurrent默認(rèn)。從當(dāng)前記錄開始adbookmarkfirst從首記錄開始adbookmarklast從尾記錄開始所有recordset對(duì)象都支持move方法。如果numrecords參數(shù)大于零,則當(dāng)前記錄位置將向前移動(dòng)(向記錄集的末尾)。如果numrecords小于零,則當(dāng)前記錄位置向后移動(dòng)(向記錄集的開始)。如果move調(diào)用將當(dāng)前記錄位置移動(dòng)到首記錄之前,則當(dāng)前記錄放置在記錄集(bof為true)的首記錄之前。在bof屬性已經(jīng)為true時(shí)試圖向后移動(dòng)將產(chǎn)生錯(cuò)誤。如果move調(diào)用將當(dāng)前記錄位置移動(dòng)到尾記錄之后,則當(dāng)前記錄放置在記錄集(eof為tru

40、e)的尾記錄之后。在eof屬性已經(jīng)為true時(shí)試圖向前移動(dòng)將產(chǎn)生錯(cuò)誤。從空的recordset對(duì)象調(diào)用move方法將產(chǎn)生錯(cuò)誤。如果傳送start參數(shù),則移動(dòng)相對(duì)于該書簽的記錄(假定recordset對(duì)象支持書簽)。如果沒有指定,則移動(dòng)相對(duì)于當(dāng)前記錄。如果使用cahesize屬性在本地緩存來自提供者的記錄,則在傳送將當(dāng)前記錄位置移動(dòng)到當(dāng)前緩存的記錄組之外的numrecords參數(shù)時(shí),從目標(biāo)記錄開始檢索新的記錄組。cahesize屬性決定新檢索記錄組的大小,而且標(biāo)記錄是檢索到的第一個(gè)記錄。如果recordset對(duì)象是僅向前的,則用戶仍然可以傳送小于零的numrecords參數(shù)(只要目標(biāo)在已緩存記錄

41、的當(dāng)前集合中)。如果move調(diào)用將當(dāng)前記錄位置移動(dòng)到第一個(gè)已緩存記錄的前一個(gè)記錄,將產(chǎn)生錯(cuò)誤。因此可使用記錄緩存,他在支持僅向前滾動(dòng)的提供者上支持完全滾動(dòng)。由于緩存的記錄將加載到內(nèi)存,因此應(yīng)避免不必要地緩存過多記錄。即使僅向前recordset對(duì)象支持這種方式的向后移動(dòng),在任何僅向前的recordset對(duì)象上調(diào)用moveprevious方法將產(chǎn)生錯(cuò)誤。3.5movefirst、movelast、movenext和moveprevious方法在指定recordset對(duì)象中移動(dòng)到第一個(gè)、最后一個(gè)、下一個(gè)或前一個(gè)記錄并使該記錄成為當(dāng)前記錄。語法:recordset.movefirst | movel

42、ast | movenext | moveprevious說明如下:使用movefirst方法將當(dāng)前記錄位置移到recordse中的第一個(gè)記錄。使用movelast方法將當(dāng)前記錄位置移動(dòng)到recordse中的最后一個(gè)記錄。recordset對(duì)象必須支持書簽或向后光標(biāo)移動(dòng);否則調(diào)用該方法將產(chǎn)生錯(cuò)誤。使用movenext方法將當(dāng)前記錄向前移動(dòng)一個(gè)記錄(向recordset的底部)。如果最后一個(gè)記錄是當(dāng)前記錄并且調(diào)用movenext方法,則將當(dāng)前記錄設(shè)置到recordset(eof為true)的尾記錄之后。當(dāng)eof屬性已經(jīng)為true時(shí)試圖向前移動(dòng)將產(chǎn)生錯(cuò)誤。使用moveprevious方法將當(dāng)前記錄

43、位置向后移動(dòng)一個(gè)記錄(向記錄集的頂部)。recordset對(duì)象必須支持書簽或向后游標(biāo)移動(dòng);否則方法調(diào)用將產(chǎn)生錯(cuò)誤。如果首記錄是當(dāng)前記錄并且調(diào)用moveprevious方法,則將當(dāng)前記錄設(shè)置在recordset(bof為true)的首記錄之前。而bof屬性為true時(shí)向后移動(dòng)將產(chǎn)生錯(cuò)誤。如果recordset對(duì)象不支持書簽或向后游標(biāo)移動(dòng),則moveprevious方法將產(chǎn)生錯(cuò)誤。如果記錄集是僅向前的,但是用戶希望支持向前或向后滾動(dòng),則可以使用cachesize屬性創(chuàng)建記錄緩存,通過move方法支持向后游標(biāo)移動(dòng)。由于緩存記錄是加載到內(nèi)存中的,所以應(yīng)避免不必要地緩存太多記錄??梢哉{(diào)用僅向前recor

44、dset對(duì)象的movefirst方法;這樣做可使提供者重新執(zhí)行生成的recordset對(duì)象的命令。3.6save方法,保存記錄save方法將recordset保存(持久)在文件中。recordset.save filename, persistformat參數(shù)filename可選,代表文件的完整路徑名,用于保存recordset。persistformat可選,用于指定保存recordset所使用的格式。也可以是表中的某個(gè)常量。常量說明adpersistadtg(默認(rèn))使用專用的“advanced data tablegram”格式保存adpersistxml使用xml格式保存。只能對(duì)打開的r

45、ecordset調(diào)用save方法。隨后使用open方法可由filename恢復(fù)recordset。如果filter屬性影響recordset,將只保存經(jīng)過篩選的行。如果recordset是分級(jí)結(jié)構(gòu)的,那么將保存當(dāng)前子recordset和他的子recordset,但不保存上一級(jí)recordset。在第一次保存recordset時(shí)指定filename。如果隨后調(diào)用save,應(yīng)忽略filename,否則將產(chǎn)生運(yùn)行時(shí)錯(cuò)誤。如果隨后使用新的filename調(diào)用save,那么recordset將保存到新的文件中,但新文件和原始文件都是打開的。save不關(guān)閉recordset或filename,從而可以繼續(xù)

46、使用recordset并保存最新的更改。在recordset關(guān)閉之前filename將保持打開,在這段時(shí)間其他應(yīng)用程序可以讀取但不能寫入filename。處于安全的原因,對(duì)由microsoft internet explorer執(zhí)行的腳本,save方法僅允許使用低的和自定義的安全設(shè)置如果正在進(jìn)行異步recordset獲取、執(zhí)行或更新操作時(shí)調(diào)用save方法,則save將進(jìn)入等待狀態(tài),直到異步操作完成。在save方法完成后,當(dāng)前行位置將成為recordset的首行。要得到最佳結(jié)果,應(yīng)使用save將cursorlocation屬性設(shè)置為aduseclient。如果提供者不支持用于保存recordse

47、t對(duì)象的所需功能,則客戶端游標(biāo)將提供該功能。3.7update方法update方法保存對(duì)recordset對(duì)象的當(dāng)前記錄所做的所有更改。recordset.update fields,values其中,參數(shù)fields可選,為變體型,代表單個(gè)名稱;或變體型數(shù)組,代表需要修改的字段(一個(gè)或多個(gè))名稱及序號(hào)位置。values可選,為變體型,代表單個(gè)值;或變體型數(shù)組,代表新記錄中字段(單個(gè)或多個(gè))值。使用update方法保存自調(diào)用addnew方法或更改現(xiàn)有記錄中任何字段值以來所做的所有更改。recordset對(duì)象必須支持更新。要設(shè)置字段值,請(qǐng)進(jìn)行下列某項(xiàng)操作:1) 為對(duì)象的value屬性賦值,并調(diào)用

48、update方法。2) 在update調(diào)用中傳送字段名和值作為參數(shù)。3) 在update調(diào)用中傳送字段名數(shù)組和值數(shù)組。在使用字段和值的數(shù)組時(shí),兩個(gè)數(shù)組中必須有相等數(shù)量的元素,同時(shí)字段名的次序必須匹配字段值的次序。字段和值的數(shù)量及次序不匹配將產(chǎn)生錯(cuò)誤。如果希望取消對(duì)當(dāng)前記錄所做的任何更改或者放棄新添加的記錄,則必須調(diào)用cancelupdate方法。在調(diào)用update方法后當(dāng)前記錄仍為當(dāng)前記錄。如果設(shè)置了unique table動(dòng)態(tài)屬性,并且recordset是對(duì)多個(gè)表執(zhí)行join操作的結(jié)果,那么,update方法將無法更新多個(gè)表的任何主要關(guān)鍵字。此外,update只能更新在unique tabl

49、e屬性中指定的表中的字段。3.8datagrid控件介紹雖然adodc控件具有存取數(shù)據(jù)庫數(shù)據(jù)的能力,但卻沒有提供顯示數(shù)據(jù)的功能,如果想要顯示數(shù)據(jù)的內(nèi)容,除了利用adodc來讀取數(shù)據(jù)之外,還得編寫顯示數(shù)據(jù)的程序。比較簡單的方法是使用datagrid控件。datagrid控件的作用就是顯示并允許對(duì)recordset對(duì)象中代表記錄和字段的一系列行和列進(jìn)行數(shù)據(jù)操縱。該數(shù)據(jù)識(shí)別的datagrid控件看起來與grid控件類似??梢栽O(shè)置datagrid控件的datasource屬性為一個(gè)grid控件,以自動(dòng)填充該控件并且從data控件的recordset對(duì)象自動(dòng)設(shè)置其列標(biāo)頭。這個(gè)datagrid控件實(shí)際上是

50、一個(gè)固定的列集合,每一列的行數(shù)都是不確定的。datagrid控件的每一個(gè)單元格都可以包含文本值,但不能鏈接或內(nèi)嵌對(duì)象??梢栽诖a中指定當(dāng)前單元格,或者用戶可以使用鼠標(biāo)或箭頭鍵在運(yùn)行是改變他,通過在單元格中鍵入或編程的方式,單元格可以交互地編輯。單元格能夠被單獨(dú)地選定或按照行來選定。如果一個(gè)單元格的文本太長,則不能在單元格中全部顯示,文本將在同一單元格內(nèi)拆行到下一行。要顯示拆行的文本,必須增加單元格的column對(duì)象的width屬性和datagrid控件的rowheight屬性。在設(shè)計(jì)時(shí),可以通過調(diào)節(jié)列來交互地改變列寬度,或在column對(duì)象的屬性頁中改變列寬度。使用datagrid控件的col

51、umns集合的count屬性和recordset對(duì)象的recordcount屬性,可以決定控件中行和列的數(shù)目。datagrid控件的可包含的行數(shù)取決于系統(tǒng)的資源,而列樹最多可達(dá)32767列。選擇一個(gè)單元格,則colindex屬性被設(shè)置,也就是選擇了datagrid對(duì)象的columns集合中的column對(duì)象。column對(duì)象的text和value屬性引用當(dāng)前單元格的內(nèi)容。使用bookmark屬性能夠訪問當(dāng)前行的數(shù)據(jù),他能夠提供對(duì)下一級(jí)recordset對(duì)象中記錄的訪問。datagrid控件中的每一列都有自己的字體、邊框、自動(dòng)換行和另外一些和其他列無關(guān)的能夠被設(shè)置的屬性。在設(shè)計(jì)時(shí),可以設(shè)置列寬和

52、行高,并且建立對(duì)用戶不可見的列。還能阻止用戶在運(yùn)行時(shí)改變格式。第4章 功能模塊設(shè)計(jì)4.1登錄窗口設(shè)計(jì)當(dāng)單擊確定按鈕后,首先判斷用戶名輸入是否為空,如果為空,給出提示。如果不為空,在系統(tǒng)數(shù)據(jù)庫中的系統(tǒng)信息表中檢查是否有這個(gè)用戶名,這需要定義一個(gè)字符串類型的變量接收sql語句、一個(gè)recordset對(duì)象變量打開數(shù)據(jù)庫,在程序起始部分定義這兩個(gè)變量。打開數(shù)據(jù)表,查找是否有這個(gè)用戶名,如果沒有則給出提示。如果在數(shù)據(jù)表中確實(shí)存在這個(gè)用戶名,則檢查對(duì)應(yīng)的密碼是否正確,如果不正確則給出提示,并要求用戶重新輸入密碼。如果用戶名和密碼都正確,則記錄當(dāng)前用戶的用戶名和權(quán)限,關(guān)閉數(shù)據(jù)對(duì)象,關(guān)閉窗體,同時(shí)加載主窗體。

53、4.2 創(chuàng)建系統(tǒng)主控界面用戶在登陸界面輸入合法用戶名和密碼后,即登陸成功,馬上就進(jìn)入了系統(tǒng)主控界面。在初始化主控界面時(shí),首先判斷當(dāng)前登陸用戶的權(quán)限,來限制其操作功能。從管理人員表中我們知道不同等級(jí)的用戶其操作受限程度不同。這里主控界面命名為mdiform1,界面如圖所示。4.2.1 實(shí)現(xiàn)菜單功能分別單擊各個(gè)菜單項(xiàng),則打開相應(yīng)的窗體。分別的目標(biāo)菜單的click事件中使用show方法打開相應(yīng)的菜單即可。4.2.2實(shí)現(xiàn)狀態(tài)欄功能在主控界面中,最主要的是菜單,通告菜單來調(diào)其他功能窗體的運(yùn)行。其次是設(shè)計(jì)狀態(tài)信息欄,用于顯示登錄用戶相關(guān)信息。用戶狀態(tài)信息的顯示主要通過toolbar1控件來實(shí)現(xiàn)。4.3 創(chuàng)

54、建學(xué)生檔案管理窗體學(xué)生檔案管理窗體用于管理學(xué)生的基本檔案,包括檔案瀏覽、檔案添加、檔案查詢。4.3.1添加學(xué)生檔案窗體該窗體用于學(xué)生入學(xué)時(shí)錄入基本信息,并保存于學(xué)生檔案表。界面如下圖所示。本界面使用了一個(gè)text控件數(shù)組、一個(gè)combobox控件數(shù)組用于學(xué)生檔案信息的輸入;一個(gè)command1命令按鈕用于信息的提交,一個(gè)用于取消的command2命令按鈕。4.3.2學(xué)生檔案瀏覽窗體該窗體實(shí)現(xiàn)學(xué)生檔案信息的瀏覽、包括查詢、修改、刪除和報(bào)表打印功能,其中查詢調(diào)用查詢窗體,修改調(diào)用窗體。窗體界面如下圖所示。該窗體上增加了一個(gè)datagrid控件,用于顯示檔案信息,4個(gè)命令按鈕command,分別用于查詢、修改、刪除和打印功能。當(dāng)單擊“查詢”按鈕時(shí),調(diào)用學(xué)生檔案窗體,這個(gè)窗體的設(shè)計(jì)在后面介紹;當(dāng)選定表格中的一條記錄,然后單擊“修改”按鈕時(shí),調(diào)用前面介紹過的窗體來修改學(xué)生檔案信息;當(dāng)然在選定表格中一條記錄時(shí),也可以單擊“刪除”按鈕將其刪除;“打印”按鈕用于打印當(dāng)前表格中的檔案信息。4.3.3學(xué)生檔案窗體該窗體實(shí)現(xiàn)對(duì)學(xué)生檔案信息的查詢,查詢結(jié)果顯示在學(xué)生檔案瀏覽窗體中。窗體界面如圖所示。這

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論