版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、南京信息職業(yè)技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)論文 作者 學(xué)號(hào) 系部 軟件學(xué)院 專業(yè) 計(jì)算機(jī)應(yīng)用專業(yè) 題目 學(xué)生成績(jī)管理系統(tǒng) 指導(dǎo)教師 評(píng)閱教師 完成時(shí)間: 2010 年 5 月 25 日 畢業(yè)設(shè)計(jì)(論文)中文摘要 (題目):學(xué)生成績(jī)管理系統(tǒng) 摘要 :學(xué)生成績(jī)管理系統(tǒng)是為了實(shí)現(xiàn)學(xué)生成績(jī)管理的系統(tǒng)化、規(guī)范化和自動(dòng)化,從而 提高管理效率而設(shè)計(jì)的。它完全取代了原來一直用人工管理的工作方式,避免了由于管 理人員的工作疏忽以及管理質(zhì)量問題所造成的各種錯(cuò)誤,為及時(shí)、準(zhǔn)確、高效的完成對(duì) 學(xué)生成績(jī)的管理提供了強(qiáng)有力的工具和管理手段。學(xué)生成績(jī)管理系統(tǒng)是一個(gè)中小型數(shù)據(jù) 庫(kù)管理系統(tǒng),它界面美觀、操作簡(jiǎn)單、安全性高,基本滿足了學(xué)生成
2、績(jī)管理的要求。重 點(diǎn)介紹了學(xué)生成績(jī)管理系統(tǒng)的實(shí)現(xiàn)過程:包括系統(tǒng)分析,系統(tǒng)調(diào)查,功能設(shè)計(jì),數(shù)據(jù)庫(kù) 設(shè)計(jì),系統(tǒng)實(shí)現(xiàn),系統(tǒng)測(cè)試和調(diào)試等。本系統(tǒng)主要功能有查詢學(xué)生成績(jī)、添加學(xué)生成績(jī)、 刪除學(xué)生成績(jī)、管理頁(yè)面和修改管理員密碼等內(nèi)容。 本系統(tǒng)是在以 access2003 作為后臺(tái)數(shù)據(jù)庫(kù),以 visual basic 為編程語言來開發(fā) 的。學(xué)生成績(jī)管理系統(tǒng)在運(yùn)行階段,效果好,數(shù)據(jù)準(zhǔn)確性高,提高了工作效率,同時(shí)也 實(shí)現(xiàn)了成績(jī)管理與計(jì)算機(jī)的結(jié)合使用 關(guān)鍵詞:學(xué)生成績(jī)管理系統(tǒng),成績(jī)管理,成績(jī)查詢,access, 畢業(yè)設(shè)計(jì)(論文)外文摘要 titletitle : : the management system o
3、f the students grades abstract: the management system of the students grades is designed for realizing the systematization, standardization and automization of enterprises products management and improving efficiency of school management. it completely replaces the working way of artificial manageme
4、nt originally , prevents from various kinds of mistakes because of administrative staff neglect and the quality problem of management and offeres powerful tool and management way to complet storehouse management for prompt , accurate , high-efficient . the administrative system of the students grade
5、s is a medium and small-scale database management system, it has not only beautiful interface, but also the high security and the simply operation , and meet the demand for students grades management basically.the paper focus on the implementation procedure of the system, including systems analysis,
6、 system research, function design, database design, system implementation, system testing and debugging. the primary function of this system includes performance inquiring, performance adding students scores, performance deleting, page layout management and administrators password revising. the stud
7、ents grades administrative system is designed with regarding access2003 as the backstage database and regarding visual basic as programming language . the administrative system is effectual, the high data accuracy during the course of operating , improves working efficiency and realizes computerizat
8、ion for students grades administrative at the same time . key words: the management system of the students grades, grades management, grades inquiry, access i 目錄目錄 1. 緒論.1 1.1 問題的提出 .1 1.2 現(xiàn)有系統(tǒng)存在問題的分析 .1 1.3 系統(tǒng)開發(fā)目標(biāo)與意義 .2 1.4 可行性分析 .3 1.4.1 經(jīng)濟(jì)上可行性 .3 1.4.2 技術(shù)上可行性 .3 1.4.3 運(yùn)行上可行性.3 2.需求分析.4 2.1 用戶需求描述
9、 .4 2.2 用戶需求具體分析 .4 2.2.1 系統(tǒng)分析 .4 2.2.2 學(xué)生基本情況管理圖表.5 2.2.3 學(xué)生成績(jī)管理圖表 .6 2.2.4 學(xué)生課程基本信息管理圖表 .7 2.2.5 本系統(tǒng)用戶信息表 .8 2.2.6 系統(tǒng)維護(hù) .8 3.系統(tǒng)代碼實(shí)現(xiàn).9 3.1 ado 對(duì)象模型介紹.9 3.2 公共模塊 .12 3.3 系統(tǒng)的登錄界面 .14 3.4 專業(yè)課成績(jī)管理 .16 4.其他界面介紹.20 4.1 登錄界面 .20 4.2 添加新用戶 .21 4.3 修改登錄用戶的密碼 .21 4.4 查看學(xué)生的基本信息 .22 4.5 查看專業(yè)課基本信息 .24 4.6 查看學(xué)生選
10、修課基本信息 .24 結(jié)論.25 致謝.25 參考文獻(xiàn).26 1 1. 緒論緒論 本畢業(yè)論文是以學(xué)校學(xué)生管理信息系統(tǒng)建設(shè)中的成績(jī)管理系統(tǒng)的開發(fā)為背景,論 述了管理信息系統(tǒng)的概念、結(jié)構(gòu)及系統(tǒng)開發(fā)的基本原理和方法,全文共分為緒論、系 統(tǒng)分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、開發(fā)總結(jié)、致謝、參考文獻(xiàn)、附錄等。 1.11.1 問題的提出問題的提出 隨著計(jì)算機(jī)技術(shù)的發(fā)展,特別是計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)與數(shù)據(jù)庫(kù)技術(shù)的發(fā)展,使用人們 的生活與工作方式發(fā)生了很大的改觀。網(wǎng)絡(luò)技術(shù)的應(yīng)用使得計(jì)算機(jī)之間通信、信息共 享成為可能,而數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用則為人們提供了數(shù)據(jù)存儲(chǔ)、信息檢索、信息分析等 功能,從而使得工作更高效地進(jìn)行。 數(shù)據(jù)庫(kù)始于
11、20 世紀(jì) 60 年代,經(jīng)過 40 多年的發(fā)展,現(xiàn)在已經(jīng)形成了理論體系, 成為計(jì)算機(jī)軟件的一個(gè)重要分支。數(shù)據(jù)庫(kù)技術(shù)體現(xiàn)了當(dāng)代先進(jìn)的數(shù)據(jù)管理方法,使計(jì) 算機(jī)的應(yīng)用真正滲透到國(guó)民經(jīng)濟(jì)各個(gè)部門,在數(shù)據(jù)處理領(lǐng)域發(fā)揮著越來越大的作用。 而互聯(lián)網(wǎng)技術(shù)的出現(xiàn),更是進(jìn)一步豐富的人類生活,數(shù)字化生存已經(jīng)一步步走進(jìn) 我們的生活與工作。互聯(lián)網(wǎng)技術(shù)與數(shù)據(jù)庫(kù)技術(shù)的結(jié)合為計(jì)算的在人類生活中的應(yīng)用帶 來了巨大的影響。產(chǎn)業(yè)信息化,管理現(xiàn)代化,科學(xué)化已經(jīng)成為行業(yè)發(fā)展的重要課題, 這不僅是企業(yè)提高自身競(jìng)爭(zhēng)力,甚至是國(guó)家提高綜合國(guó)力,走向國(guó)民富強(qiáng)的重要手段。 在我國(guó),教育是一個(gè)影響著國(guó)富民強(qiáng)的重要行業(yè),隨著改革開放和市場(chǎng)經(jīng)濟(jì)的發(fā)
12、展根據(jù)中國(guó)特有的國(guó)情發(fā)展,教育得到了國(guó)家的大力扶持與社會(huì)各界的高度重視,從 而使教育業(yè)向規(guī)范性與現(xiàn)代化的方向高速發(fā)展,但是同發(fā)達(dá)國(guó)家相比,我國(guó)的教育行 業(yè)的信息技術(shù)的應(yīng)用程度還很低,只有在大城市中發(fā)展較早、規(guī)模較大的院校中才使 用計(jì)算機(jī)進(jìn)行大規(guī)模操作,從各方面提高工作效率,取得良好的社會(huì)和經(jīng)濟(jì)效益,而 一些新興的、規(guī)模較小的教育機(jī)構(gòu)還沒有全部具備這種功能。因此可見,隨著我國(guó)教 育的迅速發(fā)展,信息技術(shù)在其上的應(yīng)用會(huì)更加地廣泛和深入。 2 1.21.2 現(xiàn)有系統(tǒng)存在問題的分析現(xiàn)有系統(tǒng)存在問題的分析 在我國(guó),各大中小學(xué)校的各類信息管理系統(tǒng)并非一個(gè)新的課題,但也有的學(xué)校根 本就沒有信息任何管理系統(tǒng),所
13、有的工作幾乎還是手工操作來完成。計(jì)算機(jī)技術(shù)在日 新月異的發(fā)展,但是有的很多學(xué)校,特別是在西部貧困地區(qū),學(xué)校的種類管理都依然 由手工操作來完成,這十分落后,效率極低,成本很大,而且極異出錯(cuò)。隨著社會(huì)的 發(fā)展,信息化是社會(huì)進(jìn)程的必然趨勢(shì),學(xué)校管理只有只有快,準(zhǔn),精才能發(fā)揮其價(jià)值。 所以機(jī)器代替人力是必然的歷史發(fā)展趨勢(shì),只有領(lǐng)導(dǎo)的重視和支持才能從人工操 作改為計(jì)算機(jī)的自動(dòng)化系統(tǒng)。人工操作必將被計(jì)算機(jī)代替。 有些學(xué)校雖使用了計(jì)算機(jī),甚至管理系統(tǒng),但是仍然存在很多問題,問題一日不 解決,效率就一日提不上去。 還有,有的系統(tǒng)很不完善到處是漏洞,可以說是千瘡百孔,這樣極不完善的系統(tǒng) 對(duì)管理來說是沒有任何保障
14、的。所以需要使用一個(gè)完善的學(xué)生成績(jī)管理系統(tǒng)來實(shí)現(xiàn)解 決這些問題。 1.31.3 系統(tǒng)開發(fā)目標(biāo)與意義系統(tǒng)開發(fā)目標(biāo)與意義 本系統(tǒng)是將現(xiàn)代化的計(jì)算機(jī)技術(shù)和傳統(tǒng)的教學(xué)、教務(wù)工作相結(jié)合,按照學(xué)院的工 作流程設(shè)計(jì)完成的。為了使系統(tǒng)在學(xué)院的管理中發(fā)揮更大的作用,實(shí)現(xiàn)工作過程的計(jì) 算機(jī)化,提高工作效率和工作質(zhì)量,本系統(tǒng)通過收集、整理班上所以學(xué)生的基本信息, 主要包括每個(gè)學(xué)生的基本信息(學(xué)號(hào),姓名,性別,籍貫,出生年月.) 、每個(gè)學(xué)生 的專業(yè)課、公共課以及校選修課的基本信息(課程編號(hào),課程名稱,課程成績(jī),課程 學(xué)分,平均成績(jī),.) ,通過對(duì)基本信息的存儲(chǔ),使每一個(gè)學(xué)生能查到有關(guān)自己的 所有基本情況。主要目的是能
15、為班上的每一為學(xué)生提供成績(jī)查詢,為系上的各種考評(píng) 提供參考,進(jìn)一步地提高工作效率。 在各大中小學(xué)校,用計(jì)算機(jī)管理學(xué)校的信息已經(jīng)越來越普遍了。用計(jì)算機(jī)不但可 以提高工作效率,而且還節(jié)省了許多人力物力,增強(qiáng)了學(xué)校資料的安全性。提高了學(xué) 校的管理能力,為此,用計(jì)算機(jī)來管理學(xué)校的信息,是非常必要的。這樣也方便每一 位同學(xué)能在需要時(shí)查詢自己的成績(jī),也方便了系上對(duì)班上的基本情況有一個(gè)了解,也 3 是系上在評(píng)優(yōu)等方面的一個(gè)重要的參考。再由于班上的同學(xué)都基本上在上網(wǎng),可以通 過學(xué)校的網(wǎng)絡(luò)了解自己有關(guān)的基本信息。 1.41.4 可行性分析可行性分析 可行性研究的目的是用最小的代價(jià)在盡可能的時(shí)間內(nèi)確定問題是否能夠
16、解決。 1.4.1 經(jīng)濟(jì)上可行性 現(xiàn)在,計(jì)算機(jī)的價(jià)格已經(jīng)十分低廉,性能卻有了長(zhǎng)足的進(jìn)步。而本系統(tǒng)的開發(fā), 為學(xué)校的工作效率帶來了一個(gè)質(zhì)的飛躍,為此主要表現(xiàn)有以下幾個(gè)方面: 第一,本系統(tǒng)的運(yùn)行可以代替人工進(jìn)行許多繁雜的勞動(dòng); 第二,本系統(tǒng)的運(yùn)行可以節(jié)省許多資源; 第三,本系統(tǒng)的運(yùn)行可以大大的提高學(xué)校的工作效率; 1.4.2 技術(shù)上可行性 本系統(tǒng)的開發(fā)利用 microsoft office access 作為本系統(tǒng)的數(shù)據(jù)庫(kù),使用 visual basic 作為系統(tǒng)開發(fā)的開發(fā)環(huán)境,visual basic 是一種可視化的、面對(duì)對(duì)象 和條用事件驅(qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì),可用于開發(fā) windows
17、環(huán)境下的種類應(yīng)用 程序。它簡(jiǎn)單易學(xué)、效率高,且功能強(qiáng)大,可以與 windows 的專業(yè)開發(fā)工具 sdk 相媲 美,而且程序開發(fā)人員不必具有 c/c+編程基礎(chǔ)。用傳統(tǒng)程序設(shè)計(jì)語言設(shè)計(jì)程序時(shí), 都是通過編寫程序代碼來設(shè)計(jì)用戶界面,在設(shè)計(jì)過程中看不到界面的實(shí)際顯示效果, 必須編譯后運(yùn)行程序才能觀察。如果對(duì)界面的效果不滿意,還要回到程序中修改。有 時(shí)候,這種編程-編譯-修改的操作可能要反復(fù)多次,大大影響了軟件開發(fā)效率。 visual basic 提供了可視化設(shè)計(jì)工具,把 windows 界面設(shè)計(jì)的復(fù)雜性“封裝”起來, 開發(fā)人員不必為界面設(shè)計(jì)而編寫大量程序代碼。只需要按設(shè)計(jì)要求的屏幕布局,用系 統(tǒng)提供的
18、工具,在屏幕上畫出各種“部件” ,即圖形對(duì)象,并設(shè)置這些圖形對(duì)象的屬 性。visual basic 自動(dòng)產(chǎn)生界面設(shè)計(jì)代碼,程序設(shè)計(jì)人員只需要編寫實(shí)現(xiàn)程序功能 的那部分代碼,從而可以大大提高程序設(shè)計(jì)的效率。因此,它在技術(shù)上是可行的。 1.4.3 運(yùn)行上可行性 本系統(tǒng)為一個(gè)小型的學(xué)生信息管理系統(tǒng),所耗費(fèi)的資源非常的小,學(xué)校的電腦無 4 論是硬件還是軟件都能夠滿足條件,因此,本系統(tǒng)在運(yùn)行上是可行的。 2.需求分析需求分析 2.12.1 用戶需求描述用戶需求描述 通過調(diào)研,該學(xué)生成績(jī)管理系統(tǒng)主要包括本班的每一位學(xué)生在校期間的基本情況 與課程成績(jī)匯總。主要包括期末成績(jī)管理、選修課成績(jī)管理、課程管理、具體
19、的查詢 等。本系統(tǒng)還提供學(xué)生相關(guān)的基本信息統(tǒng)計(jì)、匯總、查詢,這樣便于輔助系領(lǐng)導(dǎo)的學(xué) 生管理工作,改善管理質(zhì)量、提高管理效率。 系統(tǒng)的主要功能性能描述如下: 學(xué)生基本情況管理 :本班每一位學(xué)生的基本情況匯總與管理,主要包括對(duì)學(xué) 生基本情況的添加、修改、刪除、查詢等操作。 成績(jī)管理:主要包括期末成績(jī)、選修課成績(jī)管理。主要包括對(duì)學(xué)生成績(jī)的添加、 修改、刪除、查詢、統(tǒng)計(jì)等操作。 課程管理:主要包括對(duì)課程的添加、刪除、查詢等操作。 本系統(tǒng)用戶信息:學(xué)生必須通過用戶登錄才能訪問到整個(gè)管理系統(tǒng)。 系統(tǒng)維護(hù):能及時(shí)更新該系統(tǒng)的所有信息,若查詢結(jié)束,能及時(shí)退出當(dāng)前窗口, 回到上一級(jí)住窗口。 2.22.2 用戶需
20、求具體分析用戶需求具體分析 2.2.1 系統(tǒng)分析 系統(tǒng)總流程圖: 管理 員 學(xué)生基 本 信息表 學(xué)生基 本 信息學(xué)生 成 績(jī)單 進(jìn)入 建立成 績(jī)文件 建立學(xué) 生文件 建立專 業(yè)文件 建立基本 信息文件 課程 信 息表 存儲(chǔ) 成績(jī) 文件 存儲(chǔ) 學(xué)生 文件 存儲(chǔ) 專業(yè) 文件 存儲(chǔ) 基本 信息 文件 輸出 學(xué)生 的成 績(jī) 成績(jī) 表 5 圖 2-1 根據(jù)以上對(duì)學(xué)生成績(jī)管理系統(tǒng)的需求分析,一個(gè)標(biāo)準(zhǔn)的學(xué)生成績(jī)管理系統(tǒng)應(yīng)該包 含系統(tǒng)管理,學(xué)生基本信息管理,課程基本信息管理,學(xué)生成績(jī)管理等功能,如圖所 示,對(duì)于每一個(gè)功能模塊都包含了一系列的子模塊。 圖 2-2:學(xué)生成績(jī)管理系統(tǒng)功能圖 2.2.2 學(xué)生基本情況
21、管理圖表 顯示 學(xué)生 基本 信息 學(xué)生基本信 息管理(修 改,添加, 查詢) 圖 2-3:學(xué)生基本信息管理功能表 學(xué)生基本情況主要包括以下內(nèi)容:每個(gè)學(xué)生的學(xué)號(hào),姓名,性別,籍貫,民族,出 生年月,政治面貌,入學(xué)時(shí)間,所在班級(jí)通過該成績(jī)管理系統(tǒng)實(shí)現(xiàn)對(duì)每個(gè)學(xué)生基本 情況的添加,修改,刪除,查詢等操作即若有學(xué)生中途退學(xué)或者降級(jí)等原因,則需 學(xué)生成績(jī)管理系統(tǒng) 系統(tǒng) 管理 學(xué)生 基本 信息 管理 課程 基本 信息 管理 學(xué)生 成績(jī) 管理 退 出 學(xué)生基本信息管理 6 要?jiǎng)h除有關(guān)該學(xué)生的基本信息,若有學(xué)生插班,則直接添加該學(xué)生的基本信息還有 助于班上或者系上查詢每個(gè)學(xué)生的基本情況學(xué)生基本信息表(stude
22、nt)描述如下: 表 2-1 學(xué)生基本信息表(student) 列名數(shù)據(jù)類型長(zhǎng)度精度小數(shù)備注 學(xué)號(hào) char1000 關(guān)鍵字 姓名 char1200 不為空 性別 char 600 不為空 籍貫 char1200 不為空 民族 char1200 不為空 出生年月 int600 不為空 政治面貌 char 1200 不為空 入學(xué)時(shí)間 int 600 不為空 所在班級(jí) char 600 不為空 2.2.3 學(xué)生成績(jī)管理圖表 學(xué)生成績(jī)管理 專業(yè) 課成 績(jī)管 理 選修 課成 績(jī)管 理 圖 2-4 學(xué)生成績(jī)管理功能圖 學(xué)生成績(jī)管理主要包括學(xué)生的期末成績(jī)與選修課成績(jī)的管理。通過該學(xué)生成績(jī)管 理系統(tǒng)實(shí)現(xiàn)對(duì)學(xué)
23、生成績(jī)的添加、修改、刪除、查詢、統(tǒng)計(jì)等操作.每經(jīng)過一次考試,通 過該系統(tǒng)可以將成績(jī)添加進(jìn)去;若老師或者學(xué)生發(fā)現(xiàn)成績(jī)有誤,則可以通過對(duì)該管理 系統(tǒng)對(duì)成績(jī)進(jìn)行修改;若有學(xué)生降級(jí)或退學(xué),應(yīng)該及時(shí)刪去有關(guān)該學(xué)生的所有成績(jī);同 樣也有助于學(xué)生查詢自己的各科成績(jī)以及自己的平均成績(jī),也有助于對(duì)本班的基本學(xué) 7 習(xí)情況有個(gè)大概的了解,對(duì)系上進(jìn)行推薦優(yōu)秀、評(píng)獎(jiǎng)學(xué)金等提供了最重要的依據(jù)學(xué) 生期末成績(jī)表(grade)描述如下: grade: 表 2-2 學(xué)生期末成績(jī)表 (grade) 列名數(shù)據(jù)類型長(zhǎng)度精度小數(shù)備注 學(xué)號(hào) char1200 主關(guān)鍵字 姓名 char1200 不為空 課程編號(hào) char200 不為空 課
24、程名稱 char1200 不為空 學(xué)分 int200 不為空 成績(jī) int 322 不為空 平均成績(jī) int 222 不為空 學(xué)生選修課成績(jī)表:sc: 表 2-3 學(xué)生選修課成績(jī)表 列名數(shù)據(jù)類型長(zhǎng)度精度小數(shù)備注 姓名 char 1200 關(guān)鍵字 學(xué)號(hào) char 1200 關(guān)鍵字 課程編號(hào) char 200 不為空 成績(jī) int 322 不為空 平均成績(jī) int 222 不為空 2.2.4 學(xué)生課程基本信息管理圖表 學(xué)生課程基本信息管理 顯示專 業(yè)課基 本信息 選修 課基 本信 息管 理 專業(yè)課 基本信 息管理 顯示選 修課基 本信息 8 圖 2-5 學(xué)生課程基本信息管理功能圖 學(xué)生課程管理主要
25、包括對(duì)學(xué)生所學(xué)的專業(yè)課程與公共課程的管理.隨著學(xué)生所學(xué) 課程的增加,通過該系統(tǒng)能方便實(shí)現(xiàn)對(duì)課程的添加;若中途課程有所變動(dòng),則可以對(duì)該 課程進(jìn)行修改或刪除;若學(xué)生或教師要了解有關(guān)課程的信息,可以通過查詢實(shí)現(xiàn).學(xué)生 的課程管理(course)描述如下: 表 2-4 學(xué)生的課程管理(course) 列名數(shù)據(jù)類型長(zhǎng)度精度小數(shù)備注 課程編號(hào) char 200 關(guān)鍵字 課程名稱 char 1200 不為空 先行課 char 1200 不為空 學(xué)分 in 200 不為空 任課教師 char 1200 不為空 2.2.5 本系統(tǒng)用戶信息表 當(dāng)該成績(jī)管理系統(tǒng)運(yùn)行時(shí),每個(gè)學(xué)生必須通過用戶登錄才能訪問到整個(gè)管理系統(tǒng)
26、, 否則將會(huì)報(bào)錯(cuò),不能正常訪問該系統(tǒng).本系統(tǒng)的用戶信息主要包括:用戶登錄的用戶名, 密碼.用戶信息表(user)描述如下: 表 2-5 用戶信息表(user) 列名數(shù)據(jù)類型長(zhǎng)度精度小數(shù)備注 用戶名 char 1200 不為空 密碼 char 1200 關(guān)鍵字 2.2.6 系統(tǒng)維護(hù) 建立該成績(jī)管理的目的主要是為了讓學(xué)生能在第一時(shí)間了解自己的成績(jī)等情況, 也方便系上對(duì)本班學(xué)生的管理與基本情況的了解.所以該系統(tǒng)要及時(shí)更新.并且運(yùn)行時(shí) 要正常,能從下一級(jí)窗口返回到上一級(jí)窗口. 9 3.系統(tǒng)代碼系統(tǒng)代碼實(shí)現(xiàn)實(shí)現(xiàn) 3.13.1 adoado 對(duì)象模型介紹對(duì)象模型介紹 圖 3-1 對(duì) ado 對(duì)象的主要操作
27、,主要包括 6 個(gè)方面: 1.連接到數(shù)據(jù)源。這是可選的、通常涉及 ado 的 connection 對(duì)象。 2.向數(shù)據(jù)源提交命令。通常涉及 ado 的 command 對(duì)象。在查詢中可以與參數(shù)對(duì)象 (parameter)協(xié)同使用。 3.執(zhí)行命令,比如一個(gè) select 腳本。 4.如果提交的命令有結(jié)果返回,可以通過 ado 的 recordset 對(duì)象對(duì)結(jié)果進(jìn)行操作, 數(shù)據(jù)存儲(chǔ)在緩存中。 5.如果合適,可將緩存中被修改的數(shù)據(jù)更新到物理的存儲(chǔ)上。 6.提供錯(cuò)誤檢測(cè)。通常涉及 ado 的 error 對(duì)象。 下面簡(jiǎn)單介紹一下 ado 的對(duì)象模型 ado 有三大對(duì)象,即 connection 對(duì)象,
28、command 對(duì)象,recordset 對(duì)象. 10 connection(對(duì)象) errors(集合)error(對(duì)象) command(對(duì)象) parameters(集合)parameter(對(duì)象) recordset(對(duì)象) fields(集合)field(對(duì)象) 在 ado 的模型中,connection 對(duì)象是最基本的對(duì)象,他主要是提供與數(shù)據(jù)庫(kù)的連接。 其他的兩個(gè)對(duì)象都是通過它與數(shù)據(jù)庫(kù)的連接來完成操作的。它的屬性、方法如下所示。 connection 對(duì)象的主要屬性 1、connection 對(duì)象用來與數(shù)據(jù)源建立連接、執(zhí)行查詢以及建立事務(wù)處理。它的 取值有兩個(gè),一個(gè)是 adusec
29、lient,一個(gè)是 aduseserver(默認(rèn)) ,從其英語本身的含義 就可以看出,前者是使用客戶端的游標(biāo),而后者是使用服務(wù)器端的游標(biāo)。二著的差別 在于 aduseclient 游標(biāo)可以提供供應(yīng)商所沒有提供的額外的屬性,因而靈活性更大。 需要注意的是 connection 對(duì)象與 recordset 對(duì)象均有此屬性,由 connection 對(duì)象產(chǎn) 生的 recordset 對(duì)象會(huì)自動(dòng)的繼承這個(gè)屬性。另外要讓此屬性對(duì) connection 和 recordset 對(duì)象的實(shí)例起作用的話,必須在打開它們之前先定義。 connection 的主要方法 1、 open,打開一個(gè) connection
30、 的對(duì)象實(shí)例,常用的寫法為 conn.open connectionstring,如果在打開之前已經(jīng)定義了 connectionstring 屬性的話,就可以 直接的打開。 2、 execute,產(chǎn)生一個(gè) recordset 實(shí)例,常用的寫法為 rs=conn.excute commandtext,recordsaffected,option 其中的 commandtext 可以為以下的幾種形式,主要由 option 的值來決定 1) sql 語句,此時(shí) option 的值為 adcmdtext,表示將執(zhí)行一段 sql 語句。2)數(shù)據(jù)庫(kù)的一個(gè) 表名,此時(shí) option 的值為 adcmdtab
31、le,表示將對(duì)該表進(jìn)行操作。 error 報(bào)錯(cuò): 前面講到了 connection 對(duì)象是用于與各類的數(shù)據(jù)庫(kù)進(jìn)行掛接的,但在此過程中 將會(huì)出現(xiàn)一些不可預(yù)測(cè)的錯(cuò)誤,因而有了 error 這個(gè)對(duì)象。首先要清楚一個(gè)概念, 11 error 對(duì)象是在連接數(shù)據(jù)庫(kù)時(shí)產(chǎn)生的,而并非那些運(yùn)行時(shí)的實(shí)時(shí)錯(cuò)誤。也就是我們常 用 on error resume next 來忽略到的錯(cuò)誤。這些錯(cuò)誤將在 err 對(duì)象中,我們可以用 一個(gè)統(tǒng)一的模板來集中處理,下面來看 error 對(duì)象的屬性和方法: 1、 count 屬性:用來統(tǒng)計(jì) errors 集合的數(shù)目,它的特點(diǎn)與前面講到的 property 對(duì)象的 count 對(duì)象
32、相同。 2、 clear 方法:寫法為 error.clear,是用來清除 errors 集合中的原有對(duì)象的, 在統(tǒng)計(jì)新的 error 對(duì)象時(shí)應(yīng)該先使用此語句。 3、 item 方法:用來指定特定的一個(gè)錯(cuò)誤,語法為 error.item(number),其中 number 為一數(shù)字。由于 item 為默認(rèn)的方法,所以 error(number)的寫法與前面的寫法 是等價(jià)的。下面是一段程序。用來列舉 error 的所有對(duì)象 command 對(duì)象: command 對(duì)象執(zhí)行數(shù)據(jù)庫(kù)操作命令,這些命令并不只限于查詢串,而是依賴于數(shù) 據(jù)庫(kù)的 ole db 供應(yīng)者。以下的討論假定使用 odbc 供應(yīng)者。
33、使用 command 對(duì)象可以建立一個(gè)新的連接,也可以使用當(dāng)前已經(jīng)建立的連接,這 取決于對(duì)象activeconection屬性的設(shè)置。如果activeconection屬性被設(shè)置為一 個(gè) connection 對(duì)象的引用,那么 command 對(duì)象就建立一個(gè)新的連接,并使用這個(gè)新連 接。每個(gè) connection 對(duì)象可以包含多個(gè) command 對(duì)象。 用 command 對(duì)象執(zhí)行一個(gè)查詢子串,可以返回一個(gè)記錄集,也可以返回多個(gè)記錄 集,甚至可以不返回記錄集。對(duì)象的commandtext屬性中包含了要執(zhí)行的查詢字串。 一個(gè)查詢可以是一個(gè)標(biāo)準(zhǔn)的 sql 數(shù)據(jù)操作語言,如 select、dele
34、te、update,等;也 可以是任何數(shù)據(jù)定義語言,如 create、drop 等;還可以是一個(gè)存儲(chǔ)過程或一個(gè)表。究 竟 commandtext 中是哪一種查詢字串,由對(duì)象的commandtype屬性決定。 commandtype屬性有四種不同的值:adcmdtext,adcmdtable,adcmdstoreproc 和 adcmdunknow。如果查詢字串是一個(gè) sql 語句,那么commandtype屬性應(yīng)設(shè)為 adcmdtext;如果查詢字串是一個(gè)存儲(chǔ)過程的名字,那么commandtype屬性應(yīng)該為 adcmdstoreproc,command 對(duì)象用call procedure=na
35、me的形式來執(zhí)行一個(gè)存儲(chǔ)過 程;如果查詢字串是一個(gè)表名,那么commandtype屬性應(yīng)該設(shè)為 adcmdtable,command 對(duì)象用select * from tablename的形式來執(zhí)行一個(gè)查詢; 如果commandtype屬性被設(shè)置為adcmdunknown,command 對(duì)象必須執(zhí)行一些額外的 12 步驟來決定查詢字串的類型,這樣會(huì)降低系統(tǒng)的性能。 如果要執(zhí)行一個(gè)帶參數(shù)的查詢,或者要執(zhí)行一個(gè)查詢?nèi)舾纱?,那么可以?command 對(duì)象的prepared屬性預(yù)先建立一個(gè)查詢字串 command 對(duì)象的 execute 方 法 一般來說使用 command 的 execute 方
36、法有三個(gè)目的。1、用于進(jìn)行一些簡(jiǎn)單的處理, 例如刪除一條記錄: comm.commandtype=adcmdtext comm.commandtext=delect from employee where job_id=1 comm.execute 這樣的工作不需要返回什么東西。2、用于進(jìn)行一些復(fù)雜的處理,例如進(jìn)行一個(gè) transact 的設(shè)計(jì),這類一般都是和 storedprocedure 一同工作的,而且有輸出參數(shù)和 輸入的參數(shù),這也是我們本章的討論主題。3、用于返回一個(gè) recordset 對(duì)象,用于其 它的處理 recordset 對(duì)象 recordset 對(duì)象用來操作查詢返回的結(jié)果集
37、,它可以在結(jié)果集中添加、刪除、修 改和移動(dòng)記錄。當(dāng)創(chuàng)建了一個(gè) recordset 對(duì)象時(shí),一個(gè)游標(biāo)也被自動(dòng)創(chuàng)建了。可以用 recordset 對(duì)象的 cursortype 屬性來設(shè)置游標(biāo)的類型。游標(biāo)的類型有 4 種:僅能向前 移動(dòng)的游標(biāo)、靜態(tài)的游標(biāo)、鍵集游標(biāo)和動(dòng)態(tài)游標(biāo)。這已經(jīng)在 dao 中的 recordset 對(duì)象 和 rdo 的 rdoresultset 對(duì)象中介紹過了。 .fields 集合和 fields 對(duì)象 fields 集合和 fields 對(duì)象用來訪問當(dāng)前記錄中的每一列的數(shù)據(jù),可以用 fields 對(duì)象創(chuàng)建一個(gè)新記錄、修改已存在的數(shù)據(jù)等。用 recordset 對(duì)象的 addn
38、ew、update 和 updatebatch 方法來添加新記錄和更新記錄。也可以用 fields 對(duì)象來訪問表中每一 個(gè)字段的一些屬性,如下面的例子循環(huán)打印出表中當(dāng)前記錄的字段名稱、類型和值。 3.23.2 公共模塊公共模塊 在 visual basic 中可以使用公共模塊來存放整個(gè)項(xiàng)目所需的公共函數(shù)和全局變 量來提高代碼的利用率,在項(xiàng)目資源管理器中為項(xiàng)目添加一個(gè) module,保存為 module1.bas.代碼如下: 13 public gusername as string 保存用戶名 public flag as integer public gsql as string publi
39、c iflag as integer 添加執(zhí)行 sql 語句的函數(shù) public function transactsql(byval sql as string) as adodb.recordset dim con as adodb.connection 定義一個(gè)連接對(duì)象 dim rs as adodb.recordset 定義一個(gè)記錄集 dim strconnection as string dim strarray() as string 定義一個(gè)字符串 set con = new adodb.connection 創(chuàng)建連接 set rs = new adodb.recordset 創(chuàng)
40、建記錄集 on error goto transactsql_error 出錯(cuò)處理 strconnection = provider=microsoft.jet.oledb.4.0;data source = & app.path & table.mdb strarray = split(sql) con.open strconnection 打開連接 if strcomp(ucase$(strarray(0), select, vbtextcompare) = 0 then rs.open trim$(sql), con, adopenkeyset, adlockoptimistic set
41、 transactsql = rs 返回記錄集 iflag = 1 else con.execute sql 執(zhí)行命令 iflag = 1 end if transactsql_exit: set rs = nothing 清空對(duì)象,釋放 rs 對(duì)象占用的內(nèi)存空間 set con = nothing 清空對(duì)象,釋放 con 對(duì)象占用的內(nèi)存空 間 14 exit function 退出函數(shù) transactsql_error: msgbox 查詢錯(cuò)誤: & err.description 在生成錯(cuò)誤時(shí),將 error 函數(shù) 返回的字符串放置在 description 中。 iflag = 2 r
42、esume transactsql_exit end function public sub tabtoenter(key as integer) if key = 13 then sendkeys tab end if end sub sub main() dim flogin as new frmlogin flogin.show vbmodual end sub 3.33.3 系統(tǒng)的登錄界面系統(tǒng)的登錄界面 圖 3-2 15 代碼設(shè)計(jì)如下: private sub cmdok_click() dim sql as string 初始化數(shù)據(jù)庫(kù) dim rs as adodb.recordse
43、t 定義 rs 記錄集連接數(shù)據(jù)庫(kù) if trim(username.text = ) then msgbox 沒有輸入用戶名,請(qǐng)重新輸入!, vbokonly + vbexclamation, 警告 username.setfocus else sql = select * from userinfo where userid= & username.text & set rs = transactsql(sql) if iflag = 1 then if rs.eof = true then msgbox 沒有這個(gè)用戶,請(qǐng)重新輸入!, vbokonly + vbexclamation, 警告
44、 username.setfocus else if trim(rs.fields(1) = trim(password.text) then rs.close me.hide gusername = trim(username.text) mdiform1.show unload me else msgbox 密碼不正確,請(qǐng)重新輸入!, vbokonly + vbexclamation, 警告 password.setfocus password.text = end if end if else 16 unload me end if end if pwdcount = pwdcount
45、+ 1 if pwdcount = 3 then unload me exit sub end if end sub 3.43.4 專業(yè)課成績(jī)管理專業(yè)課成績(jī)管理 界面運(yùn)行如下: 圖 3-3 該界面使用了 text,label,frame,commanbutton 等控件。 查詢按鈕 當(dāng)點(diǎn)擊查詢控件時(shí),將觸發(fā) cmdmod_click 事件,顯示出可通過輸入課程編號(hào)和 課程名稱來查詢學(xué)生的專業(yè)課信息與成績(jī)。當(dāng)點(diǎn)擊 frmprocsqury 中的“查詢”按鈕 17 時(shí),觸發(fā) cmdfind_click 事件, 圖 3-4 輸入學(xué)號(hào)為 95001 的學(xué)生,數(shù)據(jù)庫(kù)中檢測(cè)到該學(xué)生的成績(jī)信息顯示如下: 圖
46、 3-5 代碼如下: private sub cmdfind_click() dim sql as string dim rs as adodb.recordset set rs = new adodb.recordset sql = select * from pro_course where (1=1) 18 if trim(noedit.text) = and trim(nameedit.text) = then msgbox 請(qǐng)選擇你要查詢的條件并輸入你要查詢的內(nèi)容!, vbokonly + vbexclamation, 警告 exit sub else if (nocheck.val
47、ue) and (noedit.text ) then sql = select * from pro_course sql = sql & where cno = & trim(noedit.text) & set rs = transactsql(sql) end if if (namecheck.value) and (nameedit.text ) then sql = select * from pro_course sql = sql & where cname like % & trim(nameedit.text) & % set rs = transactsql(sql) e
48、nd if end if if rs.eof then msgbox sorry,無法找到你要想查詢的學(xué)生的基本信息! else frmprocourseshow.text1.text = rs(cno) frmprocourseshow.text3.text = rs(cname) frmprocourseshow.text4.text = rs(cteacher) frmprocourseshow.text5.text = rs(ccredit) frmprocourseshow.show end if rs.close set rs = nothing end sub 修改課程信息 19
49、 通過輸入正確的學(xué)生學(xué)號(hào),給該生添加課程編號(hào)和成績(jī),來添加這門學(xué)修課的 基本信息,添加完成點(diǎn)擊修改按鈕后,在符合存儲(chǔ)數(shù)據(jù)信息的情況下顯示課程信息修 改成功。 圖 3-6 代碼如下: private sub cmdmod_click() set rs = new adodb.recordset if text1.text = then msgbox 請(qǐng)你輸入要想修改專業(yè)課程編號(hào)以及相關(guān)的所有信息!, vbokonly + vbexclamation, 警告! text1.setfocus exit sub end if sql = select * from pro_course where c
50、no= & trim(text1.text) & set rs = transactsql(sql) if rs.eof then 查看是否到達(dá)記錄集的最后一條記錄末 尾 msgbox 無法找到有關(guān)該門課程的基本信息,請(qǐng)核實(shí)后再修改!, vbokonly + vbexclamation, 警告! call init text1.setfocus rs.close 20 exit sub end if if msgbox(確定要修改編號(hào)為 & text1.text & 的基本信息嗎?, vbokcancel) = vbok then sql = update pro_course set cna
51、me= & trim(text2.text) sql = sql & ,cteacher= & trim(text3.text) & ,ccredit= & trim(text5.text) sql = sql & where cno= & trim(text1.text) & transactsql (sql) msgbox 該專業(yè)課程基本信息已經(jīng)修改!, vbokonly + vbexclamation, 修改 結(jié)束! end if call init end sub 4.其他其他界面介紹界面介紹 4.14.1 登錄界面登錄界面 每個(gè)用戶都有自己的用戶名和密碼,必須通過輸入用戶的用戶名和密
52、碼才能進(jìn)入 學(xué)生成績(jī)管理系統(tǒng),當(dāng)輸入用戶名密碼為 access 數(shù)據(jù)庫(kù)中所存儲(chǔ)的正確用戶名和密碼 時(shí)即可進(jìn)入學(xué)生成績(jī)管理系統(tǒng),如果不是數(shù)據(jù)庫(kù)中的用戶信息,則會(huì)顯示為用戶名或 密碼輸入錯(cuò)誤。 21 圖 4-1 4.24.2 添加新用戶添加新用戶 學(xué)生可通過添加用戶功能添加自己的用戶名和密碼,添加成功后即可使用自己的 用戶名和密碼進(jìn)行系統(tǒng)登錄,并在系統(tǒng)中查詢和修改自己所需信息 圖 4-2 4.34.3 修改登錄用戶的密碼修改登錄用戶的密碼 當(dāng)用戶以自己的用戶名和密碼登錄進(jìn)去后,如果想修改密碼可通過修改密碼窗口 來修改密碼。當(dāng)密碼修改成功時(shí),access 數(shù)據(jù)庫(kù)中該用戶名的密碼及隨之改變 22 圖
53、4-3 存儲(chǔ)用戶名和密碼的數(shù)據(jù)庫(kù) 圖 4-4 4.44.4 查看學(xué)生的基本信息查看學(xué)生的基本信息 在該窗口中可以查看學(xué)生的基本信息包括:學(xué)生的學(xué)號(hào),籍貫,姓名,性別,年齡等 23 圖 4-5 “首記錄”按鈕代碼實(shí)現(xiàn):adodc1.recordset.movefirst “上一條”按鈕代碼實(shí)現(xiàn):adodc1.recordset.moveprevious if adodc1.recordset.bof then adodc1.recordset.movefirst “下一條”按鈕代碼實(shí)現(xiàn) adodc1.recordset.movenext if adodc1.recordset.eof then adodc1.recordset.movelast “末記錄”按鈕代碼實(shí)現(xiàn) adodc1.recordset.movelast 打開 recordset 時(shí),當(dāng)前記錄位于第一個(gè)記錄(如果
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度文化藝術(shù)vi設(shè)計(jì)制作合同
- 二零二五年度按揭貸款服務(wù)與資產(chǎn)評(píng)估合同3篇
- 二零二五年度投標(biāo)保函擔(dān)保合同范本
- 二零二五年度房屋買賣及貸款擔(dān)保協(xié)議3篇
- 海南職業(yè)技術(shù)學(xué)院《現(xiàn)代信息網(wǎng)絡(luò)技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 海南醫(yī)學(xué)院《電子商務(wù)理論與實(shí)務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度水利設(shè)施安裝與維護(hù)合同3篇
- 2025版防盜門個(gè)性化定制加工承攬協(xié)議范本3篇
- 二零二五年度智能家居控制系統(tǒng)開發(fā)委托服務(wù)合同3篇
- 某房地產(chǎn)公司安全管理應(yīng)急預(yù)案范文(2篇)
- 建筑工程施工現(xiàn)場(chǎng)視頻監(jiān)控布置實(shí)施方案
- 施工現(xiàn)場(chǎng)節(jié)前安全檢查表
- 松下vf100變頻器使用手冊(cè)
- 機(jī)械設(shè)計(jì)制造及其自動(dòng)化實(shí)習(xí)總結(jié)報(bào)告——某
- 角的概念推廣說課課件.
- 化學(xué)元素周期表口訣化學(xué)元素周期表口訣
- 壓密注漿施工工藝
- 2019-2020學(xué)年江蘇省徐州市九年級(jí)(上)期末英語試卷(解析版)
- 蘇教版八年級(jí)下《二次根式》單元測(cè)試卷(含答案)
- AAEM的應(yīng)用機(jī)理
- 海上試油測(cè)試技術(shù)0327
評(píng)論
0/150
提交評(píng)論