




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟件工程課程設(shè)計一、前言學(xué)籍管理工作在正常的情況下需對大量的數(shù)據(jù)進(jìn)行處理,它們包括, 學(xué)生學(xué)籍信息錄入、學(xué)生學(xué)籍修改、學(xué)生基本檔案輸入、學(xué)籍變動、 學(xué)生成績錄入、學(xué)生成績查詢等。如果由人工去處理這些數(shù)據(jù)需要花 費(fèi)大量的時間、人力、物力。學(xué)籍管理系統(tǒng),是在總結(jié)以上管理方法 的基礎(chǔ)上并結(jié)合用戶的需求對學(xué)籍的各種數(shù)據(jù)進(jìn)行了有針對性的開 發(fā),充分利用Visual Basic具有強(qiáng)大的數(shù)據(jù)庫管理功能及在應(yīng)用程序 開發(fā)上高效、靈活的特點,創(chuàng)建了各個過程,目標(biāo)設(shè)計、系統(tǒng)開發(fā)背 景、開發(fā)和運(yùn)行環(huán)境選擇、系統(tǒng)功能分析、系統(tǒng)功能模塊設(shè)計、數(shù)據(jù) 庫需求分析、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫結(jié) 構(gòu)實現(xiàn)、
2、各個功能模塊的創(chuàng)建、系統(tǒng)的編譯和發(fā)行等進(jìn)行了詳細(xì)描述。 學(xué)籍管理系統(tǒng)設(shè)計突出了信息管理系統(tǒng)完整實用的開發(fā)方法,系統(tǒng)的最大特點是突出了實用性和實效性,緊密的結(jié)合了用戶的使用要求, 操作方便,有一人進(jìn)行管理就可以完成大量的學(xué)籍管理工作。二、系統(tǒng)開發(fā)工具和數(shù)據(jù)庫簡介結(jié)合本人學(xué)習(xí)期間所學(xué)的有關(guān)程序設(shè)計的語言為 Visual Basic 6.0, 因此,本系統(tǒng)軟件將采用該語言進(jìn)行設(shè)計開發(fā)。下面先介紹一下該工 具的好處與特點。Visual Basic 6.0 概述1、 Visual Basic 6.0 簡介無論用戶是一個Windows 編程新手,還是已經(jīng)具有豐富的 Windows程序設(shè)計提供的良好開發(fā)環(huán)境
3、, 均可以使 6.0Basic Visual 經(jīng)驗的專業(yè)程序開發(fā)人員,利用你快速地完成所需設(shè)計任務(wù)。 所謂 Visual , 中文的意思是 “可視化” ,它提供了一種創(chuàng)建圖形用戶界面(GUI)的方法,利用這種方法,用戶可不必書寫復(fù)雜的描述界面元素外觀和位置的程序代碼, 而只需將系統(tǒng)提供的對象放到屏幕上的適當(dāng)位置, 并通過屬性窗口進(jìn)行適當(dāng)?shù)脑O(shè)置或調(diào)整,就可以設(shè)計出一個優(yōu)秀的應(yīng)用程序界面。此外,用戶除了可以使用單獨的 Visual Basic 6.0程序設(shè)計環(huán)境進(jìn)行程序設(shè)計外。Visual Basic 6.0 程序設(shè)計系統(tǒng)還被包括在Excel Access 等眾多Windows 功能應(yīng)用軟件中,
4、以供用戶進(jìn)行二次開發(fā)。 目前在編制網(wǎng)頁上使用較多的 VBScript腳本語言實際上是 Visual Basic 語言的子集。 因此, 無論從哪方面講,用 Visual Basic6.0 系統(tǒng)開發(fā)軟件都是一件非常合算的投資。2、 Visual Basic 6.0 語言的特點不管你是編制一個小的應(yīng)用程序, 還是開發(fā)一套大型的專業(yè)系統(tǒng)軟件,甚至是開發(fā)一個跨越Internet 的分布式應(yīng)用系統(tǒng)軟件, Visual Basic6.0 都為用戶提供了合適的工具。利用 Visual Basic 6.0 的數(shù)據(jù)訪問特性,用戶可創(chuàng)建數(shù)據(jù)庫、前端應(yīng)用程序、適用于大多數(shù)流行數(shù)據(jù)庫格式的服務(wù)器組件等。 利用 Acti
5、veX 技術(shù)允許用戶使用其他應(yīng)用程序提供的功能,如 Microsoft Word、 Microsoft Excel ,甚至可直接使用由Visual Basic 6.0 專業(yè)版和企業(yè)版創(chuàng)建的應(yīng)用程序和對象。 VisualBasic 的 Internet 功能允許用戶使用程序方便地通過Internet 訪問文檔和應(yīng)用程序,甚至創(chuàng)建Internet應(yīng)用程序。用Visual Basic 6.0用戶創(chuàng)建的是一個真正的 EXE 文件,該文件可直接運(yùn)行于操作系統(tǒng)( Windows98/2000/XP 或 Windows NT 系統(tǒng)) ,完全脫離Visual Basic系統(tǒng)環(huán)境。 并且, 該文件可以自由發(fā)布,
6、 安裝到單機(jī)或網(wǎng)絡(luò)服務(wù)器上。還增加了一些新的功能:具體如下: Visual Basic 6.0 此外,增加了 ADO 數(shù)據(jù)對象,該數(shù)據(jù)訪問技術(shù)是一個簡單的數(shù)據(jù)模型,可更好地與其它 Microsoft 和非 Microsoft 技術(shù)集成。 它還是一個通用接口,可用于訪問本地或遠(yuǎn)程數(shù)據(jù)、連續(xù)和離散記錄集、用戶可訪問的數(shù)據(jù)綁定接口和分層記錄集。提供了數(shù)據(jù)環(huán)境設(shè)計器,其中提供了一種創(chuàng)建ADO對象的交互設(shè)計環(huán)境,數(shù)據(jù)環(huán)境可作為窗體或報表中所有要求數(shù)據(jù)對象的數(shù)據(jù)源,或者通過數(shù)據(jù)環(huán)境的方法和屬性由等程序訪問, 數(shù)據(jù)環(huán)境設(shè)計器具有用戶連接設(shè)計器的全部功能和附加特性,如拖放、分層、分組和合計等。數(shù)據(jù)報表, 允許
7、用戶使用拖放方法利用任何記錄集合快速創(chuàng)建報表。數(shù)據(jù)源,創(chuàng)建可綁定任何控件的數(shù)據(jù)源用戶定義控件和類。 SQL 編輯器,允許用戶增加新的存儲過程至 SQL 服務(wù)器程序和Oracle數(shù)據(jù)庫中,用戶還可以使用編輯器編寫觸發(fā)器。增強(qiáng)的數(shù)據(jù)窗體向?qū)В?現(xiàn)在用戶不僅可以構(gòu)造不綁定至數(shù)據(jù)控件的代碼窗體,而且可以使用 ADO 代碼,該向?qū)б呀?jīng)集成到應(yīng)用程序向?qū)А?Chart 向?qū)Ш虵lexGrid 向?qū)е小N募到y(tǒng)對象,Visual Basic 6.0提供了改進(jìn)的在文件系統(tǒng)中移動的程序集,并可創(chuàng)建文本文件和目錄。 DataGrid 控件,該控件可幫助用戶快速構(gòu)造觀察和編輯記錄的程序,它也支持新的 ADO 數(shù)據(jù)控
8、件??梢暬瘮?shù)據(jù)庫工具集成(企業(yè)版)。在Visual Basic 6.0中用戶可以 可視地創(chuàng)建數(shù)據(jù)庫和查詢、SQL服務(wù)器程序、Oracle數(shù)據(jù)庫表、使用 拖放方法創(chuàng)建視圖,以及自動改變列數(shù)據(jù)類型。的版本 Visual Basic 6.0 、 3目前 Visual Basic 6.0有三種版本,各自滿足不同的開發(fā)需要。其中: Visual Basic 6.0學(xué)習(xí)版使編程人員可輕松學(xué)習(xí)和設(shè)計一些基本的應(yīng)用程序。該版本包括所有的內(nèi)部控件,連同Grid、Tab和Data_Bound 控件。 Visual Basic 6.0專業(yè)版為專業(yè)編程人員提供了一套進(jìn)行開發(fā)的功能完備的工具。該版本包括學(xué)習(xí)版的全部功能
9、連同 ActiveX 控件,還包括 Internet ApplicationDesigner( Internet 報務(wù)器應(yīng)用程序設(shè)計器) 、 Integrated Visual DatabaseTools (集成可視化數(shù)據(jù)庫工具)、Data Environment (數(shù)據(jù)環(huán) 境)、ActiveX 污染 Data Objects (數(shù)據(jù)對象,簡稱 ADO)和 Dynamic HTML Page Designer (動態(tài) HTML 頁面設(shè)計器) 。 Visual Basic 6.0企業(yè)版使得專業(yè)編程人員能夠開發(fā)功能強(qiáng)大的組內(nèi)分布式應(yīng)用程序。該版本包括專業(yè)版的全部功能連同 Back Office 工
10、 具,如 SQL ServerMicrosoft Transaction Server 、 Internet Information 、 Visual SourceSafe、SNA Server。三、需求分析3.1 設(shè)計思想由于本系統(tǒng)是一個基于 C/S 的數(shù)據(jù)庫的信息管理系統(tǒng), 所以第一步就是需要利用 SQL Server 2000建立所需要的數(shù)據(jù)庫,第二步就使用Visual Basic 6.0 完成該系統(tǒng)客戶端應(yīng)用程序的開發(fā)。3.2 可行性分析可行性分析是系統(tǒng)分析階段的第二項活動, 它的主要目是進(jìn)一步明確系統(tǒng)的目標(biāo)、規(guī)模與功能, 對系統(tǒng)開發(fā)背景、必要性和意義進(jìn)行了調(diào)查分析并根據(jù)需要和可能提出
11、開發(fā)系統(tǒng)的初步方案與計劃。 可行性分析是對系統(tǒng)進(jìn)行全面、概要的分析。通過調(diào)查分析,本系統(tǒng)設(shè)計主要有以下三個可行性:操作可行性 3.2.1本系統(tǒng)操作簡單,易于理解,只需通過簡單指導(dǎo),上手較快,系統(tǒng)管理員、教師以及學(xué)生均能進(jìn)行操作,運(yùn)行環(huán)境要求低。3.2.1 技術(shù)可行性本系統(tǒng)在 Windows XP Server 開發(fā)環(huán)境下, 利用 Visual Basic 6.0開發(fā)工具,并使用SQL Server 2000作為數(shù)據(jù)庫管理系統(tǒng),來實現(xiàn)學(xué)生學(xué)籍管理系統(tǒng)的各種功能。 SQL Server 2000屬于主從時式的數(shù)據(jù)庫服務(wù)器這也是主從式數(shù)據(jù)庫服務(wù)器的特點, 服務(wù)器本身重在數(shù)據(jù)的管理,為客戶端應(yīng)用程序提
12、供一致的接口。 當(dāng)然也可以使用 SQL Server 2005為數(shù)據(jù)庫管理系統(tǒng), 開發(fā)工具也可以是它的更高版, 這樣可以提高系統(tǒng)的性能,降低它的局限性。3.2.2 經(jīng)濟(jì)可行性采用新的學(xué)生學(xué)籍管理系統(tǒng)可取代原系統(tǒng)的手工管理工作, 減少人工開支,節(jié)省資金, 并且可大大提高數(shù)據(jù)信息的取得,縮短數(shù)據(jù)信息處理時間,提高學(xué)生信息的利用率,使教學(xué)質(zhì)量更進(jìn)了一個臺階。3.3 功能需求按照系統(tǒng)開發(fā)業(yè)務(wù)分析要求和原則,在與系統(tǒng)管理人員的充分溝通,整理出學(xué)生學(xué)籍管理系統(tǒng)所需求的基本功能和用戶界面的一些需求,這些需求將作為系統(tǒng)分析和邏輯設(shè)計的依據(jù)。3.3.1 基本功能需求能對學(xué)生的學(xué)籍及成績進(jìn)行基本管理, 包括: 學(xué)
13、生基本信息和學(xué)科成績的存儲、輸入、刪除、修改、查詢,以及升留級管理。學(xué)生基本信息應(yīng)包括:學(xué)號、姓名、出生年份、籍貫、性別、專業(yè)、班級、 家庭住址、本校住址、個人聯(lián)系電話、家庭聯(lián)系電話;成績信息應(yīng)包括:學(xué)號、課號、課名、成績、上課時間、教師號。查詢能夠按照:學(xué)號、課號、班級、時間等進(jìn)行查詢。3.4 性能需求根據(jù) Visual Basic 6.0 的運(yùn)行需求以及系統(tǒng)的調(diào)試需求, 至少需要滿足以下的軟硬件要求:開發(fā)工具:Visual Basic 6.0;操作系統(tǒng):Windows2000/XP;數(shù)據(jù)庫:SQL Server 2000;CPU:2.4GHz 以上;內(nèi)存:512 以上;硬盤:80GB 以上
14、;VGA 顯示器或更高;四、系統(tǒng)設(shè)計4.1 系統(tǒng)設(shè)計思想1、采用現(xiàn)有的資源,先進(jìn)的管理系統(tǒng)開發(fā)方案,充分利用學(xué)?,F(xiàn)有的資源,減少開發(fā)中的時間和財力、物力、提高系統(tǒng)開發(fā)的水平和應(yīng)用效果。2、系統(tǒng)就滿足學(xué)校的需求,例如學(xué)生信息的錄入、查詢、更新等。學(xué)生錄入與排名。3、系統(tǒng)就具備數(shù)據(jù)庫維護(hù)功能,及時根據(jù)用戶需求進(jìn)行數(shù)據(jù)添加、刪除、修改等操作。4.2 系統(tǒng)設(shè)計分析本系統(tǒng)適用于中小學(xué)校,其功能主要分為成績管理:用于對成績的輸入、修改、查詢。學(xué)籍管理:用于對學(xué)生學(xué)籍的錄入與修改、查詢。幫助信息:用于對本系統(tǒng)的具體操作進(jìn)行詳解。本系統(tǒng)性能力求易于使用,具體有較高的擴(kuò)展性和可維護(hù)性。4.3 系統(tǒng)功能分析錄入功
15、能: 為一般用戶提供相應(yīng)的錄入功能, 為超級用戶提供對所有信息的錄入功能。查詢功能: 為所有用戶提供查詢的功能, 可查詢允許范圍內(nèi)的所有信息。維護(hù)功能:為一般用戶提供查詢及相應(yīng)的修改,刪除功能,為超級用戶提供對所有信息的修改刪除功能。幫助功能: 能幫助初次使用者對本系統(tǒng)的應(yīng)用及處理常見的問題。退出功能:結(jié)束并關(guān)閉系統(tǒng)。4.4 學(xué)生學(xué)籍系統(tǒng)的目標(biāo)節(jié)約資源,提高學(xué)籍信息的精確度本系統(tǒng)能減少很多不必要的資源, 不用象以前那樣用冗余的紙張式的管理。 大節(jié)省了學(xué)校能源。 并且計算機(jī)的存儲與快速查詢功能大大提高了學(xué)籍管理的效率,并且還提高了學(xué)籍信息管理的精確度。方便快速操作,精減人員,節(jié)約開支方便快速的操
16、作, 可減少學(xué)籍信息管理的漏洞, 又減少因工作的冗余出現(xiàn)的錯誤,并且操作非常簡單,可減少許多不很必要的人員,這無論從物質(zhì)上還是工作人員的工資上都為學(xué)校節(jié)約了開支。 為學(xué)校增加了財富。功能模塊分解4.5接口設(shè)計外部接口: 用戶一般通過終端進(jìn)行操作, 用戶進(jìn)入界面后進(jìn)行相應(yīng)的操作。硬件接口:賽揚(yáng) 133 、內(nèi)存 32 兆以上 PC 機(jī)滿足輸入端條件。軟件接口: Windows2000/NT 或更高的操作系統(tǒng)。內(nèi)部接口:內(nèi)部接口 (模塊之間的接口 )驗證模塊:啟動系統(tǒng)時,便激活登陸口令界面;初始化模塊:對系統(tǒng)進(jìn)行初始化;系統(tǒng)功能模塊: 接收系統(tǒng)功能的相應(yīng)消息, 啟動信息錄入、 信息查詢、信息維護(hù)等模
17、塊。4.6 各模塊的具體分析:學(xué)生信息管理: 主要用于學(xué)生的基本信息管理 (如學(xué)號、 姓名、 性別、出生年月、聯(lián)系地址等) 。成績管理:主要用于學(xué)生考試的成績進(jìn)行管理4.7 數(shù)據(jù)庫設(shè)計4.7.1 數(shù)據(jù)流圖(略)4.7.2 數(shù)據(jù)庫分析用戶需求具體有學(xué)籍管理系統(tǒng)提供保存、更新、查詢、維護(hù),這就需求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸入與輸出, 實現(xiàn)有組織地、 動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù), 方便用戶訪問系統(tǒng)中的數(shù)據(jù), 它與文件系統(tǒng)的重要區(qū)別是數(shù)據(jù)的充分共享, 交叉訪問, 與應(yīng)用程序的高度獨立性。數(shù)據(jù)流圖描述:本系統(tǒng)從總體上分為學(xué)生信息管理、學(xué)生信息瀏覽、成績?yōu)g 覽和成績管理等部分。每個模塊有自己的作用。 4
18、.8 數(shù)據(jù)庫表設(shè)計學(xué)生基本信息表: xsxj.Mdb成績信息表: xscj.Mdb4.9 界面設(shè)計4.9.1 主要窗體實現(xiàn):學(xué)生學(xué)籍查詢,成績查詢,學(xué)籍管理,成績管理以及其他的窗口信息4.9.2 學(xué)生的成績窗口設(shè)計有主窗體直接進(jìn)入成績的查詢模塊。主要實現(xiàn)成績的查詢等功能。4.9.3 學(xué)生學(xué)籍窗口設(shè)計有主窗體直接進(jìn)入學(xué)生狀況窗口模塊。主要實現(xiàn)學(xué)生狀況查詢等功能。4.9.4 學(xué)生學(xué)籍管理窗口設(shè)計有主窗體直接進(jìn)入學(xué)生學(xué)籍管理窗口模塊。主要實現(xiàn)學(xué)生學(xué)籍信息的查詢、修改等功能。4.9.5 學(xué)生成績管理窗口設(shè)計有主窗體直接進(jìn)入學(xué)生成績修改窗口模塊。主要實現(xiàn)學(xué)生成績資料查詢結(jié)果。五、詳細(xì)設(shè)計及源程序1、模塊
19、 module1.BasOption ExplicitDeclare Function SetWindowLong Lib %user32 Alias SetWindowLongA (ByValhwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) AsLongDeclare Function GetWindowLong Lib %user32 AliasGetWindowLongA(ByVal hwnd As Long, ByVal nIndex As Long) As LongDeclare Function CallWin
20、dowProc Lib %user32 Alias CallWindowProcA(ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg AsLong, ByValwParam As Long, ByVal lParam As Long) As LongPublic Const GWL_WNDPROC = (-4)Public Const WM_ENDSESSION = &H16Public Const WM_QUERYENDSESSION = &H11Public preWinProc As LongPublic
21、 Function Wndproc(ByVal hwnd As Long, ByVal Msg As Long,ByValwParam As Long, ByVal lParam As Long) As LongWndproc = CallWindowProc(preWinProc, hwnd, Msg, wParam,lParam)If (Msg = 132) ThenSelect Case WndprocCase 10, 11, 12, 13, 14, 15, 16, 17:Wndproc = 0Exit FunctionEnd SelectEnd IfEnd Function2、主窗口f
22、orm1.frmOption ExplicitPrivate Sub Command4_Click()Form6.ShowEnd SubPrivate Sub Command5_Click()Form4.ShowUnload MeEnd SubPrivate Sub Command6_Click()Form5.ShowUnload MeEnd SubPrivate Sub Form_Load()Dim ret As Long'記錄原來的Window Procedure 的位址preWinProc = GetWindowLong(Me.hwnd, GWL_WNDPROC)'設(shè)定
23、form 的 window Procedure 到 wndprocret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOfWndproc)End SubPrivate Sub Form_Unload2(Cancel As Integer)Dim ret As Long'取消Message的截取,而使之又只送往原來的 Window Procedureret = SetWindowLong(Me.hwnd, GWL_WNDPROC, preWinProc)End SubPrivate Sub Command1_Click()Form2.Show
24、Unload MeEnd SubPrivate Sub Command2_Click()Form3.ShowUnload MeEnd SubPrivate Sub Command3_Click()Dim yes As String救?漪?硯蘢你要確定退出? ?? ?做提示信息)If yes = 1 ThenUnload MeEnd IfEnd Sub3、 、學(xué)籍瀏覽窗口form2.frmOption ExplicitPrivate Sub Form_Load()愫憎?慷憎慢散慎敬??灰保麻?展磴磕?摭Dim ret As Long'記錄原來的Window Procedure 的位址pr
25、eWinProc = GetWindowLong(Me.hwnd, GWL_WNDPROC)'設(shè)定 form 的 window Procedure 到 wndprocret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOfWndproc)End SubPrivate Sub Form_Unload2(Cancel As Integer)Dim ret As Long'取消Message的截取,而使之又只送往原來的 Window Procedureret = SetWindowLong(Me.hwnd, GWL_WNDPROC, pr
26、eWinProc)End SubForm1.ShowUnload MeEnd SubPrivate Sub Command2_Click()Data1.Recordset.MoveLastCommand4.Enabled = TrueCommand3.Enabled = FalseEnd SubPrivate Sub Command3_Click()Command4.Enabled = TrueData1.Recordset.MoveNextIf Data1.Recordset.EOF ThenData1.Recordset.MovePreviousCommand3.Enabled = Fal
27、seEnd IfEnd SubPrivate Sub Command4_Click()Command3.Enabled = TrueIf Data1.Recordset.BOF ThenData1.Recordset.MoveFirstCommand4.Enabled = FalseEnd IfEnd SubPrivate Sub Command5_Click()Data1.Recordset.MoveFirstCommand4.Enabled = FalseCommand3.Enabled = TrueEnd Sub4、成績?yōu)g覽窗口form3.frmOption ExplicitPrivat
28、e Sub Command2_Click()Data1.Recordset.MoveLastCommand4.Enabled = TrueCommand3.Enabled = FalseEnd SubPrivate Sub Command3_Click()Command4.Enabled = TrueData1.Recordset.MoveNextIf Data1.Recordset.EOF ThenData1.Recordset.MovePreviousCommand3.Enabled = FalseEnd IfEnd SubPrivate Sub Command4_Click()Comma
29、nd3.Enabled = TrueData1.Recordset.MovePreviousIf Data1.Recordset.BOF ThenData1.Recordset.MoveFirstCommand4.Enabled = FalseEnd IfEnd SubPrivate Sub Command5_Click()Data1.Recordset.MoveFirstCommand4.Enabled = FalseCommand3.Enabled = TrueEnd SubPrivate Sub Form_Load()愫憎?慷憎慢散慎敬??灰保麻?展磴掘?摭Dim ret As Long
30、'記錄原來的Window Procedure 的位址preWinProc = GetWindowLong(Me.hwnd, GWL_WNDPROC)'設(shè)定 form 的 window Procedure 到 wndprocret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOfWndproc)End SubPrivate Sub Form_Unload2(Cancel As Integer)Dim ret As Long'取消Message的截取,而使之又只送往原來的 Window Procedureret = SetWin
31、dowLong(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 IntegerData1.Recordset.MoveFirst晦?恬巽?硯蘢請輸入要
32、刪除的學(xué)生學(xué)號(三位數(shù))八)Do While Not Data1.Recordset.EOF?慷憎?儆潤慚散?卞要波獺蘢學(xué)號)If num = n Then?!?硯蘢確定要刪除嗎? ?瘠兢敞建漫?維?愉據(jù)汶?確定刪除)If s = 1 ThenData1.Recordset.DeleteData1.Recordset.MoveNextIf Data1.Recordset.RecordCount > 0 ThenIf Data1.Recordset.EOF ThenData1.Recordset.MoveLastEnd IfEnd IfEnd IfExit DoElseData1.Reco
33、rdset.MoveNextEnd IfLoopIf Data1.Recordset.EOF ThenData1.Recordset.MoveFirst境?硯?查無此人)End IfEnd SubPrivate Sub Command3_Click()Dim n As StringData1.RefreshDo While Not Data1.Recordset.EOF?慷憎?儆潤慚散?卞要波獺蘢學(xué)號)If text1.Text = n Then境?硯?已有學(xué)號)text1.Enabled = Falsetext2.Enabled = Falsetext3.Enabled = Falsetex
34、t4.Enabled = Falsetext5.Enabled = Falsetext6.Enabled = Falsetext7.Enabled = Falsetext8.Enabled = Falsetext9.Enabled = FalseExit DoElseData1.UpdateRecordData1.RefreshData1.Recordset.MoveLasttext1.Enabled = Falsetext2.Enabled = Falsetext3.Enabled = Falsetext4.Enabled = Falsetext5.Enabled = Falsetext6.
35、Enabled = Falsetext7.Enabled = Falsetext8.Enabled = Falsetext9.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 = text9.Text = text1.Enabled = Truetext2
36、.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 String晦?恬巽?硯蘢請輸入三位數(shù)學(xué)號?眇學(xué)號查詢)Data1.RefreshDo While Not Data1.Recordset.EOF?慷憎?儆?斷散颼波獺
37、蘢學(xué)號)If n = num ThenExit DoElseData1.Recordset.MoveNextEnd IfLoopIf Data1.Recordset.EOF ThenData1.Recordset.MoveFirst境?硯?查無此人)End IfEnd SubPrivate Sub Command6_Click()Dim name As StringDim m As String敬??先瑾潰?請輸入學(xué)生姓名?眇姓名查詢)Data1.RefreshDo While Not Data1.Recordset.EOF?慷憎?儆?斷散颼波獺蘢姓名)If m = name ThenExit
38、 DoElseData1.Recordset.MoveNextEnd IfLoopIf Data1.Recordset.EOF ThenData1.Recordset.MoveFirst境?硯?查無此人)End IfEnd SubPrivate Sub Form_Load()愫憎?慷憎慢散慎敬??灰保麻?展磴磕?摭Dim ret As Long的位址 Window Procedure記錄原來的'preWinProc = GetWindowLong(Me.hwnd, GWL_WNDPROC)'設(shè)定 form 的 window Procedure 到 wndprocret = Se
39、tWindowLong(Me.hwnd, GWL_WNDPROC, AddressOfWndproc)End SubPrivate Sub Form_Unload2(Cancel As Integer)Dim ret As Long'取消Message的截取,而使之又只送往原來的 Window Procedureret = SetWindowLong(Me.hwnd, GWL_WNDPROC, preWinProc)End Sub6、成績管理窗口form5.frmOption ExplicitPrivate Sub Command1_Click()Form1.ShowUnload Me
40、End SubPrivate Sub Command3_Click()Provider=Microsoft.Jet.OLEDB.4.0;Data =Info=FalseAdodc1.ConnectionString演牽散?瀾?意梓?眇展默桶洗抗椰肪糕建SecurityDimn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim sql As StringDim cnstr As Stringcn.CursorLocation = adUseClientcnstr = Provider=Microsoft.Jet.OLEDB.4.0;D
41、ata Source= &App.Path &展磴掘?摭?檄貍猿?敢畬械被?普?憎懈履cn.ConnectionString = cnstrcn.Open cnstrsql = select * from xscjrs.Open sql, cn, adOpenStatic, adLockOptimistic 'adOpenStati或許用 adOpenDynamicSet DataGrid1.DataSource = rsEnd SubPrivate Sub Command5_Click()Dim cn As New ADODB.ConnectionDim rs As
42、New ADODB.Recordsetrs.CursorLocation = adUseClientcn.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&瀾?意梓?眇展默桶洗抗椰肪粽建匠挑牽H ?湘潦?污散?cn.OpenIf Text1.Text = Then境?現(xiàn)眇請?zhí)顚憣W(xué)號!鰭?排懂愁椅浸雁示信息Exit SubEnd Ifrs.Open select * from xscj where 學(xué)號 = ' & cn, ', & Text1.TextadOpenKeyset
43、, adLockOptimisticIf rs.RecordCount = 0 Then?瘠?抹懂愁椅浸礁?硯眇沒有此學(xué)號!提示信息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 S
44、ource=&瀾?意梓?眇展默桶洗抗椰肪粽建匠挑牽H ?湘潦?污散?cn.OpenIf Text2.Text = Then境?現(xiàn)眇請?zhí)顚懻n號!鰭?排懂愁椅浸雁示信息Exit SubEnd Ifcn,', & Text2.Text & ' = 號課 where xscj from * select rs.OpenadOpenKeyset, adLockOptimisticIf rs.RecordCount = 0 Then境?硯眇沒有此課號!鰭?排懂愁椅浸雁示信息End IfSet DataGrid1.DataSource = rsText2.Text = End SubPrivate Sub Form_Load()Adodc1.ConnectionString =Provider=Microsoft.Jet.OLEDB.4.0;Data濾牽散?溷?意梓?眇襤默桶洗抗椰肪棵建Security Info=FalseDim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim sql As StringDim cnstr As Stringcn.CursorLocation =
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 植骨種牙后的護(hù)理指南
- 山東省濟(jì)南市濟(jì)陽區(qū)達(dá)標(biāo)名校2025年第二學(xué)期初三教學(xué)質(zhì)量檢測試題物理試題試卷含解析
- 內(nèi)蒙古鄂爾多斯市重點名校2025屆初三第六次摸底考試物理試題試卷含解析
- 如何設(shè)計出炫酷的科技感產(chǎn)品外觀
- 高效身體護(hù)理讓你告別粗糙皮膚
- 腰椎間盤突出護(hù)理個案分析
- 2025公司安全管理人員安全培訓(xùn)考試試題含答案【突破訓(xùn)練】
- 25年公司廠級員工安全培訓(xùn)考試試題含答案【典型題】
- 中國道路交通安全教育
- 馭人之術(shù)課程講解
- GA/T 1556-2019道路交通執(zhí)法人體血液采集技術(shù)規(guī)范
- 中職學(xué)生教育管理工作課件
- 水肥一體化技術(shù) 稿課件
- 作業(yè)現(xiàn)場安全監(jiān)督檢查卡(配電)
- 施工班組考核表
- 車間粉塵清掃記錄表
- 分布式光伏發(fā)電項目EPC總承包合同
- 六年級下冊數(shù)學(xué)課件-2.3 圓柱(復(fù)習(xí)) ︳西師大版 (10張PPT)
- 國際五一勞動節(jié)頒獎榮譽(yù)晚會動態(tài)PPT模板
- 全息經(jīng)絡(luò)刮痧療法(內(nèi)部培訓(xùn))課件
- CPK計算表格EXCEL模板
評論
0/150
提交評論