畢業(yè)設(shè)計(論文)VB+SQL學(xué)生信息管理系統(tǒng)_第1頁
畢業(yè)設(shè)計(論文)VB+SQL學(xué)生信息管理系統(tǒng)_第2頁
畢業(yè)設(shè)計(論文)VB+SQL學(xué)生信息管理系統(tǒng)_第3頁
畢業(yè)設(shè)計(論文)VB+SQL學(xué)生信息管理系統(tǒng)_第4頁
畢業(yè)設(shè)計(論文)VB+SQL學(xué)生信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、貴州師范大學(xué)職業(yè)技術(shù)學(xué)院計算機工程系畢業(yè)設(shè)計題 目: 學(xué)生信息管理系統(tǒng) 系 別: 計算機工程系 專業(yè)、 班級: 2008級計算機應(yīng)用班 姓 名: 學(xué) 號: 指 導(dǎo) 教 師: 完 成 時 間: 2011年03月25 日 前 言學(xué)生信息管理系統(tǒng)是一個教育單位不可缺少的部分,它的內(nèi)容對于學(xué)校的決策者和管理者來說都至關(guān)重要,所以學(xué)生信息管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理學(xué)生學(xué)籍檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日

2、漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。 作為計算機應(yīng)用的一部分,使用計算機對學(xué)生學(xué)籍信息進行管理,具有著手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學(xué)生學(xué)籍管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。 因此,開發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中將以開發(fā)一套學(xué)生信息管理系統(tǒng)為例,談?wù)勂溟_發(fā)過程和所涉及到的問題及解決方法。目 錄摘 要1第一章 引 言11.1 課題介紹11.2 課題目的及意義11.3 研究方法、發(fā)展趨勢1第二章 開發(fā)

3、環(huán)境、工具介紹22.1 visual basic 6.022.1.1 visual basic的編程特點22.1.2 vb支持的數(shù)據(jù)庫系統(tǒng)32.1.3 數(shù)據(jù)庫開發(fā)中的三大工具32.2 sql server 2000 簡介42.2.1 sql server 數(shù)據(jù)庫特點52.3 ado 對象概述62.3.1 利用ado開發(fā)網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用程序62.3.2 ado組件的主要對象及其功能72.3.3 用來操控數(shù)據(jù)的sql命令72.4 vb訪問數(shù)據(jù)庫過程8第三章 系統(tǒng)分析與設(shè)計93.1 系統(tǒng)功能分析93.2 系統(tǒng)結(jié)構(gòu)圖93.3 系統(tǒng)e-r圖103.4 數(shù)據(jù)庫設(shè)計11第四章 系統(tǒng)具體實現(xiàn)124.1 模塊設(shè)計

4、124.2 登錄窗體設(shè)計144.3 主界面設(shè)計164.3.1 imagelis194.3.2 toolbar194.3.3 statusbar194.3.4 菜單編輯器194.4 數(shù)據(jù)庫維護窗體設(shè)計204.5 管理員信息管理214.5.1 管理員注冊窗體設(shè)計214.5.2 密碼修改窗體設(shè)計234.6 學(xué)生基本情況更新窗體設(shè)計254.7 學(xué)生基本情況維護窗體設(shè)計294.7.1 數(shù)據(jù)環(huán)境314.7.2 datereport1設(shè)計314.7.3 班級查找對話框324.8 成績維護窗體設(shè)計334.8.1 datereport2設(shè)計354.8.2 班級查找對話框354.9關(guān)于系統(tǒng)和系統(tǒng)幫助窗體設(shè)計37第

5、五章 總結(jié)38結(jié)束語39參考文獻40摘 要隨著信息技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學(xué)科,任何一個單位要生存要發(fā)展,要高效率地把內(nèi)部活動有機地組織起來,就必須建立與自身特點相適應(yīng)的管理信息系統(tǒng)。本系統(tǒng)是在管理信息系統(tǒng)的理論和方法指導(dǎo)下、數(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)界面友好,操

6、作簡單,比較實用。關(guān)鍵詞:控件;窗體;報表;關(guān)系數(shù)據(jù)庫管理系統(tǒng);vb。第一章 引 言1.1 課題介紹高校學(xué)生信息的管理是一項既重要又繁瑣的工作。為更好的做好這項工作,提過工作效率,更好的為學(xué)校的發(fā)展和一線教學(xué)服務(wù),決定:結(jié)合我校實際情況,自行研制一個學(xué)生信息管理系統(tǒng)。1.2 課題目的及意義由于現(xiàn)今的學(xué)生信息管理非常繁瑣,行政人員付出大量的工作時間,得到的效率很低。因此為提高工作效率,減輕校方人員的工作負擔(dān),決定開發(fā)學(xué)生信息管理系統(tǒng)。計算機已經(jīng)成為我們學(xué)習(xí)和工作的得力助手:今天,計算機的價格已經(jīng)十分低廉,性能有了長足的進步。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計算機之所以如此流行的原因主要有以下幾個方面:

7、首先,計算機可以代替人工進行許多繁雜的勞動;其次,計算機可以節(jié)省許多資源; 第三,計算機可以大大的提高人們的工作效率; 第四,計算機可以使敏感文檔更加安全等等。為了解決傳統(tǒng)學(xué)生信息的管理正面臨著的這些問題,我所設(shè)計的學(xué)生信息管理系統(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ā)展,對學(xué)習(xí)活動產(chǎn)生了具有深遠意義的沖擊,人們可以選擇或者設(shè)計適合其學(xué)習(xí)特點的信息采集、加工與重組方式。本系統(tǒng)采用cs模式,在某些方面還不是表現(xiàn)的很好,但未來有關(guān)學(xué)生信息管

8、理的應(yīng)該采用多層架構(gòu)的系統(tǒng),是真正適應(yīng)教育信息化發(fā)展三大趨勢的校園網(wǎng)絡(luò)應(yīng)用系統(tǒng),全面支持internet功能、遠程訪問功能,采用先進的cs和bs模式共同開發(fā),支持有關(guān)學(xué)校信息交流、日常教學(xué)、教務(wù)管理等的各種應(yīng)用,提供一個基于校園內(nèi)聯(lián)網(wǎng)中支持各種類型的學(xué)校應(yīng)用產(chǎn)品的服務(wù)平臺和開發(fā)平臺,基本目標(biāo)是在學(xué)校內(nèi)部和外部建立起順暢的信息通道,讓信息技術(shù)成為推動教育生產(chǎn)力的有力工具,提高學(xué)校的管理水平和效率,同時充分利用全球的教育資源為學(xué)校的教育服務(wù),克服目前大部分學(xué)校的校園網(wǎng)建設(shè)只起到宣傳作用的通病。第二章 開發(fā)環(huán)境、工具介紹該軟件是在windows xp professional + visual ba

9、sic 6.0 + sql server 2000的環(huán)境下完成的。下面就對這些開發(fā)工具進行介紹:2.1 visual basic 6.0微軟公司的visual basic 6.0是windows應(yīng)用程序開發(fā)工具,是目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_發(fā)工具。visual basic提供了大量的控件,這些控件可用于設(shè)計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設(shè)計過程,從而有效的提高了應(yīng)用程序的運行效率和可靠性。利用visual basic 程序設(shè)計語言,可以很方便地設(shè)計出在windows環(huán)境下運行的應(yīng)用程序。故而,實現(xiàn)本系統(tǒng)vb是一個相對較好的選擇。2.1.1 visual b

10、asic的編程特點visual basic語言的出現(xiàn)為windows下的編程提出了一個新概念,利用visual basic的動態(tài)數(shù)據(jù)交換、對象的鏈接和嵌入、動態(tài)鏈接庫、activex技術(shù)可以很方便地設(shè)計出功能強大的應(yīng)用程序。利用visual basic語言編程有以下幾個特點:1)、可視化程序設(shè)計在visual basic中開發(fā)的應(yīng)用程序,不但有豐富的圖形界面,同時由用戶為開發(fā)圖形界面添加的代碼真是少而又少,因為在設(shè)計圖形界面的過程中只需設(shè)置 activex控件的屬性即可。2)、強大的數(shù)據(jù)庫和網(wǎng)絡(luò)功能隨著visual basic 語言的向前發(fā)展,它在數(shù)據(jù)庫和網(wǎng)絡(luò)方面的功能優(yōu)勢就愈加明顯,利用vi

11、sual basic 中的odbc開放式的數(shù)據(jù)庫訪問技術(shù)可以很方便地開發(fā)出自己的數(shù)據(jù)庫應(yīng)用程序;利用 visual basic自帶的可視化數(shù)據(jù)管理器和報表生成器,完全可以在visual basic就完成數(shù)據(jù)庫的開發(fā)工作。3)、其他特性在visual basic以前的版本中,由于仍然擺脫不了解釋執(zhí)行的代碼運行機制,所以在相當(dāng)?shù)某潭壬现萍s了 visual basic 的發(fā)展。從visual basic5.0版本開始,在visual basic 中制作的應(yīng)用程序都改變?yōu)榫幾g執(zhí)行,使得visual basic的代碼效率有了很大的提高,同時執(zhí)行的速度 也加快了解30%(同visual basic4.0相

12、比)。當(dāng)然在 visual basic中還有其它特性,例如:l 面向?qū)ο蟮木幊陶Z言;l 結(jié)構(gòu)化程序設(shè)計;l 事件驅(qū)動的程序設(shè)計:在傳統(tǒng)的或“過程化”的應(yīng)用程序中,應(yīng)用程序自身控制了執(zhí)行哪一部分代碼和按何種順序執(zhí)行代碼。從第一行代碼執(zhí)行程序并按應(yīng)用程序中預(yù)定的路徑執(zhí)行,必要時才會調(diào)用過程。在事件驅(qū)動的應(yīng)用程序中,代碼不是按預(yù)定的路徑執(zhí)行,而是在響不同的事件時執(zhí)行不同的代碼片段。事件可以由用戶操作觸發(fā)、也可以由來自操作系統(tǒng)或其它應(yīng)用程序的消息觸發(fā)、甚至由應(yīng)用程序本身的消息觸發(fā)。這些事件的順序,決定了代碼執(zhí)行的順序,因此應(yīng)用程序每次運行時所經(jīng)過的路徑都是不同的。l 支持動態(tài)鏈接庫;l 應(yīng)用程序之間的

13、資源共享; l 事件驅(qū)動的程序設(shè)計;在傳統(tǒng)的或“過程化”的應(yīng)用程序中,應(yīng)用程序自身控制了執(zhí)行哪一部分代碼和按何種順序執(zhí)行代碼。從第一行代碼執(zhí)行程序并按應(yīng)用程序中預(yù)定的路徑執(zhí)行,必要時才會調(diào)用過程。在事件驅(qū)動的應(yīng)用程序中,代碼不是按預(yù)定的路徑執(zhí)行,而是在響不同的事件時執(zhí)行不同的代碼片段。事件可以由用戶操作觸發(fā)、也可以由來自操作系統(tǒng)或其它應(yīng)用程序的消息觸發(fā)、甚至由應(yīng)用程序本身的消息觸發(fā)。這些事件的順序,決定了代碼執(zhí)行的順序,因此應(yīng)用程序每次運行時所經(jīng)過的路徑都是不同的。l 支持動態(tài)鏈接庫;l 應(yīng)用程序之間的資源共享2.1.2 vb支持的數(shù)據(jù)庫系統(tǒng)vb支持對多格式的數(shù)據(jù)庫的訪問和維護,無論是acce

14、ss還是foxpro中創(chuàng)建的數(shù)據(jù)庫,都可以用vb打開,對其進行查詢、修改和刪除等操作。事實上,vb幾乎支持對市面上所有數(shù)據(jù)庫的訪問。vb可以訪問的數(shù)據(jù)庫可以簡單的分為三類,即:microsoft access格式數(shù)據(jù)庫,外部數(shù)據(jù)庫和odbc數(shù)據(jù)庫。vb對多種數(shù)據(jù)庫格式的支持,大大的增強了開發(fā)數(shù)據(jù)庫應(yīng)用程序的能力。2.1.3 數(shù)據(jù)庫開發(fā)中的三大工具visual basic在數(shù)據(jù)庫應(yīng)用程序的開發(fā)領(lǐng)域中,提供包含數(shù)據(jù)管理(datamanager),數(shù)據(jù)控件(data control)以及數(shù)據(jù)編程對象(數(shù)據(jù)訪問對象(dao)、遠程數(shù)據(jù)對象(rdo)和activex數(shù)據(jù)對象(ado)等功能強大的工具,協(xié)

15、助設(shè)計人員輕松的連接數(shù)據(jù)庫文件,并訪問其中的數(shù)據(jù),在功能方面與其他一些專業(yè)數(shù)據(jù)庫軟件(如foxpro,micosoft access等)不相上下。數(shù)據(jù)管理器(data manager)是visual basical已有的老成員之一,拓本盛舉有的jet數(shù)據(jù)庫引擎(database engine)可以幫助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ù)

16、庫各個記錄的內(nèi)容,必須在搭配其他具有數(shù)據(jù)感知(data aware)功能的控件對應(yīng)并顯示一個字段內(nèi)容,以方便地進行記錄的瀏覽及編輯工作。vb提供的數(shù)據(jù)訪問對象(data access object;dao)讓程序設(shè)計者擁有更大的發(fā)揮空間。借助程序代碼編寫,直接控制jet數(shù)據(jù)庫引擎,配合數(shù)據(jù)庫控件,能夠開發(fā)出更具彈性且高效率的數(shù)據(jù)應(yīng)用程序。rdo是處理遠程數(shù)據(jù)庫的一些專門需要的對象集合。使用rdo可以不用本地的查詢機就能訪問odbc數(shù)據(jù)源,這無疑將大大提高應(yīng)用程序的性能。ado是vb6.0中新增的對象,它是一個更簡單的對象模型,它更好的集成了其它數(shù)據(jù)訪問技術(shù),并且對本地和遠程數(shù)據(jù)庫均有共同的界面

17、,可以取代dao和rdo。ado更易于使用。我們在本系統(tǒng)中利用數(shù)據(jù)管理器創(chuàng)建了數(shù)據(jù)庫及數(shù)據(jù)庫表,并采用了ado數(shù)據(jù)訪問技術(shù)。2.2 sql server 2000 簡介sql server 2000是微軟公司最新版的大型數(shù)據(jù)庫服務(wù)器,其性能指標(biāo)在各方面都有趕超oracle數(shù)據(jù)庫的趨勢。用它可以方便地管理數(shù)據(jù)庫和開發(fā)應(yīng)用程序,它使用了最先進的數(shù)據(jù)庫構(gòu)架,與windows nt/2000平臺緊密集成,具有完全的web功能。通過對高端硬件平臺、網(wǎng)絡(luò)和存儲技術(shù)的支持,為web站和企業(yè)的應(yīng)用最大限度地提供了可擴展性和高可靠性,能在internet商業(yè)領(lǐng)域快速建立并應(yīng)用。此外,還增強了安全性,保護防火墻內(nèi)

18、外的數(shù)據(jù)。支持基于角色的安全并擁有安全審計工具。在經(jīng)歷了sql server 6.5和7.0兩個版本的嘗試后,微軟公司終于開始了大規(guī)模的業(yè)務(wù)。記得在以前各種關(guān)于sql server的文章,都會將其定位成中小型應(yīng)用方面,這種感覺被大家自然的延續(xù)到了2000版之中。其實這是一種誤解。在過去的很長一段時間中,微軟公司聘請了世界上最優(yōu)秀的數(shù)據(jù)庫專家以及專門搭建了信息量可謂空前的地理信息系統(tǒng),勵精圖治,就是為了摘掉扣在自己頭上的這頂帽子。有了強大的性能和功能支持,再配合其一向為人稱道的易用性,sql server可以說成為了開發(fā)者手中的一柄利器! 另外,目前國內(nèi)的一些關(guān)于微軟平臺的數(shù)據(jù)庫編程教程,喜歡使

19、用access作為數(shù)據(jù)庫平臺的案例,并展開相關(guān)的內(nèi)容。這其實對于開發(fā)真正的數(shù)據(jù)庫應(yīng)用并沒有直接的幫助作用,只能使大家停留在應(yīng)用的初級階段。sql server 2000提供的非常傻瓜的缺省安裝和使用模式,其上手難度并不比access大。另外,sql server 2000可以兼顧小、中、大規(guī)模的應(yīng)用,有著遠遠比access強大的伸縮性。2.2.1 sql server 數(shù)據(jù)庫特點概括起來,sql server 2000數(shù)據(jù)庫管理系統(tǒng)具有以下主要特點。1)、豐富的圖形管理工具,使系統(tǒng)管理、操作更為直觀方便。sql server企業(yè)管理器是一個基于圖形用戶界面(gui)的集成管理工具,利用它可以配

20、置管理sql server服務(wù)器、管理數(shù)據(jù)庫和數(shù)據(jù)庫對象、備份和恢復(fù)數(shù)據(jù)、調(diào)度任務(wù)和管理警報、實現(xiàn)數(shù)據(jù)復(fù)制和轉(zhuǎn)換操作等。此外,sql server 2000還提供了sql事件探查器、sql查詢分析器、sql server服務(wù)管理器和多種操作向?qū)У葓D形界面管理工具,大大簡化了用戶操作,從而增強了系統(tǒng)的易用性。2)、動態(tài)自動管理和優(yōu)化功能。即使sql server數(shù)據(jù)庫管理員不做任何設(shè)置,sql server也能夠在運行過程中根據(jù)環(huán)境配置和用戶訪問情況動態(tài)自動配置,以達到最優(yōu)性能,從而減輕管理員工作。3)、充分的internet技術(shù)支持。internet網(wǎng)絡(luò)發(fā)展到今天已經(jīng)成為一條重要的信息發(fā)布渠道

21、,sql server增強了對internet技術(shù)支持,它除保留了前期版本中的數(shù)據(jù)庫web出版工具“web助手”外,還增強了對xml和http技術(shù)的支持,這使得電子商務(wù)系統(tǒng)能夠通過xml等訪問sql server數(shù)據(jù)庫系統(tǒng),也擴展了sql server在數(shù)據(jù)挖掘和分析服務(wù)領(lǐng)域的應(yīng)用。4)、豐富的編程接口工具,使用戶開發(fā)sql server數(shù)據(jù)庫應(yīng)用程序更加靈活。sql server提供了transact-sql、db-library for c、嵌入式sql(esql)等開發(fā)工具,transact-sql與工業(yè)標(biāo)準(zhǔn)sql語言兼容,并在其基礎(chǔ)上加以擴充,使它更適合事務(wù)處理方面的需要。此外,sql

22、 server 2000還支持odbc、ole db、ado規(guī)范,可以使用odbc、ole db、ado接口訪問sql server數(shù)據(jù)庫。5)、具有很好的伸縮性和可靠性。sql server 2000既能運行在windows桌面操作系統(tǒng)下,又可運行在服務(wù)器操作系統(tǒng)(包括windows nt和windows 2000)下;既能運行在單cpu計算機上,又能運行在對稱多處理系統(tǒng)下。所以,它具有很好的伸縮性,能夠滿足從桌面應(yīng)用到大型企業(yè)分布式應(yīng)用到不同層次用戶的要求。6)、簡單的管理方式。sql server 2000與microsoft windows 2000有機集成,所以可以使用windows

23、 2000的活動目錄(active directory)功能對sql server進行集中管理,大大簡化大型企業(yè)中的系統(tǒng)管理工作。此外,與windows 2000的集成還使sql server能夠充分利用操作系統(tǒng)所提供的服務(wù)和功能(如安全管理、事件日志、性能監(jiān)視器、內(nèi)存管理和異步i/o等),從而增強了sql server數(shù)據(jù)庫系統(tǒng)的功能,并且只需要占用很少的系統(tǒng)資源。2.3 ado 對象概述ado對象能夠存取到數(shù)據(jù)庫的內(nèi)容,首先要求數(shù)據(jù)庫的驅(qū)動程序( odbc驅(qū)動程序與ole db驅(qū)動程序)必須安裝上,否則,ado對象是無法存取數(shù)據(jù)庫中內(nèi)容,其原理示意圖如下圖所示:客戶端客戶端客戶端ado對象

24、各種數(shù)據(jù)庫所對應(yīng)的驅(qū)動程序各種數(shù)據(jù)庫(如access、sql server以及oracle等)請注意:上圖中的“各種數(shù)據(jù)庫所對應(yīng)的驅(qū)動程序”即odbc驅(qū)動程序與ole db驅(qū)動程序。2.3.1 利用ado開發(fā)網(wǎng)絡(luò)數(shù)據(jù)庫應(yīng)用程序ado(active date objects,即activex數(shù)據(jù)對象)是一個asp內(nèi)置的activex服務(wù)器組件(activex server component)??砂阉casp結(jié)合起來,建立提供數(shù)據(jù)庫信息的網(wǎng)頁內(nèi)容,對數(shù)據(jù)庫進行查詢、插入、更新、刪除等操作,并可以把在用戶端實現(xiàn)“網(wǎng)上實時更新顯示”的最新web數(shù)據(jù)庫技術(shù)。要執(zhí)行ado,服務(wù)器端必須安裝windows

25、 nt server 和internet information server(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ù)控制指標(biāo)形式。5)、先進的recordset數(shù)據(jù)高速緩存管理功能。6)、允許在程序中使用多個recordset對象或者多個分批修改區(qū)塊傳送。7)、ado屬于free_threaded對象,利用它可以開發(fā)出更有效的web應(yīng)用程序。2.3

26、.2 ado組件的主要對象及其功能ado組件又稱為數(shù)據(jù)庫訪問組件,它提供了以下七種對象:1)、connection對象:提供對數(shù)據(jù)庫的連接服務(wù)。2)、command對象:定義對數(shù)據(jù)庫源操作的命令。3)、recordset對象:由數(shù)據(jù)庫服務(wù)器所返回的記錄集。recordset對象的locktype屬性的設(shè)置值如下表所示:常量值說明adlockreadonly1默認值,只讀。無法更改數(shù)據(jù)adlockpressimistic2保守式記錄鎖定(逐條)。提供者執(zhí)行必要的操作確保成功編輯記錄,通常采用立即鎖定數(shù)據(jù)源的記錄的方式。adlockoptimistic3開放式記錄鎖定(逐條)。提供者使用開放式鎖定

27、,只在調(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í)行更新、刪除、添加數(shù)據(jù)等操作,獲取odbc的錯誤信息等。2.3.3 用來操控數(shù)據(jù)的sql命令sql命令是發(fā)送給數(shù)據(jù)庫并要求數(shù)據(jù)庫操作的指令,它是專門為數(shù)據(jù)庫設(shè)計

28、的語言,比一般的計算機程序語言簡單的多。sql命令主要分成兩部分:ddl(data definition language)和dml(data manipulation language),其中ddl是建立數(shù)據(jù)表及數(shù)據(jù)列的指令群,而dml則是操作數(shù)據(jù)庫記錄的指令群,如數(shù)據(jù)庫記錄的添加、更新、刪除、和查詢等。sql命令,包括select、delete、update、insert into、select into等。1)、篩選及排序記錄的select指令基本句型一:select 字段串列 from 數(shù)據(jù)表基本句型二:select from where 篩選條件基本句型三:select from o

29、rder by字段串列select top:限定選取數(shù)據(jù)的條數(shù)2)、刪除數(shù)據(jù)記錄的delete指令基本語法:delete from 數(shù)據(jù)表 where 條件式3)、更新數(shù)據(jù)記錄的update指令基本語法:update 數(shù)據(jù)表set 表達式4)、增加數(shù)據(jù)記錄的insert into 指令基本句型一:insert into 數(shù)據(jù)表 (字段串列) values (字段串列)基本句型二:insert into 數(shù)據(jù)表 (字段1,字段2,字段n) select 5)、建立新數(shù)據(jù)表的select into 指令該指令與“insert into select ”指令的區(qū)別是,這個指令將建立另一個新的數(shù)據(jù)表,

30、而insert into是增加數(shù)據(jù)記錄到“現(xiàn)存的”數(shù)據(jù)表中。2.4 vb訪問數(shù)據(jù)庫過程1)、定義數(shù)據(jù)庫組件dim conn as new adodb.connection其中conn為連接對象dim reco as new adodb.recordset 其中reco為結(jié)果集對象2)、打開數(shù)據(jù)庫對于sql數(shù)據(jù)庫,其連接語句為conn.open driver=sql server;server=localhost;uid=sa;pwd=;database=student。而對于access數(shù)據(jù)庫,連接語句為conn.open provider=microsoft.jet.oledb.4.0;da

31、ta source= & 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)功能分析隨著學(xué)校的規(guī)模不斷擴大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成倍增長。面對龐大的信息量就需要有一個學(xué)生信息管理系統(tǒng)來提高學(xué)生管理工作的效率。通過這樣的系統(tǒng)可以做到信息的規(guī)范管理、快速查詢、修改、增加、刪除等,從而減少管理方面的工作量。設(shè)計內(nèi)容為管理員或普通用戶登錄該系統(tǒng)進行五個模塊操作:1)、學(xué)生基本情況更新:增加、修改、刪

32、除、查詢(按學(xué)號)2)、學(xué)生基本情況維護:增加、修改、刪除、打印、查詢(按專業(yè))3)、學(xué)生成績維護:添加成績、打印、查詢(按學(xué)號、專業(yè))4)、密碼修改:修改所有用戶密碼(管理員)、修改自己密碼(普通用戶)5)、數(shù)據(jù)維護:對該系統(tǒng)數(shù)據(jù)庫進行備份和還原3.2 系統(tǒng)結(jié)構(gòu)圖本系統(tǒng)主要包括學(xué)生基本情況更新,學(xué)生基本情況維護、學(xué)生成績維護、密碼修改和數(shù)據(jù)維護5個大的模塊,各個模塊的具體功能如下圖所示:3.3 系統(tǒng)e-r圖1)、用戶(普通用戶、管理員)實體圖如下圖所示:2)、學(xué)生實體圖如下圖所示:3)、學(xué)生選課關(guān)系圖如下圖所示:3.4 數(shù)據(jù)庫設(shè)計在系統(tǒng)設(shè)計過程中,首先要建立的就是數(shù)據(jù)庫。本數(shù)據(jù)庫采用sql

33、server2000來構(gòu)造,共使用了3個表,它們分別是用戶信息表(admin)、學(xué)生基本情況表(student)、學(xué)生成績表(grade)。1)、用戶信息表(admin):表結(jié)構(gòu)如下表所示:名稱字段名稱類型長度用戶ididint4用戶名namechar6用戶密碼passwordchar6用戶類型typechar10注冊時間registdatedatetime82)、學(xué)生基本情況表(student):表結(jié)構(gòu)如下表所示:名稱字段名稱類型長度學(xué)號snovarchar10姓名snamechar10性別ssexchar2班級sclassvarchar 50出生年月sbirthdaychar10政治面貌s

34、pavarchar8地址saddressvarchar50電話sphonevarchar11emailsemailvarchar203)、學(xué)生成績表(grade):表結(jié)構(gòu)如下表所示:名稱字段名稱類型長度學(xué)號snoint2課程名cnamechar10成績gradechar2學(xué)期semesterchar8第四章 系統(tǒng)具體實現(xiàn)本部分主要內(nèi)容為本系統(tǒng)的各個運行界面以及主要界面的源代碼4.1 模塊設(shè)計添加一個模塊module1。該部分主要包括一些公共變量的定義、main過程定義以及自動把備份的數(shù)據(jù)庫文件還原到sql server 2000 中的代碼設(shè)計。代碼如下:public declare funct

35、ion getcomputername lib kernel32 alias getcomputernamea (byval lpbuffer as string, nsize as long) as long 獲取主機名的定義public aname, asort as string 狀態(tài)欄上顯示當(dāng)前用戶的名稱和用戶類型public conn as new adodb.connection 新建連接對象public reco as new adodb.recordset 新建記錄集對象public reco2 as new adodb.recordsetpublic conn_str1, c

36、onn_str2 as string=定義一個main過程,從main過程啟動程序,同時連接到數(shù)據(jù)庫=public sub main() reco.cursorlocation = aduseclient reco2.cursorlocation = aduseclient conn_str1 = provider=sqloledb.1;integrated security=sspi;persist security info=false;initial catalog=maokeyang;data source= & getpcname() conn_str2 = provider=sql

37、oledb.1;integrated security=sspi;persist security info=false;initial catalog=master;data source= & getpcname() db_add先調(diào)用db_add來將maokeyang數(shù)據(jù)庫添加到sql server 2000中 conn.open conn_str1 連接到數(shù)據(jù)庫 frm_login.show 登錄窗體顯示end sub =此函數(shù)用來獲取主機名!=public function getpcname() as string dim compname as string, retval as

38、 long compname = space(255) retval = getcomputername(compname, 255) compname = left(compname, instr(compname, vbnullchar) - 1) getpcname = compnameend function=關(guān)閉記錄集=public sub close_reco() if reco.state = 1 then reco.close end ifend sub 此過程用來在啟動軟件的時候把maokeyang數(shù)據(jù)庫添加到sql server 2000 中public sub db_ad

39、d() dim s as string on error goto errorchecka: conn.open conn_str2 reco.open select * from sysdatabases where name=maokeyang, conn, 1, 3 查詢是否存在maokeyang數(shù)據(jù)庫 if reco.recordcount 1 then 如果maokeyang數(shù)據(jù)庫不存在,則添加maokeyang數(shù)據(jù)庫,否則不添加 mkdir_kill conn.execute restore database maokeyang from disk= & app.path & ba

40、ckupmaokeyang else reco.close conn.close exit sub end if reco.close conn.close exit suberrorcheck: msgbox 您可能沒有啟動sql server服務(wù), , 提示 shell net start mssqlserver msgbox 啟動成功!, , 提示 goto aend sub新建路徑并刪除原有的數(shù)據(jù)庫public sub mkdir_kill() on error resume next mkdir c:program files mkdir c:program filesmicroso

41、ft sql server mkdir c:program filesmicrosoft sql servermssql mkdir c:program filesmicrosoft sql servermssqldata kill c:program filesmicrosoft sql servermssqldatamaokeyang_log.ldf kill c:program filesmicrosoft sql servermssqldatamaokeyang_data.mdfend sub4.2 登錄窗體設(shè)計添加一個窗體(frm_login)。該部分主要包括用戶的驗證以及登錄次數(shù)的

42、限制。窗體運行情況如下圖所示:代碼如下:dim n as integer n為限制登陸次數(shù)的變量private sub form_load() n = 4end subprivate sub command1_click() 確定按鈕 close_reco with reco 連接到表并產(chǎn)生記錄集 .open select * from admin where name= & trim(text1.text) & and password= & trim(text2.text) & , conn, 1, 1 if .recordcount 0 then aname = trim(.fields

43、(name) 將成功登錄的用戶名賦給aname asort = trim(.fields(type) 將成功登錄的用戶類型賦給asort .close unload me frm_main.show 主界面顯示 else n = n - 1 .close .open select * from admin where name= & trim(text1.text) & , conn, 1, 1 if .recordcount = 0 then msgbox (用戶名錯誤,請重新輸入!您還有 & n & 次機會登陸!), , (錯誤) text1.setfocus .close else ms

44、gbox (密碼錯誤,請重新輸入!您還有 & n & 次機會登陸!), , (錯誤) .close text2.setfocus end if end if if n = 0 then close_reco unload me end if end withend subprivate sub command2_click() 取消按鈕if msgbox(你真的不登錄學(xué)生信息管理系統(tǒng)嗎?, vbquestion + vbyesno, 退出系統(tǒng)提示信息) = vbyes thenendend ifend sub =只有當(dāng)用戶名和密碼框都不為空時“登錄”按鈕才可用=private sub text

45、2_change() 密碼文本框 if text1.text and text2.text then command1.enabled = true command1.default = true else command1.enabled = false end ifend subprivate sub text1_change() 用戶名文本框 if text2.text and text1.text then command1.enabled = true command1.default = true else command1.enabled = false end ifend su

46、b4.3 主界面設(shè)計添加一個窗體(frm_main)。該部分主要添加imagelist 、statusbar、toolbar控件和菜單編輯器。以用戶名為楊茂科、密碼為123登錄,窗體運行情況如下圖所示:代碼如下:private sub a1_click()frm_beifen.showend subprivate sub b1_click()frm_regist.showend subprivate sub b2_click()frm_modify.showend subprivate sub c1_click()frm_qkbgx.showend subprivate sub c2_clic

47、k()frm_qkbwh.showend subprivate sub c3_click()frm_cjbwh.showend subprivate sub d1_click()frm_about.showend subprivate sub d2_click()frm_help.showend subprivate sub e_click()unload mefrm_login.showend subprivate sub f_click()endend subprivate sub form_load()statusbar1.panels(1).text = 用戶: & aname 狀態(tài)欄

48、第一格顯示用戶名statusbar1.panels(2).text = 類型: & asort 狀態(tài)欄第二格顯示用戶類型end subprivate sub toolbar1_buttonclick(byval button as mscomctllib.button)select case button.key case one frm_qkbgx.show 1 情況表更新窗體顯示 case two frm_qkbwh.show 1 情況表維護窗體顯示 case three frm_cjbwh.show 1 成績表維護窗體顯示 case four frm_modify.show 1 密碼修改

49、窗體顯示 case five frm_beifen.show 1 數(shù)據(jù)庫維護窗體顯示end selectend sub4.3.1 imagelis在主界面上添加一個圖像列表控件,在屬性頁設(shè)置插入5張圖片。4.3.2 toolbar在主窗體上添加一個工具欄控件,在屬性頁上將圖像列表從無設(shè)置到imagelist1,添加5個按鈕,按鈕屬性如下表所示:索引12345標(biāo)題情況表更新情況表維護成績表維護密碼修改數(shù)據(jù)備份關(guān)鍵字onetwothreefourfive圖像123454.3.3 statusbar在主窗體上添加一個狀態(tài)欄控件,在狀態(tài)欄上添加5個格子,后三個格子分別設(shè)置為日期、時間、文本4.3.4

50、菜單編輯器在主窗體上添加一個菜單編輯器,菜單結(jié)構(gòu)、屬性如下表所示:菜單結(jié)構(gòu)標(biāo)題名稱標(biāo)題名稱文件a情況表維護c 2數(shù)據(jù)庫維護a 1成績表維護c 3管理員信息b幫助d注冊b 1關(guān)于系統(tǒng)d 1修改密碼b 2系統(tǒng)幫助d 2數(shù)據(jù)維護c重新登錄e情況表更新c 1退出f4.4 數(shù)據(jù)庫維護窗體設(shè)計添加一個窗體(frm_beifen)、一個commondialog控件。該部分主要包括數(shù)據(jù)庫的備份與還原。窗體運行情況如下圖所示:代碼如下:private sub command1_click() 備份按鈕dim backupfilename as string 變量聲明commondialog1.dialogtit

51、le = 備份文件 設(shè)置對話框的標(biāo)題commondialog1.filter = *.*commondialog1.showsave 設(shè)置對話框的按鈕類型為保存backupfilename = commondialog1.filename 將保存的文件名賦給變量if commondialog1.filename = thenmsgbox (文件名不能為空,請輸入文件名 )commondialog1.showsaveelse conn.execute (backup database library to disk= & backupfilename & ) 執(zhí)行備份語句 msgbox (備份成功)end ifend subprivate sub command2_click() 還原按鈕conn.closeconn.open provider=sqloledb.1;int

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論