




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Good is good, but better carries it.精益求精,善益求善。vb+SQL學生信息管理系統(tǒng)貴州師范大學職業(yè)技術(shù)學院計算機工程系畢業(yè)設(shè)計題目:學生信息管理系統(tǒng)系別:計算機工程系專業(yè)、班級:2008級計算機應(yīng)用班姓名:楊茂科學號:082113010053指導教師:尹丹老師完成時間:2011年03月25日前言學生信息管理系統(tǒng)是一個教育單位不可缺少的部分,它的內(nèi)容對于學校的決策者和管理者來說都至關(guān)重要,所以學生信息管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理學生學籍檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時
2、間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。隨著科學技術(shù)的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計算機應(yīng)用的一部分,使用計算機對學生學籍信息進行管理,具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學生學籍管理的效率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中將以開發(fā)一套學生信息管理系統(tǒng)為例,談?wù)勂溟_發(fā)過程和所涉及到的問題及解決方法。目錄T
3、OCo1-3hzuHYPERLINKl_Toc288576189摘要PAGEREF_Toc288576189h1HYPERLINKl_Toc288576190第一章引言PAGEREF_Toc288576190h1HYPERLINKl_Toc2885761911.1課題介紹PAGEREF_Toc288576191h1HYPERLINKl_Toc2885761921.2課題目的及意義PAGEREF_Toc288576192h1HYPERLINKl_Toc2885761931.3研究方法、發(fā)展趨勢PAGEREF_Toc288576193h1HYPERLINKl_Toc288576194第二章開發(fā)環(huán)境
4、、工具介紹PAGEREF_Toc288576194h2HYPERLINKl_Toc2885761952.1VisualBasic6.0PAGEREF_Toc288576195h2HYPERLINKl_Toc2885761962.1.1VisualBasic的編程特點PAGEREF_Toc288576196h2HYPERLINKl_Toc2885761972.1.2vb支持的數(shù)據(jù)庫系統(tǒng)PAGEREF_Toc288576197h3HYPERLINKl_Toc2885761982.1.3數(shù)據(jù)庫開發(fā)中的三大工具PAGEREF_Toc288576198h3HYPERLINKl_Toc2885761992
5、.2SQLServer2000簡介PAGEREF_Toc288576199h4HYPERLINKl_Toc2885762002.2.1SQLServer數(shù)據(jù)庫特點PAGEREF_Toc288576200h5HYPERLINKl_Toc2885762012.3ADO對象概述PAGEREF_Toc288576201h6HYPERLINKl_Toc2885762022.3.1利用ADO開發(fā)網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用程序PAGEREF_Toc288576202h6HYPERLINKl_Toc2885762032.3.2ADO組件的主要對象及其功能PAGEREF_Toc288576203h7HYPERLINKl_T
6、oc2885762042.3.3用來操控數(shù)據(jù)的SQL命令PAGEREF_Toc288576204h7HYPERLINKl_Toc2885762052.4VB訪問數(shù)據(jù)庫過程PAGEREF_Toc288576205h8HYPERLINKl_Toc288576206第三章系統(tǒng)分析與設(shè)計PAGEREF_Toc288576206h9HYPERLINKl_Toc2885762073.1系統(tǒng)功能分析PAGEREF_Toc288576207h9HYPERLINKl_Toc2885762083.2系統(tǒng)結(jié)構(gòu)圖PAGEREF_Toc288576208h9HYPERLINKl_Toc2885762093.3系統(tǒng)E-R
7、圖PAGEREF_Toc288576209h10HYPERLINKl_Toc2885762103.4數(shù)據(jù)庫設(shè)計PAGEREF_Toc288576210h11HYPERLINKl_Toc288576211第四章系統(tǒng)具體實現(xiàn)PAGEREF_Toc288576211h12HYPERLINKl_Toc2885762124.1模塊設(shè)計PAGEREF_Toc288576212h12HYPERLINKl_Toc2885762134.2登錄窗體設(shè)計PAGEREF_Toc288576213h14HYPERLINKl_Toc2885762144.3主界面設(shè)計PAGEREF_Toc288576214h16HYPER
8、LINKl_Toc2885762154.3.1ImageLisPAGEREF_Toc288576215h19HYPERLINKl_Toc2885762164.3.2ToolbarPAGEREF_Toc288576216h19HYPERLINKl_Toc2885762174.3.3StatusBarPAGEREF_Toc288576217h19HYPERLINKl_Toc2885762184.3.4菜單編輯器PAGEREF_Toc288576218h19HYPERLINKl_Toc2885762194.4數(shù)據(jù)庫維護窗體設(shè)計PAGEREF_Toc288576219h20HYPERLINKl_Toc
9、2885762204.5管理員信息管理PAGEREF_Toc288576220h21HYPERLINKl_Toc2885762214.5.1管理員注冊窗體設(shè)計PAGEREF_Toc288576221h21HYPERLINKl_Toc2885762224.5.2密碼修改窗體設(shè)計PAGEREF_Toc288576222h23HYPERLINKl_Toc2885762234.6學生基本情況更新窗體設(shè)計PAGEREF_Toc288576223h25HYPERLINKl_Toc2885762244.7學生基本情況維護窗體設(shè)計PAGEREF_Toc288576224h29HYPERLINKl_Toc288
10、5762254.7.1數(shù)據(jù)環(huán)境PAGEREF_Toc288576225h31HYPERLINKl_Toc2885762264.7.2DateReport1設(shè)計PAGEREF_Toc288576226h31HYPERLINKl_Toc2885762274.7.3班級查找對話框PAGEREF_Toc288576227h32HYPERLINKl_Toc2885762284.8成績維護窗體設(shè)計PAGEREF_Toc288576228h33HYPERLINKl_Toc2885762294.8.1DateReport2設(shè)計PAGEREF_Toc288576229h35HYPERLINKl_Toc28857
11、62304.8.2班級查找對話框PAGEREF_Toc288576230h35HYPERLINKl_Toc2885762314.9關(guān)于系統(tǒng)和系統(tǒng)幫助窗體設(shè)計PAGEREF_Toc288576231h37HYPERLINKl_Toc288576232第五章總結(jié)PAGEREF_Toc288576232h38HYPERLINKl_Toc288576233結(jié)束語PAGEREF_Toc288576233h39HYPERLINKl_Toc288576234參考文獻PAGEREF_Toc288576234h40摘要隨著信息技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實施在技術(shù)上已逐步成熟。管理信息系統(tǒng)
12、是一個不斷發(fā)展的新型學科,任何一個單位要生存要發(fā)展,要高效率地把內(nèi)部活動有機地組織起來,就必須建立與自身特點相適應(yīng)的管理信息系統(tǒng)。本系統(tǒng)是在管理信息系統(tǒng)的理論和方法指導下、數(shù)據(jù)庫技術(shù)支持下完成的。本文在結(jié)構(gòu)上首先論述了畢業(yè)設(shè)計選題的背景、目的和意義,然后敘述了開發(fā)環(huán)境、開發(fā)平臺以及數(shù)據(jù)庫技術(shù),接著用表格和圖片的方式介紹了系統(tǒng)的整體規(guī)劃,接下來是系統(tǒng)在具體實現(xiàn)中的詳細內(nèi)容,最終本系統(tǒng)能夠完成信息的輸入、輸出,數(shù)據(jù)的修改、查詢以及打印報表等功能,本系統(tǒng)界面友好,操作簡單,比較實用。關(guān)鍵詞:控件;窗體;報表;關(guān)系數(shù)據(jù)庫管理系統(tǒng);VB。第一章引言1.1課題介紹高校學生信息的管理是一項既重要又繁瑣的工作
13、。為更好的做好這項工作,提過工作效率,更好的為學校的發(fā)展和一線教學服務(wù),決定:結(jié)合我校實際情況,自行研制一個學生信息管理系統(tǒng)。1.2課題目的及意義由于現(xiàn)今的學生信息管理非常繁瑣,行政人員付出大量的工作時間,得到的效率很低。因此為提高工作效率,減輕校方人員的工作負擔,決定開發(fā)學生信息管理系統(tǒng)。計算機已經(jīng)成為我們學習和工作的得力助手:今天,計算機的價格已經(jīng)十分低廉,性能有了長足的進步。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計算機之所以如此流行的原因主要有以下幾個方面:首先,計算機可以代替人工進行許多繁雜的勞動;其次,計算機可以節(jié)省許多資源;第三,計算機可以大大的提高人們的工作效率;第四,計算機可以使敏感文檔更加
14、安全等等。為了解決傳統(tǒng)學生信息的管理正面臨著的這些問題,我所設(shè)計的學生信息管理系統(tǒng)也就應(yīng)運而生了。1.3研究方法、發(fā)展趨勢本系統(tǒng)采用功能分析法即通過說明社會現(xiàn)象怎樣滿足一個社會系統(tǒng)的需要(即具有怎樣的功能)來解釋社會現(xiàn)象和CS模式共同完成?,F(xiàn)代教育技術(shù)特別是網(wǎng)絡(luò)與多媒體技術(shù)的發(fā)展,對學習活動產(chǎn)生了具有深遠意義的沖擊,人們可以選擇或者設(shè)計適合其學習特點的信息采集、加工與重組方式。本系統(tǒng)采用CS模式,在某些方面還不是表現(xiàn)的很好,但未來有關(guān)學生信息管理的應(yīng)該采用多層架構(gòu)的系統(tǒng),是真正適應(yīng)教育信息化發(fā)展三大趨勢的校園網(wǎng)絡(luò)應(yīng)用系統(tǒng),全面支持Internet功能、遠程訪問功能,采用先進的CS和BS模式共同
15、開發(fā),支持有關(guān)學校信息交流、日常教學、教務(wù)管理等的各種應(yīng)用,提供一個基于校園內(nèi)聯(lián)網(wǎng)中支持各種類型的學校應(yīng)用產(chǎn)品的服務(wù)平臺和開發(fā)平臺,基本目標是在學校內(nèi)部和外部建立起順暢的信息通道,讓信息技術(shù)成為推動教育生產(chǎn)力的有力工具,提高學校的管理水平和效率,同時充分利用全球的教育資源為學校的教育服務(wù),克服目前大部分學校的校園網(wǎng)建設(shè)只起到宣傳作用的通病。第二章開發(fā)環(huán)境、工具介紹該軟件是在WindowsXPProfessional+VisualBasic6.0+SQLServer2000的環(huán)境下完成的。下面就對這些開發(fā)工具進行介紹:2.1VisualBasic6.0微軟公司的VisualBasic6.0是Wi
16、ndows應(yīng)用程序開發(fā)工具,是目前最為廣泛的、易學易用的面向?qū)ο蟮拈_發(fā)工具。VisualBasic提供了大量的控件,這些控件可用于設(shè)計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設(shè)計過程,從而有效的提高了應(yīng)用程序的運行效率和可靠性。利用VISUALBASIC程序設(shè)計語言,可以很方便地設(shè)計出在WINDOWS環(huán)境下運行的應(yīng)用程序。故而,實現(xiàn)本系統(tǒng)VB是一個相對較好的選擇。2.1.1VisualBasic的編程特點VisualBasic語言的出現(xiàn)為Windows下的編程提出了一個新概念,利用VisualBasic的動態(tài)數(shù)據(jù)交換、對象的鏈接和嵌入、動態(tài)鏈接庫、ActiveX技術(shù)可以很方便地
17、設(shè)計出功能強大的應(yīng)用程序。利用VisualBasic語言編程有以下幾個特點:1)、可視化程序設(shè)計在VisualBasic中開發(fā)的應(yīng)用程序,不但有豐富的圖形界面,同時由用戶為開發(fā)圖形界面添加的代碼真是少而又少,因為在設(shè)計圖形界面的過程中只需設(shè)置ActiveX控件的屬性即可。2)、強大的數(shù)據(jù)庫和網(wǎng)絡(luò)功能隨著VisualBasic語言的向前發(fā)展,它在數(shù)據(jù)庫和網(wǎng)絡(luò)方面的功能優(yōu)勢就愈加明顯,利用VisualBasic中的ODBC開放式的數(shù)據(jù)庫訪問技術(shù)可以很方便地開發(fā)出自己的數(shù)據(jù)庫應(yīng)用程序;利用VisualBasic自帶的可視化數(shù)據(jù)管理器和報表生成器,完全可以在VisualBasic就完成數(shù)據(jù)庫的開發(fā)工作
18、。3)、其他特性在VisualBasic以前的版本中,由于仍然擺脫不了解釋執(zhí)行的代碼運行機制,所以在相當?shù)某潭壬现萍s了VisualBasic的發(fā)展。從VisualBasic5.0版本開始,在VisualBasic中制作的應(yīng)用程序都改變?yōu)榫幾g執(zhí)行,使得VisualBasic的代碼效率有了很大的提高,同時執(zhí)行的速度也加快了解30%(同VisualBasic4.0相比)。當然在VisualBasic中還有其它特性,例如:面向?qū)ο蟮木幊陶Z言;結(jié)構(gòu)化程序設(shè)計;事件驅(qū)動的程序設(shè)計:在傳統(tǒng)的或“過程化”的應(yīng)用程序中,應(yīng)用程序自身控制了執(zhí)行哪一部分代碼和按何種順序執(zhí)行代碼。從第一行代碼執(zhí)行程序并按應(yīng)用程序中預
19、定的路徑執(zhí)行,必要時才會調(diào)用過程。在事件驅(qū)動的應(yīng)用程序中,代碼不是按預定的路徑執(zhí)行,而是在響不同的事件時執(zhí)行不同的代碼片段。事件可以由用戶操作觸發(fā)、也可以由來自操作系統(tǒng)或其它應(yīng)用程序的消息觸發(fā)、甚至由應(yīng)用程序本身的消息觸發(fā)。這些事件的順序,決定了代碼執(zhí)行的順序,因此應(yīng)用程序每次運行時所經(jīng)過的路徑都是不同的。支持動態(tài)鏈接庫;應(yīng)用程序之間的資源共享;事件驅(qū)動的程序設(shè)計;在傳統(tǒng)的或“過程化”的應(yīng)用程序中,應(yīng)用程序自身控制了執(zhí)行哪一部分代碼和按何種順序執(zhí)行代碼。從第一行代碼執(zhí)行程序并按應(yīng)用程序中預定的路徑執(zhí)行,必要時才會調(diào)用過程。在事件驅(qū)動的應(yīng)用程序中,代碼不是按預定的路徑執(zhí)行,而是在響不同的事件時執(zhí)
20、行不同的代碼片段。事件可以由用戶操作觸發(fā)、也可以由來自操作系統(tǒng)或其它應(yīng)用程序的消息觸發(fā)、甚至由應(yīng)用程序本身的消息觸發(fā)。這些事件的順序,決定了代碼執(zhí)行的順序,因此應(yīng)用程序每次運行時所經(jīng)過的路徑都是不同的。支持動態(tài)鏈接庫;應(yīng)用程序之間的資源共享2.1.2vb支持的數(shù)據(jù)庫系統(tǒng)VB支持對多格式的數(shù)據(jù)庫的訪問和維護,無論是Access還是Foxpro中創(chuàng)建的數(shù)據(jù)庫,都可以用VB打開,對其進行查詢、修改和刪除等操作。事實上,VB幾乎支持對市面上所有數(shù)據(jù)庫的訪問。VB可以訪問的數(shù)據(jù)庫可以簡單的分為三類,即:MicrosoftAccess格式數(shù)據(jù)庫,外部數(shù)據(jù)庫和ODBC數(shù)據(jù)庫。VB對多種數(shù)據(jù)庫格式的支持,大大
21、的增強了開發(fā)數(shù)據(jù)庫應(yīng)用程序的能力。2.1.3數(shù)據(jù)庫開發(fā)中的三大工具VisualBasic在數(shù)據(jù)庫應(yīng)用程序的開發(fā)領(lǐng)域中,提供包含數(shù)據(jù)管理(DataManager),數(shù)據(jù)控件(DataControl)以及數(shù)據(jù)編程對象(數(shù)據(jù)訪問對象(DAO)、遠程數(shù)據(jù)對象(RDO)和ActiveX數(shù)據(jù)對象(ADO)等功能強大的工具,協(xié)助設(shè)計人員輕松的連接數(shù)據(jù)庫文件,并訪問其中的數(shù)據(jù),在功能方面與其他一些專業(yè)數(shù)據(jù)庫軟件(如FoxPro,MicosoftAccess等)不相上下。數(shù)據(jù)管理器(DataManager)是VisualBasical已有的老成員之一,拓本盛舉有的Jet數(shù)據(jù)庫引擎(DatabaseEngine)
22、可以幫助VB程序元件立即維護數(shù)據(jù)庫內(nèi)容,并可通過輸入查詢或查找數(shù)據(jù)庫信息,而不必再通過其他數(shù)據(jù)庫軟件另外去設(shè)計數(shù)據(jù)庫。數(shù)據(jù)控件是VB所提供的基本控件成員之一。它使得設(shè)計者省下一堆程序代碼編寫的工作,能夠輕松的設(shè)計及維護數(shù)據(jù)庫內(nèi)容。數(shù)據(jù)控件可以通過一些屬性的設(shè)置去鏈接某個數(shù)據(jù)庫文件,但是它本身并無法顯示數(shù)據(jù)庫各個記錄的內(nèi)容,必須在搭配其他具有數(shù)據(jù)感知(DataAware)功能的控件對應(yīng)并顯示一個字段內(nèi)容,以方便地進行記錄的瀏覽及編輯工作。VB提供的數(shù)據(jù)訪問對象(DataAccessObject;DAO)讓程序設(shè)計者擁有更大的發(fā)揮空間。借助程序代碼編寫,直接控制Jet數(shù)據(jù)庫引擎,配合數(shù)據(jù)庫控件,能
23、夠開發(fā)出更具彈性且高效率的數(shù)據(jù)應(yīng)用程序。RDO是處理遠程數(shù)據(jù)庫的一些專門需要的對象集合。使用RDO可以不用本地的查詢機就能訪問ODBC數(shù)據(jù)源,這無疑將大大提高應(yīng)用程序的性能。ADO是VB6.0中新增的對象,它是一個更簡單的對象模型,它更好的集成了其它數(shù)據(jù)訪問技術(shù),并且對本地和遠程數(shù)據(jù)庫均有共同的界面,可以取代DAO和RDO。ADO更易于使用。我們在本系統(tǒng)中利用數(shù)據(jù)管理器創(chuàng)建了數(shù)據(jù)庫及數(shù)據(jù)庫表,并采用了ADO數(shù)據(jù)訪問技術(shù)。2.2SQLServer2000簡介SQLServer2000是微軟公司最新版的大型數(shù)據(jù)庫服務(wù)器,其性能指標在各方面都有趕超Oracle數(shù)據(jù)庫的趨勢。用它可以方便地管理數(shù)據(jù)庫和
24、開發(fā)應(yīng)用程序,它使用了最先進的數(shù)據(jù)庫構(gòu)架,與WindowsNT/2000平臺緊密集成,具有完全的Web功能。通過對高端硬件平臺、網(wǎng)絡(luò)和存儲技術(shù)的支持,為WEB站和企業(yè)的應(yīng)用最大限度地提供了可擴展性和高可靠性,能在Internet商業(yè)領(lǐng)域快速建立并應(yīng)用。此外,還增強了安全性,保護防火墻內(nèi)外的數(shù)據(jù)。支持基于角色的安全并擁有安全審計工具。在經(jīng)歷了SQLServer6.5和7.0兩個版本的嘗試后,微軟公司終于開始了大規(guī)模的業(yè)務(wù)。記得在以前各種關(guān)于SQLServer的文章,都會將其定位成中小型應(yīng)用方面,這種感覺被大家自然的延續(xù)到了2000版之中。其實這是一種誤解。在過去的很長一段時間中,微軟公司聘請了世
25、界上最優(yōu)秀的數(shù)據(jù)庫專家以及專門搭建了信息量可謂空前的地理信息系統(tǒng),勵精圖治,就是為了摘掉扣在自己頭上的這頂帽子。有了強大的性能和功能支持,再配合其一向為人稱道的易用性,SQLServer可以說成為了開發(fā)者手中的一柄利器!另外,目前國內(nèi)的一些關(guān)于微軟平臺的數(shù)據(jù)庫編程教程,喜歡使用Access作為數(shù)據(jù)庫平臺的案例,并展開相關(guān)的內(nèi)容。這其實對于開發(fā)真正的數(shù)據(jù)庫應(yīng)用并沒有直接的幫助作用,只能使大家停留在應(yīng)用的初級階段。SQLServer2000提供的非常傻瓜的缺省安裝和使用模式,其上手難度并不比Access大。另外,SQLServer2000可以兼顧小、中、大規(guī)模的應(yīng)用,有著遠遠比Access強大的伸
26、縮性。2.2.1SQLServer數(shù)據(jù)庫特點概括起來,SQLServer2000數(shù)據(jù)庫管理系統(tǒng)具有以下主要特點。1)、豐富的圖形管理工具,使系統(tǒng)管理、操作更為直觀方便。SQLServer企業(yè)管理器是一個基于圖形用戶界面(GUI)的集成管理工具,利用它可以配置管理SQLServer服務(wù)器、管理數(shù)據(jù)庫和數(shù)據(jù)庫對象、備份和恢復數(shù)據(jù)、調(diào)度任務(wù)和管理警報、實現(xiàn)數(shù)據(jù)復制和轉(zhuǎn)換操作等。此外,SQLServer2000還提供了SQL事件探查器、SQL查詢分析器、SQLServer服務(wù)管理器和多種操作向?qū)У葓D形界面管理工具,大大簡化了用戶操作,從而增強了系統(tǒng)的易用性。2)、動態(tài)自動管理和優(yōu)化功能。即使SQLSe
27、rver數(shù)據(jù)庫管理員不做任何設(shè)置,SQLServer也能夠在運行過程中根據(jù)環(huán)境配置和用戶訪問情況動態(tài)自動配置,以達到最優(yōu)性能,從而減輕管理員工作。3)、充分的Internet技術(shù)支持。Internet網(wǎng)絡(luò)發(fā)展到今天已經(jīng)成為一條重要的信息發(fā)布渠道,SQLServer增強了對Internet技術(shù)支持,它除保留了前期版本中的數(shù)據(jù)庫Web出版工具“Web助手”外,還增強了對XML和HTTP技術(shù)的支持,這使得電子商務(wù)系統(tǒng)能夠通過XML等訪問SQLServer數(shù)據(jù)庫系統(tǒng),也擴展了SQLServer在數(shù)據(jù)挖掘和分析服務(wù)領(lǐng)域的應(yīng)用。4)、豐富的編程接口工具,使用戶開發(fā)SQLServer數(shù)據(jù)庫應(yīng)用程序更加靈活。
28、SQLServer提供了Transact-SQL、DB-LibraryforC、嵌入式SQL(ESQL)等開發(fā)工具,Transact-SQL與工業(yè)標準SQL語言兼容,并在其基礎(chǔ)上加以擴充,使它更適合事務(wù)處理方面的需要。此外,SQLServer2000還支持ODBC、OLEDB、ADO規(guī)范,可以使用ODBC、OLEDB、ADO接口訪問SQLServer數(shù)據(jù)庫。5)、具有很好的伸縮性和可靠性。SQLServer2000既能運行在Windows桌面操作系統(tǒng)下,又可運行在服務(wù)器操作系統(tǒng)(包括WindowsNT和Windows2000)下;既能運行在單CPU計算機上,又能運行在對稱多處理系統(tǒng)下。所以,它
29、具有很好的伸縮性,能夠滿足從桌面應(yīng)用到大型企業(yè)分布式應(yīng)用到不同層次用戶的要求。6)、簡單的管理方式。SQLServer2000與MicrosoftWindows2000有機集成,所以可以使用Windows2000的活動目錄(ActiveDirectory)功能對SQLServer進行集中管理,大大簡化大型企業(yè)中的系統(tǒng)管理工作。此外,與Windows2000的集成還使SQLServer能夠充分利用操作系統(tǒng)所提供的服務(wù)和功能(如安全管理、事件日志、性能監(jiān)視器、內(nèi)存管理和異步I/O等),從而增強了SQLServer數(shù)據(jù)庫系統(tǒng)的功能,并且只需要占用很少的系統(tǒng)資源。2.3ADO對象概述ADO對象能夠存取
30、到數(shù)據(jù)庫的內(nèi)容,首先要求數(shù)據(jù)庫的驅(qū)動程序(ODBC驅(qū)動程序與OLEDB驅(qū)動程序)必須安裝上,否則,ADO對象是無法存取數(shù)據(jù)庫中內(nèi)容,其原理示意圖如下圖所示:客戶端客戶端客戶端ADO對象各種數(shù)據(jù)庫所對應(yīng)的驅(qū)動程序各種數(shù)據(jù)庫(如Access、SQLServer以及Oracle等)請注意:上圖中的“各種數(shù)據(jù)庫所對應(yīng)的驅(qū)動程序”即ODBC驅(qū)動程序與OLEDB驅(qū)動程序。2.3.1利用ADO開發(fā)網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用程序ADO(ActiveDateObjects,即ActiveX數(shù)據(jù)對象)是一個ASP內(nèi)置的ActiveX服務(wù)器組件(ActiveXServerComponent)??砂阉cASP結(jié)合起來,建立提供數(shù)
31、據(jù)庫信息的網(wǎng)頁內(nèi)容,對數(shù)據(jù)庫進行查詢、插入、更新、刪除等操作,并可以把在用戶端實現(xiàn)“網(wǎng)上實時更新顯示”的最新Web數(shù)據(jù)庫技術(shù)。要執(zhí)行ADO,服務(wù)器端必須安裝WindowsNTServer和InternetInformationServer(IIS),而客戶端只要有IE或NETSCAPE較新版本的瀏覽器即可。利用ADO開發(fā)網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用程序有以下幾個優(yōu)點:1)、支持客戶機/服務(wù)器結(jié)構(gòu)(Client/Server)與Web系統(tǒng)開發(fā)技術(shù)。2)、內(nèi)部有多個互相獨立的對象模型。3)、支持分批修改數(shù)據(jù)庫內(nèi)容。4)、支持多種不同的數(shù)據(jù)控制指標形式。5)、先進的Recordset數(shù)據(jù)高速緩存管理功能。6)、允
32、許在程序中使用多個Recordset對象或者多個分批修改區(qū)塊傳送。7)、ADO屬于Free_threaded對象,利用它可以開發(fā)出更有效的Web應(yīng)用程序。2.3.2ADO組件的主要對象及其功能ADO組件又稱為數(shù)據(jù)庫訪問組件,它提供了以下七種對象:1)、Connection對象:提供對數(shù)據(jù)庫的連接服務(wù)。2)、Command對象:定義對數(shù)據(jù)庫源操作的命令。3)、Recordset對象:由數(shù)據(jù)庫服務(wù)器所返回的記錄集。Recordset對象的LockType屬性的設(shè)置值如下表所示:常量值說明adLockReadOnly1默認值,只讀。無法更改數(shù)據(jù)adLockPressimistic2保守式記錄鎖定(逐
33、條)。提供者執(zhí)行必要的操作確保成功編輯記錄,通常采用立即鎖定數(shù)據(jù)源的記錄的方式。adLockOptimistic3開放式記錄鎖定(逐條)。提供者使用開放式鎖定,只在調(diào)用Updata方法時鎖定記錄。adLockBatchOptimistic4開放式批更新。用于與立即更新模式相反的批更新模式。4)、Fields對象:由數(shù)據(jù)庫服務(wù)器所返回的單一數(shù)據(jù)字段5)、Parametes對象:表示Command對象的參數(shù)。6)、Property對象:單獨的一個Property對象,提供屬性功能。7)、Error對象:提供處理錯誤的功能。使用ADO對象可以建立和管理數(shù)據(jù)庫的連接,按數(shù)據(jù)庫服務(wù)器的要求獲得數(shù)據(jù),執(zhí)行
34、更新、刪除、添加數(shù)據(jù)等操作,獲取ODBC的錯誤信息等。2.3.3用來操控數(shù)據(jù)的SQL命令SQL命令是發(fā)送給數(shù)據(jù)庫并要求數(shù)據(jù)庫操作的指令,它是專門為數(shù)據(jù)庫設(shè)計的語言,比一般的計算機程序語言簡單的多。SQL命令主要分成兩部分:DDL(DataDefinitionLanguage)和DML(DataManipulationLanguage),其中DDL是建立數(shù)據(jù)表及數(shù)據(jù)列的指令群,而DML則是操作數(shù)據(jù)庫記錄的指令群,如數(shù)據(jù)庫記錄的添加、更新、刪除、和查詢等。SQL命令,包括Select、Delete、Update、InsertInto、SelectInto等。1)、篩選及排序記錄的Select指令基
35、本句型一:Select字段串列From數(shù)據(jù)表基本句型二:SelectFromWhere篩選條件基本句型三:SelectFromOrderBy字段串列SelectTop:限定選取數(shù)據(jù)的條數(shù)2)、刪除數(shù)據(jù)記錄的Delete指令基本語法:DeleteFrom數(shù)據(jù)表Where條件式3)、更新數(shù)據(jù)記錄的Update指令基本語法:Update數(shù)據(jù)表Set表達式4)、增加數(shù)據(jù)記錄的InsertInto指令基本句型一:InsertInto數(shù)據(jù)表(字段串列)Values(字段串列)基本句型二:InsertInto數(shù)據(jù)表(字段1,字段2,字段n)Select5)、建立新數(shù)據(jù)表的SelectInto指令該指令與“I
36、nsertIntoSelect”指令的區(qū)別是,這個指令將建立另一個新的數(shù)據(jù)表,而InsertInto是增加數(shù)據(jù)記錄到“現(xiàn)存的”數(shù)據(jù)表中。2.4VB訪問數(shù)據(jù)庫過程1)、定義數(shù)據(jù)庫組件DimconnAsNewADODB.Connection其中conn為連接對象DimrecoAsNewADODB.Recordset其中reco為結(jié)果集對象2)、打開數(shù)據(jù)庫對于SQL數(shù)據(jù)庫,其連接語句為conn.Opendriver=sqlserver;server=localhost;uid=sa;pwd=;database=student。而對于Access數(shù)據(jù)庫,連接語句為conn.OpenProvider=M
37、icrosoft.Jet.OLEDB.4.0;DataSource=&App.Path+student.mdb3)、設(shè)定SQL語句,使用“Execute”命令,即可開始執(zhí)行訪問數(shù)據(jù)庫的動作4)、關(guān)閉結(jié)果集對象,斷開與數(shù)據(jù)庫的連接reco.Closeconn.Close第三章系統(tǒng)分析與設(shè)計3.1系統(tǒng)功能分析隨著學校的規(guī)模不斷擴大,學生數(shù)量急劇增加,有關(guān)學生的各種信息量也成倍增長。面對龐大的信息量就需要有一個學生信息管理系統(tǒng)來提高學生管理工作的效率。通過這樣的系統(tǒng)可以做到信息的規(guī)范管理、快速查詢、修改、增加、刪除等,從而減少管理方面的工作量。設(shè)計內(nèi)容為管理員或普通用戶登錄該系統(tǒng)進行五個模塊操作:1
38、)、學生基本情況更新:增加、修改、刪除、查詢(按學號)2)、學生基本情況維護:增加、修改、刪除、打印、查詢(按專業(yè))3)、學生成績維護:添加成績、打印、查詢(按學號、專業(yè))4)、密碼修改:修改所有用戶密碼(管理員)、修改自己密碼(普通用戶)5)、數(shù)據(jù)維護:對該系統(tǒng)數(shù)據(jù)庫進行備份和還原3.2系統(tǒng)結(jié)構(gòu)圖本系統(tǒng)主要包括學生基本情況更新,學生基本情況維護、學生成績維護、密碼修改和數(shù)據(jù)維護5個大的模塊,各個模塊的具體功能如下圖所示:3.3系統(tǒng)E-R圖1)、用戶(普通用戶、管理員)實體圖如下圖所示:2)、學生實體圖如下圖所示:3)、學生選課關(guān)系圖如下圖所示:3.4數(shù)據(jù)庫設(shè)計在系統(tǒng)設(shè)計過程中,首先要建立的就
39、是數(shù)據(jù)庫。本數(shù)據(jù)庫采用SQLServer2000來構(gòu)造,共使用了3個表,它們分別是用戶信息表(admin)、學生基本情況表(student)、學生成績表(grade)。1)、用戶信息表(admin):表結(jié)構(gòu)如下表所示:名稱字段名稱類型長度用戶IDidint4用戶名namechar6用戶密碼passwordchar6用戶類型typechar10注冊時間registdatedatetime82)、學生基本情況表(student):表結(jié)構(gòu)如下表所示:名稱字段名稱類型長度學號snovarchar10姓名snamechar10性別ssexchar2班級sclassvarchar50出生年月sbirthd
40、aychar10政治面貌spavarchar8地址saddressvarchar50電話sphonevarchar11Emailsemailvarchar203)、學生成績表(grade):表結(jié)構(gòu)如下表所示:名稱字段名稱類型長度學號snoint2課程名cnamechar10成績gradechar2學期semesterchar8第四章系統(tǒng)具體實現(xiàn)本部分主要內(nèi)容為本系統(tǒng)的各個運行界面以及主要界面的源代碼4.1模塊設(shè)計添加一個模塊module1。該部分主要包括一些公共變量的定義、main過程定義以及自動把備份的數(shù)據(jù)庫文件還原到SQLServer2000中的代碼設(shè)計。代碼如下:PublicDeclar
41、eFunctionGetComputerNameLibkernel32AliasGetComputerNameA(ByVallpBufferAsString,nSizeAsLong)AsLong獲取主機名的定義PublicAname,AsortAsString狀態(tài)欄上顯示當前用戶的名稱和用戶類型PublicconnAsNewADODB.Connection新建連接對象PublicrecoAsNewADODB.Recordset新建記錄集對象Publicreco2AsNewADODB.RecordsetPublicconn_str1,conn_str2AsString=定義一個main過程,從m
42、ain過程啟動程序,同時連接到數(shù)據(jù)庫=PublicSubMain()reco.CursorLocation=adUseClientreco2.CursorLocation=adUseClientconn_str1=Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=maokeyang;DataSource=&GetPcName()conn_str2=Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=F
43、alse;InitialCatalog=master;DataSource=&GetPcName()DB_ADD先調(diào)用DB_ADD來將maokeyang數(shù)據(jù)庫添加到SQLServer2000中conn.Openconn_str1連接到數(shù)據(jù)庫frm_login.Show登錄窗體顯示EndSub=此函數(shù)用來獲取主機名!=PublicFunctionGetPcName()AsStringDimcompnameAsString,retvalAsLongcompname=Space(255)retval=GetComputerName(compname,255)compname=Left(compnam
44、e,InStr(compname,vbNullChar)-1)GetPcName=compnameEndFunction=關(guān)閉記錄集=PublicSubClose_Reco()Ifreco.State=1Thenreco.CloseEndIfEndSub此過程用來在啟動軟件的時候把maokeyang數(shù)據(jù)庫添加到SQLServer2000中PublicSubDB_ADD()DimsAsStringOnErrorGoToErrorChecka:conn.Openconn_str2reco.Openselect*fromsysdatabaseswherename=maokeyang,conn,1,3
45、查詢是否存在maokeyang數(shù)據(jù)庫Ifreco.RecordCount1Then如果maokeyang數(shù)據(jù)庫不存在,則添加maokeyang數(shù)據(jù)庫,否則不添加mkdir_killconn.Executerestoredatabasemaokeyangfromdisk=&App.Path&backupmaokeyangElsereco.Closeconn.CloseExitSubEndIfreco.Closeconn.CloseExitSubErrorCheck:MsgBox您可能沒有啟動SQLServer服務(wù),提示ShellnetstartmssqlserverMsgBox啟動成功!,提示G
46、oToaEndSub新建路徑并刪除原有的數(shù)據(jù)庫PublicSubmkdir_kill()OnErrorResumeNextMkDirc:programfilesMkDirc:ProgramFilesMicrosoftSQLServerMkDirC:ProgramFilesMicrosoftSQLServerMSSQLMkDirC:ProgramFilesMicrosoftSQLServerMSSQLDataKillC:ProgramFilesMicrosoftSQLServerMSSQLDatamaokeyang_Log.LDFKillC:ProgramFilesMicrosoftSQLSer
47、verMSSQLDatamaokeyang_Data.MDFEndSub4.2登錄窗體設(shè)計添加一個窗體(frm_login)。該部分主要包括用戶的驗證以及登錄次數(shù)的限制。窗體運行情況如下圖所示:代碼如下:DimnAsIntegern為限制登陸次數(shù)的變量PrivateSubForm_Load()n=4EndSubPrivateSubCommand1_Click()確定按鈕Close_RecoWithreco連接到表并產(chǎn)生記錄集.Openselect*fromadminwherename=&Trim(Text1.Text)&andpassword=&Trim(Text2.Text)&,conn,1
48、,1If.RecordCount0ThenAname=Trim(.Fields(name)將成功登錄的用戶名賦給AnameAsort=Trim(.Fields(type)將成功登錄的用戶類型賦給Asort.CloseUnloadMefrm_main.Show主界面顯示Elsen=n-1.Close.Openselect*fromadminwherename=&Trim(Text1.Text)&,conn,1,1If.RecordCount=0ThenMsgBox(用戶名錯誤,請重新輸入!您還有&n&次機會登陸!),(錯誤)Text1.SetFocus.CloseElseMsgBox(密碼錯誤,
49、請重新輸入!您還有&n&次機會登陸!),(錯誤).CloseText2.SetFocusEndIfEndIfIfn=0ThenClose_RecoUnloadMeEndIfEndWithEndSubPrivateSubCommand2_Click()取消按鈕IfMsgBox(你真的不登錄學生信息管理系統(tǒng)嗎?,vbQuestion+vbYesNo,退出系統(tǒng)提示信息)=vbYesThenEndEndIfEndSub=只有當用戶名和密碼框都不為空時“登錄”按鈕才可用=PrivateSubText2_Change()密碼文本框IfText1.TextAndText2.TextThenCommand1.
50、Enabled=TrueCommand1.Default=TrueElseCommand1.Enabled=FalseEndIfEndSubPrivateSubText1_Change()用戶名文本框IfText2.TextAndText1.TextThenCommand1.Enabled=TrueCommand1.Default=TrueElseCommand1.Enabled=FalseEndIfEndSub4.3主界面設(shè)計添加一個窗體(frm_main)。該部分主要添加ImageList、StatusBar、Toolbar控件和菜單編輯器。以用戶名為楊茂科、密碼為123登錄,窗體運行情況
51、如下圖所示:代碼如下:PrivateSuba1_Click()frm_beifen.ShowEndSubPrivateSubb1_Click()frm_regist.ShowEndSubPrivateSubb2_Click()frm_modify.ShowEndSubPrivateSubc1_Click()frm_qkbgx.ShowEndSubPrivateSubc2_Click()frm_qkbwh.ShowEndSubPrivateSubc3_Click()frm_cjbwh.ShowEndSubPrivateSubd1_Click()frm_about.ShowEndSubPrivat
52、eSubd2_Click()frm_help.ShowEndSubPrivateSube_Click()UnloadMefrm_login.ShowEndSubPrivateSubf_Click()EndEndSubPrivateSubForm_Load()StatusBar1.Panels(1).Text=用戶:&Aname狀態(tài)欄第一格顯示用戶名StatusBar1.Panels(2).Text=類型:&Asort狀態(tài)欄第二格顯示用戶類型EndSubPrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)SelectCas
53、eButton.KeyCaseonefrm_qkbgx.Show1情況表更新窗體顯示Casetwofrm_qkbwh.Show1情況表維護窗體顯示Casethreefrm_cjbwh.Show1成績表維護窗體顯示Casefourfrm_modify.Show1密碼修改窗體顯示Casefivefrm_beifen.Show1數(shù)據(jù)庫維護窗體顯示EndSelectEndSub4.3.1ImageLis在主界面上添加一個圖像列表控件,在屬性頁設(shè)置插入5張圖片。4.3.2Toolbar在主窗體上添加一個工具欄控件,在屬性頁上將圖像列表從無設(shè)置到ImageList1,添加5個按鈕,按鈕屬性如下表所示:索引
54、12345標題情況表更新情況表維護成績表維護密碼修改數(shù)據(jù)備份關(guān)鍵字onetwothreefourfive圖像123454.3.3StatusBar在主窗體上添加一個狀態(tài)欄控件,在狀態(tài)欄上添加5個格子,后三個格子分別設(shè)置為日期、時間、文本4.3.4菜單編輯器在主窗體上添加一個菜單編輯器,菜單結(jié)構(gòu)、屬性如下表所示:菜單結(jié)構(gòu)標題名稱標題名稱文件a情況表維護c2數(shù)據(jù)庫維護a1成績表維護c3管理員信息b幫助d注冊b1關(guān)于系統(tǒng)d1修改密碼b2系統(tǒng)幫助d2數(shù)據(jù)維護c重新登錄e情況表更新c1退出f4.4數(shù)據(jù)庫維護窗體設(shè)計添加一個窗體(frm_beifen)、一個CommonDialog控件。該部分主要包括數(shù)據(jù)
55、庫的備份與還原。窗體運行情況如下圖所示:代碼如下:PrivateSubCommand1_Click()備份按鈕DimbackUpFileNameAsString變量聲明CommonDialog1.DialogTitle=備份文件設(shè)置對話框的標題CommonDialog1.Filter=*.*CommonDialog1.ShowSave設(shè)置對話框的按鈕類型為保存backUpFileName=CommonDialog1.FileName將保存的文件名賦給變量IfCommonDialog1.FileName=ThenMsgBox(文件名不能為空,請輸入文件名)CommonDialog1.ShowSa
56、veElseconn.Execute(backupdatabaselibrarytodisk=&backUpFileName&)執(zhí)行備份語句MsgBox(備份成功)EndIfEndSubPrivateSubCommand2_Click()還原按鈕conn.Closeconn.OpenProvider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=master;DataSource=&GetPcName()借助master數(shù)據(jù)庫來恢復CommonDialog1.DialogTitle=還原的
57、文件名CommonDialog1.Filter=*.*backUpFileName=CommonDialog1.FileNameCommonDialog1.ShowOpenrec.Openselectspidfromsysprocesseswheredbid=db_id(maokeyang),conn查詢是否有maokeyang數(shù)據(jù)庫,找出進程號DoWhileNotrec.EOFconn.Executekill&reco(spid)結(jié)束sql服務(wù)器的所有連接,否則會出現(xiàn):數(shù)據(jù)庫正在使用,無法完成排它操作等等reco.MoveNextLoopconn.Execute(restoredatabas
58、emaokeyangfromdisk=&backUpFileName&)還原數(shù)據(jù)庫MsgBox(數(shù)據(jù)庫已還原)reco.Closeconn.Closeconn.OpenProvider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;InitialCatalog=master;DataSource=&GetPcName()借助master數(shù)據(jù)庫來恢復EndSub4.5管理員信息管理該部分包括管理員注冊和密碼修改的管理4.5.1管理員注冊窗體設(shè)計添加一個窗體(frm_regist)。該部分主要完成管理員的注冊功能。窗體運行
59、情況如下圖所示:代碼如下:PrivateSubCommand1_Click()確認按鈕IfText3.TextText2.TextThenMsgBox兩次輸入的新密碼不同,請重新輸入!,vbOKOnly+vbExclamation,警告Text2.SetFocusText2.Text=Text3.Text=ExitSubEndIfWithreco.Openselect*fromadmin,conn,1,3.AddNew.Fields(name)=Trim(Text1.Text).Fields(password)=Trim(Text2.Text).Fields(type)=Combo1.Text
60、.Fields(registdate)=Trim(Text4.Text).Update.CloseMsgBox(注冊成功),(提示)Text1.Text=Text2.Text=Text3.Text=Text4.Text=Combo1.Text=EndWithEndSubPrivateSubCommand4_Click()更改按鈕Text4.Enabled=TrueText4.Text=Text4.SetFocusEndSubPrivateSubForm_Load()窗體加載時候注冊時間文本框獲得當前時間Text4.Enabled=FalseText4.Text=DateEndSub4.5.2密
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房產(chǎn)策劃銷售代理合同
- 小區(qū)物業(yè)服務(wù)合同補充協(xié)議
- 櫥柜定制合同范本模版
- 代收貨款合同范本
- 品牌特賣合同范本
- 農(nóng)資網(wǎng)點合作合同范本
- 運營總監(jiān)聘用合同范本
- 工地會議制度
- 農(nóng)村發(fā)展對象培訓總結(jié)
- 2025文具用品購銷合同范本
- 固定資產(chǎn)投資統(tǒng)計專業(yè)培訓(2024年11月)
- 2025年中國鐵路蘭州局集團限公司招聘高頻重點提升(共500題)附帶答案詳解
- 2025道路運輸安全員兩類人員考試考核題庫含答案全套
- 2025年高考數(shù)學備考立體幾何壓軸題(八省聯(lián)考新考向)
- 專題03 閱讀填空20篇(中考真題+各區(qū)名校模擬)2023年廣州中考英語沖刺專項訓練(解析版)
- 數(shù)字化染整工藝基礎(chǔ)知識單選題100道及答案解析
- 康美藥業(yè)應(yīng)收賬款管理案例分析-會計財務(wù)管理專業(yè)
- 形勢與政策(吉林大學)知到智慧樹章節(jié)測試課后答案2024年秋吉林大學
- 文化藝術(shù)項目管理制度研究
- 介紹家鄉(xiāng)山西太原
- 國家自然科學基金學科分類目錄及代碼表
評論
0/150
提交評論