|
設(shè)計(jì)內(nèi)容要求: (1)對(duì)不同用戶限定不同權(quán)限。用不同的用戶名登錄,通過菜單體現(xiàn)不同的權(quán)限,如普通用戶不能修改成績(jī)(相應(yīng)的菜單功能灰化); (2)對(duì)用戶名和密碼以及權(quán)限的管理; (3)系部信息的錄入、修改和刪除; (4)班級(jí)信息的錄入、修改和刪除; (5)教師信息的錄入、修改和刪除; (6)課程信息的錄入、修改和刪除; (7)學(xué)生基本信息的錄入、修改和刪除; (8)學(xué)生成績(jī)信息的錄入、修改和刪除; (9)按系部編號(hào)、系部名稱查詢系部學(xué)生成績(jī)信息; (10)按班級(jí)編號(hào)、班級(jí)名稱查詢班級(jí)學(xué)生成績(jī)信息; (11)按課程編號(hào)、課程名稱查詢選修該課程的學(xué)生成績(jī)信息; (12)按學(xué)號(hào)、學(xué)生姓名查詢學(xué)生成績(jī)信息。 
本系統(tǒng)依據(jù)開發(fā)要求主要應(yīng)用于教育系統(tǒng),完成對(duì)日常的教育工作中學(xué)生成績(jī)檔案的數(shù)字化管理。開發(fā)本系統(tǒng)可使學(xué)院教職員工減輕工作壓力,比較系統(tǒng)地對(duì)教務(wù)、教學(xué)上的各項(xiàng)服務(wù)和信息進(jìn)行管理,同時(shí),可以減少勞動(dòng)力的使用,加快查詢速度、加強(qiáng)管理,以及國(guó)家各部門關(guān)于信息化的步伐,使各項(xiàng)管理更加規(guī)范化。 目前,學(xué)校工作繁雜、資料重多,雖然各類管理信息系統(tǒng)已進(jìn)入高校,但還未普及,而對(duì)于學(xué)生成績(jī)管理來說,目前還沒有一套完整的、統(tǒng)一的系統(tǒng)。因此,開發(fā)一套適和大眾的、兼容性好的系統(tǒng)是很有必要的。 本系統(tǒng)在開發(fā)過程中,注意使其符合操作的業(yè)務(wù)流程,并力求系統(tǒng)的全面性、通用性,使得本系統(tǒng)不只適用于一家教育機(jī)構(gòu)。在開發(fā)方法的選擇上,選擇了生命周期法與原型法相結(jié)合的方法,遵循系統(tǒng)調(diào)查研究、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)施四個(gè)主要階段進(jìn)行設(shè)計(jì),而在具體的設(shè)計(jì)上,采取了演化式原型法,隨著用戶的使用及對(duì)系統(tǒng)了解的不斷加深,對(duì)某一部分或幾部分進(jìn)行重新分析、設(shè)計(jì)、實(shí)施。 關(guān)鍵詞 學(xué)生成績(jī)管理系統(tǒng); 第一章 概述 .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ù)始于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ā)展根據(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 現(xiàn)有系統(tǒng)存在問題的分析 在我國(guó),各大中小學(xué)校的各類信息管理系統(tǒng)并非一個(gè)新的課題,但也有的學(xué)校根本就沒有信息任何管理系統(tǒng),所有的工作幾乎還是手工操作來完成。計(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ì)管理來說是沒有任何保障的。 .3 系統(tǒng)開發(fā)目標(biāo)與意義 .3.1 系統(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ì)量,現(xiàn)提出如下的系統(tǒng)開發(fā)目標(biāo): 系統(tǒng)應(yīng)具有實(shí)用性、可靠性和適用性,同時(shí)注意到先進(jìn)性。 對(duì)各個(gè)數(shù)據(jù)庫(kù)進(jìn)行動(dòng)態(tài)管理,防止混亂。 能夠按照用戶選擇的不同的條件進(jìn)行簡(jiǎn)單查詢和復(fù)合查詢。 能夠?qū)Σ樵兘Y(jié)果進(jìn)行分類匯總,實(shí)現(xiàn)報(bào)表打印。 注意數(shù)據(jù)的安全性,具有數(shù)據(jù)備份和恢復(fù)的功能。 方便用戶的操作,盡量減少用戶的操作。 1.3.2 系統(tǒng)開發(fā)意義: 在各大中小學(xué)校,用計(jì)算機(jī)管理學(xué)校的信息已經(jīng)越來越普遍了。用計(jì)算機(jī)不但可以提高工作效率,而且還節(jié)省了許多人力物力,增強(qiáng)了學(xué)校資料的安全性。提高了學(xué)校的管理能力,為此,用計(jì)算機(jī)來管理學(xué)校的信息,是非常必要的。 .4 可行性分析 .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é)校的工作效率; 本系統(tǒng)可以使敏感文檔更加安全,等等。 所以,本系統(tǒng)在經(jīng)濟(jì)上是可行的。 1.4.2 技術(shù)上可行性: 本系統(tǒng)的開發(fā)利用Microsoft SQL Server2000作為本系統(tǒng)的數(shù)據(jù)庫(kù),它是一個(gè)支持多用戶的新型數(shù)據(jù)庫(kù),適用于大中規(guī)模的數(shù)據(jù)量需求。學(xué)校校園網(wǎng)的建設(shè)也為新系統(tǒng)服務(wù)器/客戶端的結(jié)構(gòu)提供了硬件的支持。 使用Visual 作為系統(tǒng)開發(fā)的開發(fā)環(huán)境,它提供完善的指令控制語句、類與對(duì)象的支持及豐富的數(shù)據(jù)類型,給開發(fā)高性能系統(tǒng)提供的保障為開發(fā)滿足客戶要求的系統(tǒng),保證了代碼的模塊化要求,而代碼模塊化的提高,非常有利于以后對(duì)新系統(tǒng)的擴(kuò)展與修改。 綜上所述,本系統(tǒng)的設(shè)計(jì)與開發(fā)在技術(shù)上和硬件設(shè)備上的條件都是滿足的,因此,它在技術(shù)上是可行的。 1.4.3 運(yùn)行上可行性: 本系統(tǒng)為一個(gè)小型的學(xué)生信息管理系統(tǒng),所耗費(fèi)的資源非常的小,學(xué)校的電腦無論是硬件還是軟件都能夠滿足條件,因此,本系統(tǒng)在運(yùn)行上是可行的。 第二章 系統(tǒng)分析與設(shè)計(jì) .1 需求分析 世紀(jì)以來,人類經(jīng)濟(jì)高速發(fā)展,人們發(fā)生了日新月異的變化,特別是計(jì)算機(jī)的應(yīng)用及普及到經(jīng)濟(jì)和社會(huì)生活的各個(gè)領(lǐng)域。使原本的舊的管理方法越來越不適應(yīng)現(xiàn)在社會(huì)的發(fā)展。許多人還停留在以前的手工操作。這大大地阻礙了人類經(jīng)濟(jì)的發(fā)展。為了適應(yīng)現(xiàn)代社會(huì)人們高度強(qiáng)烈的時(shí)間觀念,學(xué)校信息管理系統(tǒng)軟件為學(xué)校辦公室?guī)砹藰O大的方便。我所開發(fā)的這個(gè)系統(tǒng)所采用的是編程軟VISUAL 2005作為實(shí)現(xiàn)語言,以數(shù)據(jù)庫(kù)Microsoft SQL Server2000為系統(tǒng)的后臺(tái)操作,其功能在系統(tǒng)內(nèi)部有源代碼直接完成。我們只需按系統(tǒng)要求輸入即可操作。為將來學(xué)校上網(wǎng)做好準(zhǔn)備。 學(xué)校具體需求分析如下: 學(xué)生:對(duì)各科成績(jī)的查詢及查看本班成績(jī)排名等情況。 任課老師:輸入并維護(hù)所教科目的學(xué)生成績(jī),計(jì)算本科的成績(jī)排名、本科成績(jī)?cè)诎嗌系呐琶?/p> 輸出本班科目的成績(jī)及排名情況。 班主任:輸入并維護(hù)本班的基本信息,對(duì)本班的各科成績(jī)匯總,計(jì)算各科成績(jī)的總分,排名,本班平均分等需求。 輸出學(xué)生的基本信息,各科的成績(jī)及各科成績(jī)的部分,各科成績(jī)的排名,總分的排名情況。 教務(wù)處: 學(xué)校全體成員的信息管理,對(duì)考試科目,時(shí)間及對(duì)所考科目的編號(hào)等進(jìn)行具體的管理,并對(duì)任課老師,班主任等輸入的信息進(jìn)行存庫(kù),對(duì)學(xué)生的信息進(jìn)行必要的維護(hù),可打印學(xué)生的所有信息。 .2 系統(tǒng)的設(shè)計(jì)思想 采用現(xiàn)有的資源,先進(jìn)的管理系統(tǒng)開發(fā)方案,充分利用學(xué)?,F(xiàn)有的資源,減少開發(fā)中的時(shí)間和財(cái)力、物力、提高系統(tǒng)開發(fā)的水平和應(yīng)用效果。 系統(tǒng)就滿足學(xué)校的需求,例如學(xué)生信息的錄入、查詢、更新等。學(xué)生錄入與排名。 系統(tǒng)就具備數(shù)據(jù)庫(kù)維護(hù)功能,及時(shí)根據(jù)用戶需求進(jìn)行數(shù)據(jù)添加、刪除、修改等操作。 .3系統(tǒng)設(shè)計(jì)分析 本系統(tǒng)適用于大專學(xué)校,其功能主要分為兩大類: 1.系統(tǒng)管理員登陸: 可以對(duì)整個(gè)系統(tǒng)進(jìn)行查詢,修改,添加,刪除,維護(hù)。 2.普通用戶登陸: 只能對(duì)系統(tǒng)作查詢不能修改。 .4系統(tǒng)功能分析 權(quán)限功能:系統(tǒng)具有動(dòng)態(tài)的權(quán)限分配功能,可按用戶權(quán)限對(duì)用戶進(jìn)行分組??煞譃橐话阌脩艉凸芾韱T。一般用戶只是查詢不能修改,管理員能修改刪除所有信息。 錄入功能:一般用提供相應(yīng)的發(fā)入功能,管理員提供對(duì)所有信息的錄入功能。 查詢功能:為所有用戶提供查詢的功能,可查詢?cè)试S范圍內(nèi)的所有信息。 維護(hù)功能:為一般用戶提供查詢及相應(yīng)的修改,刪除功能,為管理員提供對(duì)所有信息的修改刪除功能。 鎖定功能:對(duì)系統(tǒng)鎖定。 退出功能:結(jié)束并關(guān)閉系統(tǒng)。 .5系統(tǒng)各功能模塊設(shè)計(jì) 學(xué)生成績(jī)管理系統(tǒng)包括:信息管理、成績(jī)管理、系統(tǒng)管理 .6 系統(tǒng)數(shù)據(jù)流程圖 通過對(duì)學(xué)生成績(jī)管理流程的分析和重組,可以繪制出學(xué)生成績(jī)管理系統(tǒng)的數(shù)據(jù)流圖 第三章 應(yīng)用技術(shù)介紹 .1 Visual Studio 2005 是.NET平臺(tái)下最為強(qiáng)大的開發(fā)工具,無論是軟件服務(wù)商,還是企業(yè)應(yīng)用程序的部署與發(fā)布,Visual 都可以提供近乎完美的解決方案。Visual 提供了包括設(shè)計(jì)、編碼、編譯調(diào)試、數(shù)據(jù)庫(kù)聯(lián)接操作等基本功能和基于開放架構(gòu)的服務(wù)器組件開發(fā)平臺(tái)、企業(yè)開發(fā)工具和應(yīng)用程序重新發(fā)布工具以及性能評(píng)測(cè)報(bào)告等高級(jí)功能。 .2 Microsoft SQL Server (Structured Query Language),意思為結(jié)構(gòu)化查詢語言,是一種介于關(guān)系代數(shù)與關(guān)系演算之間的結(jié)構(gòu)化查詢語言。它的主要功能就是同各種數(shù)據(jù)庫(kù)建立聯(lián)系,進(jìn)行溝通。ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì))規(guī)定SQL是關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)的標(biāo)準(zhǔn)語言。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)、從數(shù)據(jù)庫(kù)中提取數(shù)據(jù)等。 語言之所以能夠?yàn)橛脩艉蜆I(yè)界所接受,并成為國(guó)際標(biāo)準(zhǔn),是因?yàn)樗且粋€(gè)綜合的、功能極強(qiáng)同時(shí)又簡(jiǎn)捷易學(xué)的語言。SQL語言集數(shù)據(jù)查詢、數(shù)據(jù)操縱、數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,主要特點(diǎn)包括: 綜合統(tǒng)一 非關(guān)系模型的數(shù)據(jù)語言一般都分為模式數(shù)據(jù)定義語言(模式DDL)、外模式數(shù)據(jù)定義語言(外模式DDL)、與數(shù)據(jù)存儲(chǔ)有關(guān)的描述語言(DSDL)及數(shù)據(jù)操縱語言(DML),分別用于定義模式、外模式、內(nèi)模式和進(jìn)行數(shù)據(jù)的存取與處置。當(dāng)擁護(hù)數(shù)據(jù)庫(kù)投入運(yùn)行后,如果需要修改模式,必須停止現(xiàn)有的數(shù)據(jù)庫(kù)的運(yùn)行,轉(zhuǎn)儲(chǔ)數(shù)據(jù),修改模式并編譯后再重裝數(shù)據(jù)庫(kù),十分麻煩。 語言則集數(shù)據(jù)定義語言DDL、數(shù)據(jù)操縱語言DML、數(shù)據(jù)控制語言DCL的功能于一體,語言風(fēng)格統(tǒng)一,可以獨(dú)立完成數(shù)據(jù)庫(kù)生命周期中的全部活動(dòng),包括定義關(guān)系模式、建立數(shù)據(jù)庫(kù)、插入數(shù)據(jù)、查詢、更新、維護(hù)、數(shù)據(jù)庫(kù)重構(gòu)、數(shù)據(jù)庫(kù)安全性控制等一系列操作要求,這就為數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開發(fā)提供了良好的環(huán)境。用戶在數(shù)據(jù)庫(kù)系統(tǒng)投入運(yùn)行后,還可根據(jù)需要隨時(shí)地逐步地修改模式,切并不影響數(shù)據(jù)庫(kù)的運(yùn)行,從而使系統(tǒng)具有良好的可擴(kuò)展性。 高度非過程化 非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語言是面向過程的語言,用其完成某項(xiàng)請(qǐng)求必須指定存取路徑。而用SQL語言進(jìn)行數(shù)據(jù)操作,只要提出“做什么”,而無須指明“怎么做” ,因此無須了解存取路徑,存取路徑的選擇以及SQL語言句的操作過程由系統(tǒng)自動(dòng)完成。這不但大大減輕了用戶負(fù)擔(dān),而且有利于提高數(shù)據(jù)獨(dú)立性。 面向集合的操作方式 非關(guān)系數(shù)據(jù)模型采用的是面向記錄的操作方式,操作對(duì)象是一條記錄。而SQL語言采用集合操作方式,不僅操作對(duì)象、查找結(jié)果可以是元組的集合,而且一次插入、刪除、更新操作的對(duì)象也可以是元組的集合。 以同一種語法結(jié)構(gòu)提供兩種使用方式語言既是自含式語言,又是嵌入式語言。作為自含式語言,他能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式,用戶何以在終端鍵盤上直接鍵入SQL命令對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作;作為嵌入式語言,SQL語句能夠嵌入到高級(jí)語言中,供程序員設(shè)計(jì)程序時(shí)使用。而在兩種不同的使用方式下,SQL語言的語法結(jié)構(gòu)基本上是一致的。 語言簡(jiǎn)捷,易學(xué)易用語言功能極強(qiáng),但由于設(shè)計(jì)巧妙,語言十分簡(jiǎn)捷,完成核心功能只用了9個(gè)動(dòng)詞,SQL語言接近英語口語,因此容易學(xué)習(xí),容易使用。 第四章 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn) 數(shù)據(jù)庫(kù)在一個(gè)管理信息系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)的好壞將直接影響到應(yīng)用系統(tǒng)的實(shí)現(xiàn)效果和數(shù)據(jù)操作效率以及能否保證數(shù)據(jù)的一致性、完成性和安全性。 .1數(shù)據(jù)庫(kù)設(shè)計(jì) 根據(jù)學(xué)生成績(jī)管理系統(tǒng)的功能要求,通過分析系統(tǒng)要涉及的相關(guān)實(shí)體以及要收集、存儲(chǔ)和操縱的數(shù)據(jù)信息 .2創(chuàng)建數(shù)據(jù)庫(kù) 第五章 系統(tǒng)模塊詳細(xì)設(shè)計(jì) 本系統(tǒng)有6個(gè)子模塊組成:系統(tǒng)管理模塊、信息管理模塊、成績(jī)管理模塊、關(guān)于模塊、鎖定系統(tǒng)模塊與退出系統(tǒng)模塊。 .1 登錄界面,主窗口的實(shí)現(xiàn) 重要代碼:“確定“按鈕的Clickde事件腳本如下: void pblogin_Click(object sender, EventArgs e) (txtID.Text == ) .Show(用戶名不能為空); else (txtpwd.Text == ) .Show(密碼不能為空); else conn =Db.createConnection (); .Open(); cmd = new SqlCommand(select count(*) from 院 where 帳號(hào)=' txtID.Text ' and 密碼=' txtpwd .Text ', conn); int i = Convert.ToInt32(cmd.ExecuteScalar()); if (i > 0) .loginname = txtID.Text; Db.loginpwd = txtpwd.Text; frmMain main = new frmMain(); main.adminname = txtID.Text; .admintime = DateTime.Now.ToShortDateString(); main.Show(); this.Hide();
.2 系統(tǒng)管理模塊的實(shí)現(xiàn) 本模塊實(shí)現(xiàn)用戶的密碼修改、重新登入、用戶維權(quán)。 重要代碼:“修改“按鈕的Clickde事件腳本如下: void btnupdate_Click(object sender, EventArgs e) (this.txtoldpwd.Text == ) .Show(請(qǐng)輸入原密碼!); if (this.txtnewpwd.Text == ) .Show(請(qǐng)輸入新密碼!); if (this.txtnewpwd2.Text == ) .Show(請(qǐng)輸入確認(rèn)新密碼!); if (this.txtnewpwd2.Text != this.txtnewpwd.Text) .Show(兩次密碼不一致,請(qǐng)重新輸入!); else con = Db.createConnection(); con.Open(); cmd = new SqlCommand(select count(*) from login where 帳號(hào)=' this.txtname.Text 'and 密碼=' this.txtoldpwd.Text', con); int count = Convert.ToInt32(cmd.ExecuteScalar()); if (count > 0) cmd1 = new SqlCommand(update login set 密碼=' this.txtnewpwd.Text ' where 帳號(hào)=' this.txtname.Text 'and 密碼=' this.txtoldpwd.Text ', con); cmd1.ExecuteNonQuery(); .Show(密碼修改成功!); . loginpwd=this.txtnewpwd.Text; (Convert.ToInt32(MessageBox.Show(是否重新登錄?, 重新登錄, MessageBoxButtons.OKCancel)) == 1) .Restart(); .Close(); else .Show(密碼錯(cuò)誤); .Close(); .3 信息管理模塊的實(shí)現(xiàn) 本模塊實(shí)現(xiàn)用于對(duì)系部、班級(jí)、教師、學(xué)生信息表進(jìn)行查詢、添加、刪除、修改等操作。 .下面以設(shè)計(jì)“系部信息管理”窗口為例 重要代碼:“添加”的Clickde事件腳本如下: (btnsave.Text == 添加) .Text = 確定; con = Db.createConnection(); con.Open(); cmd = new SqlCommand(select max(系部編號(hào)) from 系部表, con); this.txtxbcode.Text = Convert.ToString(Convert.ToInt32(cmd.ExecuteScalar()) ); con.Close(); .txtsjname.Text = ; this.txtsjtel.Text = ; this.txtxbname.Text = ; this.txtzrname.Text = ; this.txtzrtel.Text = ; = false; .txt_bool(txtbool); btnupdate.Enabled = false; .修改系部信息ToolStripMenuItem.Enabled = false; else con = Db.createConnection(); con.Open(); a = Convert.ToInt32(MessageBox.Show(真的要將該數(shù)據(jù)進(jìn)行存儲(chǔ)嗎?, 存儲(chǔ)操作, MessageBoxButtons.OKCancel, MessageBoxIcon.Warning)); if (a == 1) strsql = string.Format( insert into 系部表(系部編號(hào),系部名稱,主任,主任電話,書記,書記電話) values('0','1','2','3','4','5'), .txtxbcode.Text, this.txtxbname.Text, this.txtzrname.Text, this.txtzrtel.Text, this.txtsjname.Text, this.txtsjtel.Text); cmd = new SqlCommand(strsql, con); cmd.ExecuteNonQuery(); MessageBox.Show(存儲(chǔ)成功!); .datagraidtodatabase(); btnenabled(); con.Close(); .Text = 添加; = true ; .txt_bool(txtbool); //調(diào)用,改變各控件的可用屬性 .Enabled = true; .修改系部信息ToolStripMenuItem.Enabled = true; catch .Show(信息錯(cuò)誤); “修改”的Clickde事件腳本如下: (btnupdate.Text == 修改) .Text = 確定; = false; .txt_bool(txtbool); //調(diào)用,改變各控件的可用屬性 this.btnsave .Enabled = false; .添加系部信息ToolStripMenuItem.Enabled = false; else con = Db.createConnection(); con.Open(); a = Convert.ToInt32(MessageBox.Show(真的要將該數(shù)據(jù)進(jìn)行修改嗎?, 修改操作, MessageBoxButtons.OKCancel, MessageBoxIcon.Warning)); if (a == 1) ring strsql = string.Format( update 系部表 set 系部名稱=' this.txtxbname.Text ',主任=' this.txtzrname.Text ',主任電話=' this.txtzrtel.Text',書記=' this.txtsjname.Text ',書記電話=' this.txtsjtel.Text ' where 系部編號(hào)='this.txtxbcode.Text'); cmd = new SqlCommand(strsql, con); cmd.ExecuteNonQuery(); MessageBox.Show(修改成功!); .datagraidtodatabase(); btnenabled(); con.Close(); .Text = 修改; this.btnsave.Enabled = true; = true ; .txt_bool(txtbool);//調(diào)用,改變各控件的可用屬性par.添加系部信息ToolStripMenuItem.Enabled = true; catch .Show(信息錯(cuò)誤); “下一條”的Clickde事件腳本如下: .dataGrid1.UnSelect(this.dataGrid1.CurrentRowIndex); .dataGrid1.CurrentRowIndex = this.dataGrid1.CurrentRowIndex; btnenabled(); “上一條”的Clickde事件腳本如下: .dataGrid1.UnSelect(this.dataGrid1.CurrentRowIndex); .dataGrid1.CurrentRowIndex = this.dataGrid1.CurrentRowIndex - 1; btnenabled(); “關(guān)閉”的Clickde事件腳本如下: this.Close(); .4 成績(jī)管理模塊的實(shí)現(xiàn) 本模塊實(shí)現(xiàn)用于對(duì)學(xué)生成績(jī)的錄入,系部學(xué)生成績(jī)查詢,班級(jí)學(xué)生成績(jī)查詢,學(xué)科成績(jī)查詢,學(xué)生成績(jī)查詢操作。 .下面以設(shè)計(jì)“學(xué)生成績(jī)查詢”窗口為例 重要代碼:學(xué)生成績(jī)查詢_Load事件腳本如下: con = Db.createConnection(); con.Open(); cmd = new SqlCommand(select 學(xué)號(hào),姓名 from 學(xué)生表, con); SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read()) .txtxscode.Items.Add(sdr.GetString(0)); this.txtxsname.Items.Add(sdr.GetString(1)); sdr.Close(); .Close(); “查詢“按鈕的Clickde事件腳本如下: sql = select 成績(jī)表.* from 成績(jī)表,學(xué)生表 where 成績(jī)表.學(xué)號(hào)=學(xué)生表.學(xué)號(hào) ; string sql1 = select count(distinct(成績(jī)表.學(xué)號(hào))) from 成績(jī)表,學(xué)生表 where 成績(jī)表.學(xué)號(hào)=學(xué)生表.學(xué)號(hào) ; (this.radioButton1.Checked == true) = and 成績(jī)表.學(xué)號(hào) like'% this.txtxscode.Text %'; sql1 = and 成績(jī)表.學(xué)號(hào) like'% this.txtxscode.Text %'; else = and 學(xué)生表.姓名 like'% this.txtxsname.Text %'; sql1 = and 學(xué)生表.姓名 like'% this.txtxsname.Text %'; .ds1.成績(jī)表.Clear(); parmandText = sql; sda.Fill(this.ds1.成績(jī)表); con = Db.createConnection(); con.Open(); cmd = new SqlCommand(sql1, con); this.lbenum.Text = cmd.ExecuteScalar().ToString(); con.Close(); catch .Show(數(shù)據(jù)錯(cuò)誤!); void txtcode_TextChanged(object sender, EventArgs e) try con = Db.createConnection(); con.Open(); dt = new DataTable(); da.Fill(dt); .txtname.Text = dt.Rows[0].ItemArray[1].ToString(); this.txtbjname.Text = dt.Rows[0].ItemArray[2].ToString(); this.txtmaxscore.Text = dt.Rows[0].ItemArray[3].ToString(); this.txtminscore.Text = dt.Rows[0].ItemArray[4].ToString(); this.txtscore.Text = dt.Rows[0].ItemArray[5].ToString(); dt1 = new DataTable(); da1 = new
信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com
|