學(xué)生學(xué)籍成績(jī)管理系統(tǒng)設(shè)計(jì)報(bào)告_第1頁(yè)
學(xué)生學(xué)籍成績(jī)管理系統(tǒng)設(shè)計(jì)報(bào)告_第2頁(yè)
學(xué)生學(xué)籍成績(jī)管理系統(tǒng)設(shè)計(jì)報(bào)告_第3頁(yè)
學(xué)生學(xué)籍成績(jī)管理系統(tǒng)設(shè)計(jì)報(bào)告_第4頁(yè)
學(xué)生學(xué)籍成績(jī)管理系統(tǒng)設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 軟件工程課程設(shè)計(jì)一、前言學(xué)籍管理工作在正常的情況下需對(duì)大量的數(shù)據(jù)進(jìn)行處理,它們包括,學(xué)生學(xué)籍信息錄入、學(xué)生學(xué)籍修改、學(xué)生基本檔案輸入、學(xué)籍變動(dòng)、學(xué)生成績(jī)錄入、學(xué)生成績(jī)查詢等。如果由人工去處理這些數(shù)據(jù)需要花費(fèi)大量的時(shí)間、人力、物力。學(xué)籍管理系統(tǒng),是在總結(jié)以上管理方法的基礎(chǔ)上并結(jié)合用戶的需求對(duì)學(xué)籍的各種數(shù)據(jù)進(jìn)行了有針對(duì)性的開(kāi)發(fā),充分利用Visual Basic具有強(qiáng)大的數(shù)據(jù)庫(kù)管理功能及在應(yīng)用程序開(kāi)發(fā)上高效、靈活的特點(diǎn),創(chuàng)建了各個(gè)過(guò)程,目標(biāo)設(shè)計(jì)、系統(tǒng)開(kāi)發(fā)背景、開(kāi)發(fā)和運(yùn)行環(huán)境選擇、系統(tǒng)功能分析、系統(tǒng)功能模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)需求分析、數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)結(jié)構(gòu)實(shí)現(xiàn)、各個(gè)功能模塊的創(chuàng)

2、建、系統(tǒng)的編譯和發(fā)行等進(jìn)行了詳細(xì)描述。學(xué)籍管理系統(tǒng)設(shè)計(jì)突出了信息管理系統(tǒng)完整實(shí)用的開(kāi)發(fā)方法,系統(tǒng)的最大特點(diǎn)是突出了實(shí)用性和實(shí)效性,緊密的結(jié)合了用戶的使用要求,操作方便,有一人進(jìn)行管理就可以完成大量的學(xué)籍管理工作。二、系統(tǒng)開(kāi)發(fā)工具和數(shù)據(jù)庫(kù)簡(jiǎn)介  結(jié)合本人學(xué)習(xí)期間所學(xué)的有關(guān)程序設(shè)計(jì)的語(yǔ)言為Visual Basic 6.0,因此,本系統(tǒng)軟件將采用該語(yǔ)言進(jìn)行設(shè)計(jì)開(kāi)發(fā)。下面先介紹一下該工具的好處與特點(diǎn)。Visual Basic 6.0 概述1、Visual Basic 6.0 簡(jiǎn)介無(wú)論用戶是一個(gè)Windows 編程新手,還是已經(jīng)具有豐富的Windows程序設(shè)計(jì)經(jīng)驗(yàn)的專業(yè)程序開(kāi)發(fā)人員,利用Vis

3、ual Basic 6.0提供的良好開(kāi)發(fā)環(huán)境,均可以使你快速地完成所需設(shè)計(jì)任務(wù)。所謂Visual ,中文的意思是“可視化”,它提供了一種創(chuàng)建圖形用戶界面(GUI)的方法,利用這種方法,用戶可不必書寫復(fù)雜的描述界面元素外觀和位置的程序代碼,而只需將系統(tǒng)提供的對(duì)象放到屏幕上的適當(dāng)位置,并通過(guò)屬性窗口進(jìn)行適當(dāng)?shù)脑O(shè)置或調(diào)整,就可以設(shè)計(jì)出一個(gè)優(yōu)秀的應(yīng)用程序界面。此外,用戶除了可以使用單獨(dú)的Visual Basic 6.0程序設(shè)計(jì)環(huán)境進(jìn)行程序設(shè)計(jì)外。Visual Basic 6.0 程序設(shè)計(jì)系統(tǒng)還被包括在Excel Access 等眾多Windows功能應(yīng)用軟件中,以供用戶進(jìn)行二次開(kāi)發(fā)。目前在編制網(wǎng)頁(yè)上使

4、用較多的VBScript 腳本語(yǔ)言實(shí)際上是Visual Basic 語(yǔ)言的子集。因此,無(wú)論從哪方面講,用Visual Basic 6.0系統(tǒng)開(kāi)發(fā)軟件都是一件非常合算的投資。2、Visual Basic 6.0 語(yǔ)言的特點(diǎn)不管你是編制一個(gè)小的應(yīng)用程序,還是開(kāi)發(fā)一套大型的專業(yè)系統(tǒng)軟件,甚至是開(kāi)發(fā)一個(gè)跨越Internet 的分布式應(yīng)用系統(tǒng)軟件,Visual Basic 6.0 都為用戶提供了合適的工具。利用Visual Basic 6.0的數(shù)據(jù)訪問(wèn)特性,用戶可創(chuàng)建數(shù)據(jù)庫(kù)、前端應(yīng)用程序、適用于大多數(shù)流行數(shù)據(jù)庫(kù)格式的服務(wù)器組件等。利用ActiveX技術(shù)允許用戶使用其他應(yīng)用程序提供的功能,如Microso

5、ft Word、Microsoft Excel,甚至可直接使用由Visual Basic 6.0 專業(yè)版和企業(yè)版創(chuàng)建的應(yīng)用程序和對(duì)象。Visual Basic 的Internet 功能允許用戶使用程序方便地通過(guò)Internet 訪問(wèn)文檔和應(yīng)用程序,甚至創(chuàng)建Internet應(yīng)用程序。用Visual Basic 6.0用戶創(chuàng)建的是一個(gè)真正的EXE文件,該文件可直接運(yùn)行于操作系統(tǒng)(Windows98/2000/XP或Windows NT系統(tǒng)),完全脫離Visual Basic系統(tǒng)環(huán)境。并且,該文件可以自由發(fā)布,安裝到單機(jī)或網(wǎng)絡(luò)服務(wù)器上。此外,Visual Basic 6.0 還增加了一些新的功能:具

6、體如下:增加了ADO數(shù)據(jù)對(duì)象,該數(shù)據(jù)訪問(wèn)技術(shù)是一個(gè)簡(jiǎn)單的數(shù)據(jù)模型,可更好地與其它Microsoft和非Microsoft技術(shù)集成。它還是一個(gè)通用接口,可用于訪問(wèn)本地或遠(yuǎn)程數(shù)據(jù)、連續(xù)和離散記錄集、用戶可訪問(wèn)的數(shù)據(jù)綁定接口和分層記錄集。提供了數(shù)據(jù)環(huán)境設(shè)計(jì)器,其中提供了一種創(chuàng)建ADO對(duì)象的交互設(shè)計(jì)環(huán)境,數(shù)據(jù)環(huán)境可作為窗體或報(bào)表中所有要求數(shù)據(jù)對(duì)象的數(shù)據(jù)源,或者通過(guò)數(shù)據(jù)環(huán)境的方法和屬性由等程序訪問(wèn),數(shù)據(jù)環(huán)境設(shè)計(jì)器具有用戶連接設(shè)計(jì)器的全部功能和附加特性,如拖放、分層、分組和合計(jì)等。數(shù)據(jù)報(bào)表,允許用戶使用拖放方法利用任何記錄集合快速創(chuàng)建報(bào)表。數(shù)據(jù)源,創(chuàng)建可綁定任何控件的數(shù)據(jù)源用戶定義控件和類。SQL編輯器,

7、允許用戶增加新的存儲(chǔ)過(guò)程至SQL服務(wù)器程序和Oracle數(shù)據(jù)庫(kù)中,用戶還可以使用編輯器編寫觸發(fā)器。增強(qiáng)的數(shù)據(jù)窗體向?qū)?,現(xiàn)在用戶不僅可以構(gòu)造不綁定至數(shù)據(jù)控件的代碼窗體,而且可以使用ADO代碼,該向?qū)б呀?jīng)集成到應(yīng)用程序向?qū)?、Chart向?qū)Ш虵lexGrid向?qū)е?。文件系統(tǒng)對(duì)象,Visual Basic 6.0 提供了改進(jìn)的在文件系統(tǒng)中移動(dòng)的程序集,并可創(chuàng)建文本文件和目錄。DataGrid控件,該控件可幫助用戶快速構(gòu)造觀察和編輯記錄的程序,它也支持新的ADO數(shù)據(jù)控件??梢暬瘮?shù)據(jù)庫(kù)工具集成(企業(yè)版)。在Visual Basic 6.0 中用戶可以可視地創(chuàng)建數(shù)據(jù)庫(kù)和查詢、SQL服務(wù)器程序、Oracle數(shù)

8、據(jù)庫(kù)表、使用拖放方法創(chuàng)建視圖,以及自動(dòng)改變列數(shù)據(jù)類型。3、Visual Basic 6.0 的版本目前Visual Basic 6.0有三種版本,各自滿足不同的開(kāi)發(fā)需要。其中:Visual Basic 6.0學(xué)習(xí)版使編程人員可輕松學(xué)習(xí)和設(shè)計(jì)一些基本的應(yīng)用程序。該版本包括所有的內(nèi)部控件,連同Grid、Tab和Data_Bound控件。Visual Basic 6.0專業(yè)版為專業(yè)編程人員提供了一套進(jìn)行開(kāi)發(fā)的功能完備的工具。該版本包括學(xué)習(xí)版的全部功能連同ActiveX控件,還包括Internet Application Designer(Internet報(bào)務(wù)器應(yīng)用程序設(shè)計(jì)器)、Integrated

9、Visual DatabaseTools(集成可視化數(shù)據(jù)庫(kù)工具)、Data Environment (數(shù)據(jù)環(huán)境)、ActiveX污染Data Objects(數(shù)據(jù)對(duì)象,簡(jiǎn)稱ADO)和Dynamic HTML Page Designer (動(dòng)態(tài)HTML頁(yè)面設(shè)計(jì)器)。Visual Basic 6.0企業(yè)版使得專業(yè)編程人員能夠開(kāi)發(fā)功能強(qiáng)大的組內(nèi)分布式應(yīng)用程序。該版本包括專業(yè)版的全部功能連同Back Office 工具,如SQL Server Microsoft Transaction Server 、Internet Information 、Visual SourceSafe、SNA Server

10、。三、需求分析3.1 設(shè)計(jì)思想由于本系統(tǒng)是一個(gè)基于C/S的數(shù)據(jù)庫(kù)的信息管理系統(tǒng),所以第一步就是需要利用SQL Server 2000建立所需要的數(shù)據(jù)庫(kù),第二步就使用Visual Basic 6.0完成該系統(tǒng)客戶端應(yīng)用程序的開(kāi)發(fā)。3.2 可行性分析可行性分析是系統(tǒng)分析階段的第二項(xiàng)活動(dòng),它的主要目是進(jìn)一步明確系統(tǒng)的目標(biāo)、規(guī)模與功能,對(duì)系統(tǒng)開(kāi)發(fā)背景、必要性和意義進(jìn)行了調(diào)查分析并根據(jù)需要和可能提出開(kāi)發(fā)系統(tǒng)的初步方案與計(jì)劃??尚行苑治鍪菍?duì)系統(tǒng)進(jìn)行全面、概要的分析。通過(guò)調(diào)查分析,本系統(tǒng)設(shè)計(jì)主要有以下三個(gè)可行性:3.2.1 操作可行性本系統(tǒng)操作簡(jiǎn)單,易于理解,只需通過(guò)簡(jiǎn)單指導(dǎo),上手較快,系統(tǒng)管理員、教師以及

11、學(xué)生均能進(jìn)行操作,運(yùn)行環(huán)境要求低。3.2.2 技術(shù)可行性本系統(tǒng)在Windows XP Server 開(kāi)發(fā)環(huán)境下,利用Visual Basic 6.0開(kāi)發(fā)工具,并使用SQL Server 2000作為數(shù)據(jù)庫(kù)管理系統(tǒng),來(lái)實(shí)現(xiàn)學(xué)生學(xué)籍管理系統(tǒng)的各種功能。SQL Server 2000屬于主從時(shí)式的數(shù)據(jù)庫(kù)服務(wù)器這也是主從式數(shù)據(jù)庫(kù)服務(wù)器的特點(diǎn),服務(wù)器本身重在數(shù)據(jù)的管理,為客戶端應(yīng)用程序提供一致的接口。當(dāng)然也可以使用SQL Server 2005為數(shù)據(jù)庫(kù)管理系統(tǒng),開(kāi)發(fā)工具也可以是它的更高版,這樣可以提高系統(tǒng)的性能,降低它的局限性。3.2.3 經(jīng)濟(jì)可行性采用新的學(xué)生學(xué)籍管理系統(tǒng)可取代原系統(tǒng)的手工管理工作,減

12、少人工開(kāi)支,節(jié)省資金,并且可大大提高數(shù)據(jù)信息的取得,縮短數(shù)據(jù)信息處理時(shí)間,提高學(xué)生信息的利用率,使教學(xué)質(zhì)量更進(jìn)了一個(gè)臺(tái)階。3.3 功能需求按照系統(tǒng)開(kāi)發(fā)業(yè)務(wù)分析要求和原則,在與系統(tǒng)管理人員的充分溝通,整理出學(xué)生學(xué)籍管理系統(tǒng)所需求的基本功能和用戶界面的一些需求,這些需求將作為系統(tǒng)分析和邏輯設(shè)計(jì)的依據(jù)。3.3.1 基本功能需求能對(duì)學(xué)生的學(xué)籍及成績(jī)進(jìn)行基本管理,包括:學(xué)生基本信息和學(xué)科成績(jī)的存儲(chǔ)、輸入、刪除、修改、查詢,以及升留級(jí)管理。學(xué)生基本信息應(yīng)包括:學(xué)號(hào)、姓名、出生年份、籍貫、性別、專業(yè)、班級(jí)、家庭住址、本校住址、個(gè)人聯(lián)系電話、家庭聯(lián)系電話;成績(jī)信息應(yīng)包括:學(xué)號(hào)、課號(hào)、課名、成績(jī)、上課時(shí)間、教師

13、號(hào)。查詢能夠按照:學(xué)號(hào)、課號(hào)、班級(jí)、時(shí)間等進(jìn)行查詢。3.4 性能需求根據(jù)Visual Basic 6.0的運(yùn)行需求以及系統(tǒng)的調(diào)試需求,至少需要滿足以下的軟硬件要求:開(kāi)發(fā)工具:Visual Basic 6.0;操作系統(tǒng):Windows2000/XP;數(shù)據(jù)庫(kù): SQL Server 2000;CPU: 2.4GHz以上;內(nèi)存: 512以上;硬盤: 80GB以上;VGA顯示器或更高;四、系統(tǒng)設(shè)計(jì) 4.1系統(tǒng)設(shè)計(jì)思想1、采用現(xiàn)有的資源,先進(jìn)的管理系統(tǒng)開(kāi)發(fā)方案,充分利用學(xué)校現(xiàn)有的資源,減少開(kāi)發(fā)中的時(shí)間和財(cái)力、物力、提高系統(tǒng)開(kāi)發(fā)的水平和應(yīng)用效果。2、系統(tǒng)就滿足學(xué)校的需求,例如學(xué)生信息的錄入、查詢

14、、更新等。學(xué)生錄入與排名。3、系統(tǒng)就具備數(shù)據(jù)庫(kù)維護(hù)功能,及時(shí)根據(jù)用戶需求進(jìn)行數(shù)據(jù)添加、刪除、修改等操作。4.2 系統(tǒng)設(shè)計(jì)分析    本系統(tǒng)適用于中小學(xué)校,其功能主要分為    成績(jī)管理:用于對(duì)成績(jī)的輸入、修改、查詢。    學(xué)籍管理:用于對(duì)學(xué)生學(xué)籍的錄入與修改、查詢。    幫助信息:用于對(duì)本系統(tǒng)的具體操作進(jìn)行詳解。本系統(tǒng)性能力求易于使用,具體有較高的擴(kuò)展性和可維護(hù)性。 4.3系統(tǒng)功能分析錄入功能:為一般用戶提供相應(yīng)的錄入功能,為超級(jí)用戶提供對(duì)所有信息的錄入功能。查詢功能:為所有用戶提

15、供查詢的功能,可查詢?cè)试S范圍內(nèi)的所有信息。維護(hù)功能:為一般用戶提供查詢及相應(yīng)的修改,刪除功能,為超級(jí)用戶提供對(duì)所有信息的修改刪除功能。    幫助功能:能幫助初次使用者對(duì)本系統(tǒng)的應(yīng)用及處理常見(jiàn)的問(wèn)題。    退出功能:結(jié)束并關(guān)閉系統(tǒng)。 4.4學(xué)生學(xué)籍系統(tǒng)的目標(biāo)    節(jié)約資源,提高學(xué)籍信息的精確度    本系統(tǒng)能減少很多不必要的資源,不用象以前那樣用冗余的紙張式的管理。大節(jié)省了學(xué)校能源。并且計(jì)算機(jī)的存儲(chǔ)與快速查詢功能大大提高了學(xué)籍管理的效率,并且還提高了學(xué)籍信息管理的精確度。方便快速操作,精減人

16、員,節(jié)約開(kāi)支方便快速的操作,可減少學(xué)籍信息管理的漏洞,又減少因工作的冗余出現(xiàn)的錯(cuò)誤,并且操作非常簡(jiǎn)單,可減少許多不很必要的人員,這無(wú)論從物質(zhì)上還是工作人員的工資上都為學(xué)校節(jié)約了開(kāi)支。為學(xué)校增加了財(cái)富。4.5功能模塊分解接口設(shè)計(jì)外部接口:用戶一般通過(guò)終端進(jìn)行操作,用戶進(jìn)入界面后進(jìn)行相應(yīng)的操作。硬件接口:賽揚(yáng)133 、內(nèi)存32兆以上PC機(jī)滿足輸入端條件。軟件接口:Windows2000/NT或更高的操作系統(tǒng)。內(nèi)部接口:內(nèi)部接口(模塊之間的接口)驗(yàn)證模塊:?jiǎn)?dòng)系統(tǒng)時(shí),便激活登陸口令界面;初始化模塊:對(duì)系統(tǒng)進(jìn)行初始化;系統(tǒng)功能模塊:接收系統(tǒng)功能的相應(yīng)消息,啟動(dòng)信息錄入、信息查詢、信息維護(hù)等模塊。4.6

17、各模塊的具體分析:學(xué)生信息管理:主要用于學(xué)生的基本信息管理(如學(xué)號(hào)、姓名、性別、出生年月、聯(lián)系地址等)。成績(jī)管理:主要用于學(xué)生考試的成績(jī)進(jìn)行管理                     4.7數(shù)據(jù)庫(kù)設(shè)計(jì)4.7.1數(shù)據(jù)流圖(略)4.7.2數(shù)據(jù)庫(kù)分析用戶需求具體有學(xué)籍管理系統(tǒng)提供保存、更新、查詢、維護(hù),這就需求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充分滿足各種信息的輸入與輸出,實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù),方便用戶訪問(wèn)系統(tǒng)中的數(shù)據(jù),它與文件系統(tǒng)的重要區(qū)別是數(shù)據(jù)的充分共享,交叉訪

18、問(wèn),與應(yīng)用程序的高度獨(dú)立性。數(shù)據(jù)流圖描述:本系統(tǒng)從總體上分為學(xué)生信息管理、學(xué)生信息瀏覽、成績(jī)?yōu)g覽和成績(jī)管理等部分。每個(gè)模塊有自己的作用。4.8數(shù)據(jù)庫(kù)表設(shè)計(jì)學(xué)生基本信息表: xsxj.Mdb 成績(jī)信息表: xscj.Mdb4.9界面設(shè)計(jì)4.9.1主要窗體實(shí)現(xiàn):學(xué)生學(xué)籍查詢,成績(jī)查詢,學(xué)籍管理,成績(jī)管理以及其他的窗口信息4.9.2學(xué)生的成績(jī)窗口設(shè)計(jì)有主窗體直接進(jìn)入成績(jī)的查詢模塊。主要實(shí)現(xiàn)成績(jī)的查詢等功能。4.9.3學(xué)生學(xué)籍窗口設(shè)計(jì)有主窗體直接進(jìn)入學(xué)生狀況窗口模塊。主要實(shí)現(xiàn)學(xué)生狀況查詢等功能。4.9.4學(xué)生學(xué)籍管理窗口設(shè)計(jì)有主窗體直接進(jìn)入學(xué)生學(xué)籍管理窗口模塊。主要實(shí)現(xiàn)學(xué)

19、生學(xué)籍信息的查詢、修改等功能。4.9.5學(xué)生成績(jī)管理窗口設(shè)計(jì)有主窗體直接進(jìn)入學(xué)生成績(jī)修改窗口模塊。主要實(shí)現(xiàn)學(xué)生成績(jī)資料查詢結(jié)果。五、詳細(xì)設(shè)計(jì)及源程序1、模塊module1.BasOption ExplicitDeclare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongDeclare Function GetWindowLong Lib

20、 "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As LongDeclare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As L

21、ong) As LongPublic Const GWL_WNDPROC = (-4)Public Const WM_ENDSESSION = &H16Public Const WM_QUERYENDSESSION = &H11Public preWinProc As LongPublic Function Wndproc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Wndproc = CallWindowProc(preWinProc, h

22、wnd, Msg, wParam, lParam) If (Msg = 132) Then Select Case Wndproc Case 10, 11, 12, 13, 14, 15, 16, 17: Wndproc = 0 Exit Function End Select End IfEnd Function2、主窗口form1.frmOption ExplicitPrivate Sub Command4_Click()Form6.ShowEnd SubPrivate Sub Command5_Click()Form4.ShowUnload MeEnd SubPrivate Sub Co

23、mmand6_Click()Form5.ShowUnload MeEnd SubPrivate Sub Form_Load() Dim ret As Long '記錄原來(lái)的Window Procedure的位址 preWinProc = GetWindowLong(Me.hwnd, GWL_WNDPROC) '設(shè)定form的window Procedure到wndproc ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf Wndproc)End SubPrivate Sub Form_Unload2(Cancel As In

24、teger) Dim ret As Long '取消Message的截取,而使之又只送往原來(lái)的Window Procedure ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, preWinProc)End SubPrivate Sub Command1_Click()Form2.ShowUnload MeEnd SubPrivate Sub Command2_Click()Form3.ShowUnload MeEnd SubPrivate Sub Command3_Click()Dim yes As Stringyes = MsgBox("

25、你要確定退出?", 32 + 1, "提示信息")If yes = 1 ThenUnload MeEnd IfEnd Sub3、學(xué)籍瀏覽窗口form2.frmOption ExplicitPrivate Sub Form_Load()Data1.DatabaseName = App.Path & "xsxj.mdb" Dim ret As Long '記錄原來(lái)的Window Procedure的位址 preWinProc = GetWindowLong(Me.hwnd, GWL_WNDPROC) '設(shè)定form的wind

26、ow Procedure到wndproc ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf Wndproc)End SubPrivate Sub Form_Unload2(Cancel As Integer) Dim ret As Long '取消Message的截取,而使之又只送往原來(lái)的Window Procedure ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, preWinProc)End SubPrivate Sub Command1_Click()Form1.ShowUnload Me

27、End SubPrivate Sub Command2_Click()Data1.Recordset.MoveLastCommand4.Enabled = TrueCommand3.Enabled = FalseEnd SubPrivate Sub Command3_Click()Command4.Enabled = TrueData1.Recordset.MoveNextIf Data1.Recordset.EOF Then Data1.Recordset.MovePrevious Command3.Enabled = False End IfEnd SubPrivate Sub Comma

28、nd4_Click()Command3.Enabled = TrueData1.Recordset.MovePreviousIf Data1.Recordset.BOF Then Data1.Recordset.MoveFirst Command4.Enabled = False End IfEnd SubPrivate Sub Command5_Click()Data1.Recordset.MoveFirstCommand4.Enabled = FalseCommand3.Enabled = TrueEnd Sub4、成績(jī)?yōu)g覽窗口form3.frmOption ExplicitPrivate

29、 Sub Command2_Click()Data1.Recordset.MoveLastCommand4.Enabled = TrueCommand3.Enabled = FalseEnd SubPrivate Sub Command3_Click()Command4.Enabled = TrueData1.Recordset.MoveNextIf Data1.Recordset.EOF Then Data1.Recordset.MovePrevious Command3.Enabled = False End IfEnd SubPrivate Sub Command4_Click()Com

30、mand3.Enabled = TrueData1.Recordset.MovePreviousIf Data1.Recordset.BOF Then Data1.Recordset.MoveFirst Command4.Enabled = False End IfEnd SubPrivate Sub Command5_Click()Data1.Recordset.MoveFirstCommand4.Enabled = FalseCommand3.Enabled = TrueEnd SubPrivate Sub Form_Load()Data1.DatabaseName = App.Path

31、& "xscj.mdb" Dim ret As Long '記錄原來(lái)的Window Procedure的位址 preWinProc = GetWindowLong(Me.hwnd, GWL_WNDPROC) '設(shè)定form的window Procedure到wndproc ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf Wndproc)End SubPrivate Sub Form_Unload2(Cancel As Integer) Dim ret As Long '取消Message

32、的截取,而使之又只送往原來(lái)的Window Procedure ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, preWinProc)End SubPrivate Sub Command1_Click()Form1.ShowUnload MeEnd Sub5、學(xué)籍管理窗口form4.frmOption ExplicitPrivate Sub Command1_Click()Form1.ShowUnload MeEnd SubPrivate Sub Command2_Click()Dim num As StringDim n As StringDim s As

33、IntegerData1.Recordset.MoveFirstnum = InputBox("請(qǐng)輸入要?jiǎng)h除的學(xué)生學(xué)號(hào)(三位數(shù))", "")Do While Not Data1.Recordset.EOF n = Data1.Recordset.Fields("學(xué)號(hào)") If num = n Then s = MsgBox("確定要?jiǎng)h除嗎?", vbQuestion + vbOKCancel, "確定刪除") If s = 1 Then Data1.Recordset.Delete Data1.

34、Recordset.MoveNext If Data1.Recordset.RecordCount > 0 Then If Data1.Recordset.EOF Then Data1.Recordset.MoveLast End If End If End If Exit Do Else Data1.Recordset.MoveNext End IfLoopIf Data1.Recordset.EOF Then Data1.Recordset.MoveFirst MsgBox ("查無(wú)此人")End IfEnd SubPrivate Sub Command3_Cli

35、ck()Dim n As StringData1.RefreshDo While Not Data1.Recordset.EOF n = Data1.Recordset.Fields("學(xué)號(hào)")If text1.Text = n Then MsgBox ("已有學(xué)號(hào)") text1.Enabled = False text2.Enabled = False text3.Enabled = False text4.Enabled = False text5.Enabled = False text6.Enabled = False text7.Enable

36、d = False text8.Enabled = False text9.Enabled = False Exit DoElse Data1.UpdateRecord Data1.Refresh Data1.Recordset.MoveLast text1.Enabled = False text2.Enabled = False text3.Enabled = False text4.Enabled = False text5.Enabled = False text6.Enabled = False text7.Enabled = False text8.Enabled = False

37、text9.Enabled = FalseEnd IfLoopEnd SubPrivate Sub Command4_Click()Data1.RefreshData1.Recordset.AddNewtext1.Text = ""text2.Text = ""text3.Text = ""text4.Text = ""text5.Text = ""text6.Text = ""text7.Text = ""text8.Text = ""

38、;text9.Text = ""text1.Enabled = Truetext2.Enabled = Truetext3.Enabled = Truetext4.Enabled = Truetext5.Enabled = Truetext6.Enabled = Truetext7.Enabled = Truetext8.Enabled = Truetext9.Enabled = TrueEnd SubPrivate Sub Command5_Click()Dim num As StringDim n As Stringnum = InputBox("請(qǐng)輸入三位數(shù)

39、學(xué)號(hào)", "學(xué)號(hào)查詢")Data1.RefreshDo While Not Data1.Recordset.EOF n = Data1.Recordset.Fields("學(xué)號(hào)") If n = num Then Exit Do Else Data1.Recordset.MoveNext End IfLoop If Data1.Recordset.EOF Then Data1.Recordset.MoveFirst MsgBox ("查無(wú)此人") End If End SubPrivate Sub Command6_Clic

40、k()Dim name As StringDim m As Stringname = InputBox("請(qǐng)輸入學(xué)生姓名", "姓名查詢")Data1.RefreshDo While Not Data1.Recordset.EOF m = Data1.Recordset.Fields("姓名") If m = name Then Exit Do Else Data1.Recordset.MoveNext End IfLoop If Data1.Recordset.EOF Then Data1.Recordset.MoveFirst M

41、sgBox ("查無(wú)此人") End IfEnd SubPrivate Sub Form_Load()Data1.DatabaseName = App.Path & "xsxj.mdb" Dim ret As Long '記錄原來(lái)的Window Procedure的位址 preWinProc = GetWindowLong(Me.hwnd, GWL_WNDPROC) '設(shè)定form的window Procedure到wndproc ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressO

42、f Wndproc)End SubPrivate Sub Form_Unload2(Cancel As Integer) Dim ret As Long '取消Message的截取,而使之又只送往原來(lái)的Window Procedure ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, preWinProc)End Sub6、成績(jī)管理窗口form5.frmOption ExplicitPrivate Sub Command1_Click()Form1.ShowUnload MeEnd SubPrivate Sub Command3_Click()Adod

43、c1.ConnectionString = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "xscj.mdb;Persist Security Info=False "Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim sql As String Dim cnstr As String cn.CursorLocation = adUseClient cnstr = "Pro

44、vider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "xscj.mdb;Persist Security Info=False" cn.ConnectionString = cnstr cn.Open cnstr sql = "select * from xscj" rs.Open sql, cn, adOpenStatic, adLockOptimistic 'adOpenStatic或許用adOpenDynamicSet DataGrid1.DataSou

45、rce = rs End SubPrivate Sub Command5_Click()Dim cn As New ADODB.ConnectionDim rs As New ADODB.Recordsetrs.CursorLocation = adUseClientcn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "xscj.mdb;Persist Security Info=False"cn.OpenIf Text1.T

46、ext = "" ThenMsgBox "請(qǐng)?zhí)顚憣W(xué)號(hào)!", vbExclamation, "提示信息"Exit SubEnd Ifrs.Open "select * from xscj where 學(xué)號(hào) = '" & Text1.Text & "'", cn, adOpenKeyset, adLockOptimisticIf rs.RecordCount = 0 ThenMsgBox "沒(méi)有此學(xué)號(hào)!", vbExclamation, "

47、;提示信息"End IfSet DataGrid1.DataSource = rsText1.Text = ""End SubPrivate Sub Command6_Click()Dim cn As New ADODB.ConnectionDim rs As New ADODB.Recordsetrs.CursorLocation = adUseClientcn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & &qu

48、ot;xscj.mdb;Persist Security Info=False"cn.OpenIf Text2.Text = "" ThenMsgBox "請(qǐng)?zhí)顚懻n號(hào)!", vbExclamation, "提示信息"Exit SubEnd Ifrs.Open "select * from xscj where 課號(hào) = '" & Text2.Text & "'", cn, adOpenKeyset, adLockOptimisticIf rs.Recor

49、dCount = 0 ThenMsgBox "沒(méi)有此課號(hào)!", vbExclamation, "提示信息"End IfSet DataGrid1.DataSource = rsText2.Text = ""End SubPrivate Sub Form_Load()Adodc1.ConnectionString = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "xscj.mdb;Persist Security Info=False "Dim cn As New ADODB.Connection Dim

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論