sqlserver學(xué)生成績管理系統(tǒng)課程設(shè)計_第1頁
sqlserver學(xué)生成績管理系統(tǒng)課程設(shè)計_第2頁
sqlserver學(xué)生成績管理系統(tǒng)課程設(shè)計_第3頁
sqlserver學(xué)生成績管理系統(tǒng)課程設(shè)計_第4頁
sqlserver學(xué)生成績管理系統(tǒng)課程設(shè)計_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、網(wǎng)絡(luò)數(shù)據(jù)庫課程設(shè)計報告 目錄1 需求分析11.1 功能需求11.2 系統(tǒng)的開發(fā)運行環(huán)境12 總體設(shè)計12.1 系統(tǒng)功能模塊12.2 主要類設(shè)計(子模塊設(shè)計)13 數(shù)據(jù)庫設(shè)計1要求數(shù)據(jù)庫設(shè)計完整,參考綜合實驗13.1 數(shù)據(jù)表設(shè)計(要體現(xiàn)數(shù)據(jù)完整性)23.2 存儲過程與觸發(fā)器設(shè)計33.3 索引(視圖)設(shè)計43.4 安全性設(shè)計44 詳細(xì)設(shè)計85.1 登錄模塊85.2教師模塊115.3學(xué)生模塊135 小結(jié)和展望15參 考 文 獻(xiàn)15附 錄15使用說明書15-53-1 需求分析1.1 功能需求我做的是學(xué)生成績管理系統(tǒng),設(shè)計到的主要用戶有兩大類,即教師和學(xué)生。從學(xué)生的角度來看,需要實現(xiàn)的功能有查詢基本信息

2、,查詢成績,修改密碼。這三項功能是學(xué)生成績管理系統(tǒng)所必須具備的,其余功能可以具體分析是否添加。我做的系統(tǒng)的學(xué)生界面就是基于這三個功能進(jìn)行的。從教師的角度來看,需要實現(xiàn)的功能有錄入學(xué)生基本信息,錄入學(xué)生的各科成績,修改教師登錄系統(tǒng)的密碼,以及修改學(xué)生成績。1.2 系統(tǒng)的開發(fā)運行環(huán)境本系統(tǒng)開發(fā)平臺: Java 或其他可視化高級語言+ sql servereclipse本系統(tǒng)運行環(huán)境: windows 72 總體設(shè)計2.1 系統(tǒng)功能模塊為了簡化學(xué)生管理系統(tǒng),將系統(tǒng)劃分為三個模塊,即:登錄模塊,教師模塊,學(xué)生模塊。功能模塊實現(xiàn)用戶的登錄,用戶主要為兩類:學(xué)生,教師。其中登錄賬號即為學(xué)生的學(xué)號與教師的教

3、師號,學(xué)生的初始密碼為123,教師的初始密碼為教師號。登錄系統(tǒng)之后要及時進(jìn)行修改。教師模塊實現(xiàn)對學(xué)生成績與基本信息的管理。即錄入學(xué)生信息,錄入學(xué)生成績,修改成績,修改密碼學(xué)生模塊實現(xiàn)對信息的查詢與更改,查詢即為查詢學(xué)生的基本信息,查詢學(xué)生的成績,以及更改密碼。 系統(tǒng)總體結(jié)構(gòu)圖2.2 主要類設(shè)計(子模塊設(shè)計)學(xué)生成績管理系統(tǒng)由9個類組成,分別是:系統(tǒng)類,教師類,學(xué)生類,添加信息類,添加成績類,修改成績類,修改密碼類,查詢基本信息類,查詢成績類。系統(tǒng)類實現(xiàn)用戶的登錄,驗證用戶的身份。學(xué)生的登錄賬號為學(xué)號,初始密碼為123。教師的登錄賬號為教師號,初始密碼為教師號。當(dāng)?shù)卿涃~號輸入有錯時,系統(tǒng)會提示登

4、錄失敗。教師成功登錄系統(tǒng)之后進(jìn)入的是教師界面,教師自由的選擇要實現(xiàn)的功能。教師可以錄入學(xué)生的基本信息,錄入學(xué)生的成績,修改學(xué)生的成績,修改教師的登錄密碼。教師選擇錄入學(xué)生的基本信息之后系統(tǒng)就彈出了錄入信息類,通過添加學(xué)生的學(xué)號,姓名,性別,班級,學(xué)院,備注,出生年月,點擊添加按鈕實現(xiàn)向數(shù)據(jù)庫添加學(xué)生信息。教師選擇錄入學(xué)生的成績之后,錄入成績的界面彈出。教師根據(jù)學(xué)號,一次添加學(xué)生的各科成績之后,點擊添加實現(xiàn)向數(shù)據(jù)庫中添加學(xué)生的成績。同時教師也可以修改學(xué)生的成績,因為考慮到教師的誤操作,所以設(shè)置了修改學(xué)生成績類。教師只要輸入學(xué)號再加上要修改的學(xué)生的科目的成績之后點擊添加即可。為了避免賬號被人隨意登

5、錄,教師可在首次登錄系統(tǒng)之后進(jìn)行密碼的修改。學(xué)生成功登錄系統(tǒng)之后進(jìn)入的是學(xué)生界面,學(xué)生界面主要實現(xiàn)一些基本的查詢功能,如查詢學(xué)生的基本信息,查詢學(xué)生的成績,修改學(xué)生的登錄密碼等。學(xué)生選擇查詢基本信息之后系統(tǒng)隨即彈出查詢信息類的界面,學(xué)生不需要輸入學(xué)號,點擊查詢即可。同時學(xué)生可以選擇查詢成績,點擊之后系統(tǒng)自動彈出查詢成績類的界面,學(xué)生不需要輸入學(xué)號即可實現(xiàn)查詢。因為學(xué)生成績管理系統(tǒng)的初始登錄密碼為123,所以學(xué)生登錄之后的第一件事是修改登錄密碼。3 數(shù)據(jù)庫設(shè)計3.1 數(shù)據(jù)表設(shè)計(要體現(xiàn)數(shù)據(jù)完整性)學(xué)生成績管理系統(tǒng)共有四個表,分別是:學(xué)生表,成績表,教師表,課程表。表的設(shè)計如下:學(xué)生表(學(xué)號,姓名

6、,性別,初始年月,專業(yè)班級,總學(xué)分,備注,班級,學(xué)校,密碼);教師表(教師號,姓名,性別,學(xué)校,密碼);課程表(課程號,課程名,教師號,學(xué)分,學(xué)時);3.2 存儲過程與觸發(fā)器設(shè)計存數(shù)過程是數(shù)據(jù)庫對象之一,存儲過程可以理解為數(shù)據(jù)庫的子程序,在客戶端和服務(wù)端可以使用它。觸發(fā)器是與表直接關(guān)聯(lián)的特殊的存儲過程,是對表記錄操作時觸發(fā)的。在數(shù)據(jù)庫設(shè)計過程中,均對存儲過程和觸發(fā)器進(jìn)行了設(shè)計。定義select * from xsb存儲過程:create procedure student_info as select * from xsb exec student_info定義select * from TC

7、H 存儲過程:create procedure tch_info as select * from tchexec tch_info定義select * from xsb存儲過程:create procedure xsb_info_search asselect * from xsb where 學(xué)號 = '" + id + "' 創(chuàng)建觸發(fā)器,當(dāng)向?qū)W生表中插入一行數(shù)據(jù)時,提示“trigger is working”create trigger xsb_insert on xsb after insertas begin declare str char(50

8、)set str='trigger is working'print str end創(chuàng)建觸發(fā)器,當(dāng)想xsb中插入一個學(xué)生的成績時,將xsb表中的該學(xué)生的總學(xué)分加上添 加的課程的學(xué)分create trigger cjb_insert on cjb after insertas begindeclare num char(6),kc_num char(3)declare xf int select num=kcb.學(xué)分,kc_num=kcb.課程號 from inserted select xf=學(xué)分 from kcb where kcb.課程號=kc_numupdate xsb

9、set 總學(xué)分=總學(xué)分+xf where 學(xué)號=numprint'修改成功'End創(chuàng)建觸發(fā)器,當(dāng)修改xsb表中的學(xué)號時,同時也要將cjb表中的學(xué)號修改成相應(yīng)的學(xué) 號create trigger xsb_updateon xsb after updateasbegin declare old_num char(6),new_num char(6)select old_num=學(xué)號 from deletedselect new_num=學(xué)號 from inserted update cjb set 學(xué)號=new_num where 學(xué)號=old_numend創(chuàng)建xscjgl數(shù)據(jù)庫作

10、用域的ddl觸發(fā)器,當(dāng)刪除一個表時,提示禁止該操作,然后回 滾刪除表的操作。create trigger safetyon databaseafter drop_tableas print '不能刪除該表'rollback transaction 創(chuàng)建服務(wù)器作用域的ddl觸發(fā)器,當(dāng)刪除一個數(shù)據(jù)庫時,提示禁止該操作并回滾刪除數(shù)據(jù)庫的操作。create trigger safety_server_deleteon all serverafter drop_databaseas print '不能刪除該數(shù)據(jù)庫'rollback transaction3.3 索引(視圖

11、)設(shè)計Sql server中索引可以分為兩類,即聚集索引和非聚集索引。索引是可以唯一的,這意味著不會有兩行相同的索引鍵值,這樣的索引稱為唯一索引。聚集索引將數(shù)據(jù)行的鍵值在表內(nèi)排序并存儲對應(yīng)的數(shù)據(jù)記錄,使得數(shù)據(jù)表物理順序與索引順序一致。非聚集完全獨立于數(shù)據(jù)行的結(jié)構(gòu)。本系統(tǒng)使用的是唯一索引,這是因為考慮到每個表中都不允許出現(xiàn)兩行一樣的值,約束輸入數(shù)據(jù)的正確規(guī)范,保證數(shù)據(jù)的完整性。創(chuàng)建唯一聚集索引:create unique clustered index xsb_id_ind on xsb(學(xué)號)create unique clustered index tch_id_ind on tch(教師號

12、)create unique clustered index cjb_id_ind on cjb(學(xué)號)3.4 安全性設(shè)計對于學(xué)生成績管理系統(tǒng)的安全性設(shè)計,我是從兩個方面去考慮的。其一是數(shù)據(jù)庫的備份與恢復(fù)。其二是系統(tǒng)安全管理。創(chuàng)建備份:在本地硬盤上創(chuàng)建一個備份文件,備份設(shè)備的邏輯名是mybackupfileexec sp_addumpdevice 'disk','mybackupfile','e:datamybackupfile.bak'sql 執(zhí)行差異備份時應(yīng)注意一下幾點:(1)若在上次完全數(shù)據(jù)庫備份之后,數(shù)據(jù)庫的某行被修改了,則執(zhí)行差異備份至

13、保存最后一次的修改。(2)為了是差異備份設(shè)備與完全數(shù)據(jù)庫備份設(shè)備區(qū)分開來,應(yīng)使用不同的備份設(shè)備名。backup database xscjgl to disk='e:dataxscjgl.bak' with differential創(chuàng)建一個命名的備份設(shè)備xscjgllogbk,并備份xscjgl數(shù)據(jù)庫的事務(wù)日志exec sp_addumpdevice 'disk','xscjgllogbk','e:dataxscjgllog.bak'backup log xscjgl to xscjgllogbk如果數(shù)據(jù)庫遭到破壞或者毀壞導(dǎo)致數(shù)據(jù)

14、丟失,則可以使用備份設(shè)備進(jìn)行備份:backup database xscjgl to mybackupfile恢復(fù)數(shù)據(jù)庫:restore database xscjgl from mybackupfilewith norecovery ,replacerestore log xscjgl from xscjgllogbk創(chuàng)建sql server登錄名manager1,密碼,manager2,密碼,默認(rèn)數(shù)據(jù)庫設(shè)為xscjglcreate login manager1with password='542542',default_database=xscjglcreate login

15、 manager2with password='111222',default_database=xscjgl使用sql server登錄名manager1在xscjgl數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫用戶名tao ,默認(rèn)架構(gòu)名使用dbo。 使用sql server登錄名manager2在xscjgl數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫用戶名su ,默認(rèn)架構(gòu)名使用dbo。create user tao for login manager1 with default_schema=dbocreate user su for login manager2 with default_schema=dbo4 詳細(xì)設(shè)計

16、5.1 登錄模塊1. 功能設(shè)計 在已經(jīng)設(shè)計好的界面中的相應(yīng)地方輸入賬號,密碼,選擇是學(xué)生還是老師。在以上的都填寫完畢之后點擊登錄,完成登錄。學(xué)生的登錄賬號為學(xué)號,初始密碼也為學(xué)號。教師的登錄賬號為教師號,初始密碼也為教師號。用戶可以在首次登錄之后進(jìn)行更改密碼,以保證信息安全。2. 界面設(shè)計 界面設(shè)計力求簡潔,在簡單的驗證過身份之后即進(jìn)入系統(tǒng)。登錄界面沒有做過多的身份認(rèn)證,主要考慮到學(xué)生成績管理系統(tǒng)是在學(xué)校內(nèi)部使用,是在校內(nèi)網(wǎng),所以能登錄的只是學(xué)校的老師或?qū)W生。界面頂部用的是帶有華北科技學(xué)院學(xué)院的名字的圖片。登錄界面截圖:3模塊算法(或重要代碼段)if(xsb.isSelected()tryCo

17、nnection con = DriverManager.getConnection("jdbc:sqlserver:/127.0.0.1:1433;DatabaseName=xscjgl","sjs","1234");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("exec student_info");while(rs.next()if(rs.getString("學(xué)號").equals(use

18、rname)if(rs.getString("密碼").equals(password)save.user=username; save.userpassword=password; JOptionPane.showMessageDialog(ss,rs.getString("姓名")+"同學(xué)!您好!歡迎登錄教師管理系統(tǒng)!");Students stu = new Students();elseJOptionPane.showMessageDialog(ss,"登錄失敗");/處理完之后釋放資源。rs.close(

19、);stmt.close();/傳說中的拋出異常。catch (SQLException se)JOptionPane.showMessageDialog(ss,se.getMessage();else if(tch.isSelected()tryConnection con = DriverManager.getConnection("jdbc:sqlserver:/127.0.0.1:1433;DatabaseName=xscjgl","sjs","1234");Statement stmt = con.createStateme

20、nt();String id = null;ResultSet rs = stmt.executeQuery("select * from TCH");while(rs.next()if(rs.getString("教師號").equals(username)if(rs.getString("密碼").equals(password)JOptionPane.showMessageDialog(ss,rs.getString("姓名")+"老師!您好!歡迎登錄教師管理系統(tǒng)!");Teachers

21、tch=new Teachers();/"登陸成功"elseJOptionPane.showMessageDialog(ss, "登錄失敗");4調(diào)試與測試 學(xué)生成績管理系統(tǒng)的界面部分是在數(shù)據(jù)庫設(shè)計完成之后才開始進(jìn)行的。數(shù)據(jù)庫中保存著用戶的數(shù)據(jù),其中就包括用戶的登錄賬號和密碼。數(shù)據(jù)庫建立成功之后面臨的第一個大的問題就是eclipse和數(shù)據(jù)庫的連接問題。在eclipse上編寫代碼的過程中,由于各個模塊寫的時間都比較長,所以遇到的問題都能夠解決了,碰到大的自己解決不了的也都請教了同學(xué)。其中有一個子程序是報錯一直找不到主類,我調(diào)試了好長時間一直發(fā)現(xiàn)不了哪里出了

22、問題,最后在請教張永真之后得到了答案。因為主類被一個子類包在了大括號里,所以程序一直無法找到主類,所以程序也就無法正常運行了。5.2 教師模塊1. 功能設(shè)計 教師模塊實現(xiàn)的功能有錄入學(xué)生的基本信息,錄入學(xué)生的成績,修改學(xué)生的成績,修改教師的登錄密碼等。2. 界面設(shè)計 教師界面: 添加學(xué)生的基本信息: 添加學(xué)生成績: 修改學(xué)生成績: 修改教師登錄密碼:3模塊算法(或重要代碼段)public void actionPerformed(ActionEvent e)if(e.getSource()=item1)AddMsg msg = new AddMsg();else if(e.getSource(

23、)=item2)Addscore as = new Addscore();else if(e.getSource()=item3)Updatescore as=new Updatescore();elseGenggai as=new Genggai();4調(diào)試與測試 教師模塊在調(diào)試的過程中總是出先數(shù)據(jù)無法正常的存入數(shù)據(jù)庫的現(xiàn)象,解決起來都比較耗時,如何處理好界面之間的跳轉(zhuǎn),處理起來確實考驗人的耐心和毅力,好在問題都能解決。5.3 學(xué)生模塊1. 功能設(shè)計 學(xué)生成績管理系統(tǒng)在學(xué)生界面的功能設(shè)計主要考慮學(xué)生的基本信息查詢,各科的成績查詢,修改學(xué)生的登錄密碼等。2. 界面設(shè)計 學(xué)生界面: 查詢學(xué)生信息

24、:查詢學(xué)生成績:3模塊算法(或重要代碼段)public void actionPerformed(ActionEvent e)if(e.getSource()=Item1)/ Mima mima=new Mima();else if(e.getSource()=Item2) Serch ser = new Serch();elseScore so = new Score();4調(diào)試與測試 主要的問題就是各個類之間的連接問題,如何在點擊查詢成績按鈕之后程序能自動跳轉(zhuǎn)到查詢成績的界面類似這樣的問題還是比較麻煩的。5 小結(jié)和展望這次數(shù)據(jù)庫的課程設(shè)計其實是做的比之前好的很多,起碼我是這么認(rèn)為的。之前的

25、課程設(shè)計僅僅是做了一下數(shù)據(jù)庫,就是那種單純的做數(shù)據(jù)庫,沒有前臺,沒有界面。這次的數(shù)據(jù)庫是之前的一次很大的提升。做了界面,在界面上也花了很多的功夫。因為自己不擅長編程,所以編程對我來說也花了很多的時間。幾乎是一邊在學(xué)習(xí)一邊在做設(shè)計。當(dāng)然這樣進(jìn)行的過程就是進(jìn)步也是挺大的。不僅要考慮數(shù)據(jù)庫的設(shè)計,界面的設(shè)計,更重要的是還要把這兩部分結(jié)合在一起,良好的結(jié)合在一起,并且能夠運行,這是最關(guān)鍵的地方。還好現(xiàn)在的網(wǎng)絡(luò)發(fā)達(dá),有不懂得地方就可以上網(wǎng)查詢。實在有不懂得的地方還可以問老師,同學(xué)。他們都挺熱衷于解答的。就這樣,一點點的測試,一點的修改。兩個星期就這么的過去了,關(guān)于數(shù)據(jù)庫的設(shè)計想了一些方案,但是很快的就發(fā)

26、現(xiàn)不適用??赡苁且驗闆]有做過項目的緣故吧,總是不能最好的顧及到用戶的體驗,無法很好的知道用戶想實現(xiàn)的功能是什么。不過還好這次做的學(xué)生成績管理系統(tǒng)并沒有什么大的難度,一些功能都可以想的到。沒有遺漏什么大的功能。對于數(shù)據(jù)庫的學(xué)習(xí)雖然已經(jīng)結(jié)束了,但我想這還是不夠的,這點理論知識顯然不能應(yīng)對社會上的挑戰(zhàn)。我對數(shù)據(jù)庫挺感興趣的,我想在這一領(lǐng)域,真正的掌握知識,加油吧。參 考 文 獻(xiàn)1 耿祥義, 張躍平. Java大學(xué)實用教程(第3版).電子工業(yè)出版社2鄭阿奇,劉啟芬,顧韶華,sql server使用教程(第3版) 電子工業(yè)出版社附 錄使用說明書用戶根據(jù)自己的身份選擇登錄,如果你是學(xué)生,輸入學(xué)號和密碼,即

27、可登錄學(xué)生界面。在學(xué)生界面你可以查詢自己的基本信息,查詢各科的成績,以及修改密碼。查詢成績和基本信息的時候不需要輸入密碼。如果你是老師,輸入你的教師號和登錄密碼,即可以進(jìn)入學(xué)生成績管理系統(tǒng)。在教師界面,你可以錄入學(xué)生的基本信息,錄入學(xué)生的成績,修改學(xué)生的基本信息,以及修改密碼。/登錄界面import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;class Systems extends JFrame implements ActionListenerprivate static final

28、Component Teacherwindow = null;public static String user;public static String pass;static Systems ss;/創(chuàng)建一個JPanel面板。JPanel是一個輕量級容易。JPanel panel = new JPanel();JLabel label1 = new JLabel("登錄賬號:");JTextField name = new JTextField();JLabel label2 = new JLabel("密 碼:");JPasswordField p

29、wd = new JPasswordField();JButton Enter = new JButton("登錄");JButton Exit = new JButton("退出");/String url = "E:mysqlQQ圖片20131223120608.jpg"ButtonGroup bgp = new ButtonGroup();/An implementation of a radio button - an item that can be /selected or deselected, and which di

30、splays its state to the user. /Used with a ButtonGroup object to create a group of buttons in which /only one button at a time can be selected./創(chuàng)建一個單選項。JRadioButton為單選按鈕。JRadioButton xsb = new JRadioButton("學(xué)生");JRadioButton tch = new JRadioButton("教師");/201107024111public System

31、s()/Creates a new, initially invisible Frame with the specified title. super("登錄系統(tǒng)");this.setResizable(false);/設(shè)置窗口大小不可調(diào)整。this.setBounds(40,60,800,800);JLabel img = new JLabel(new ImageIcon(url);img.setBounds(0,0,500,125);panel.add(img);xsb.setBounds(165,210,70,20);tch.setBounds(265,210,70

32、,20);/bgp為單選按鈕。bgp.add(xsb);bgp.add(tch);/想panel中添加xsb和tch單選按鈕。panel.add(xsb);panel.add(tch);Enter.setBounds(150,250,80,20);Exit.setBounds(270,250,80,20);/Adds an ActionListener to the button./向enter和exit添加監(jiān)視器。Enter.addActionListener(this);Exit.addActionListener(this);/想panel中添加enter和exit單選按鈕。panel.

33、add(Enter);panel.add(Exit);/Sets the layout manager for this container.panel.setLayout(null);this.add(panel);label1.setBounds(135,130,100,25);panel.add(label1);name.setBounds(265,130,100,25);panel.add(name);label2.setBounds(135,165,100,25);panel.add(label2);pwd.setBounds(265,165,100,25);panel.add(pw

34、d);this.setBounds(400,100,500,350);/設(shè)置可見this.setVisible(true);/隱藏當(dāng)前窗口,并釋放窗體咱有的其他資源。this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);/actionPerformed :Invoked when an action occurs.public void actionPerformed(ActionEvent e)if(e.getSource()=Enter)String username , password;username = name.getTex

35、t();password = new String(pwd.getPassword();tryClass.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");catch (ClassNotFoundException ce)/Brings up an information-message dialog titled "Message".JOptionPane.showMessageDialog(ss,ce.getMessage();/一下程序判斷是學(xué)生按鈕被選中還是教師按鈕被選中。if(xsb

36、.isSelected()tryConnection con = DriverManager.getConnection("jdbc:sqlserver:/127.0.0.1:1433;DatabaseName=xscjgl","sjs","1234");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("exec student_info");while(rs.next()if(rs.getString("學(xué)號

37、").equals(username)if(rs.getString("密碼").equals(password)save.user=username; save.userpassword=password; JOptionPane.showMessageDialog(ss,rs.getString("姓名")+"同學(xué)!您好!歡迎登錄教師管理系統(tǒng)!");Students stu = new Students();elseJOptionPane.showMessageDialog(ss,"登錄失敗");/處

38、理完之后釋放資源。rs.close();stmt.close();/傳說中的拋出異常。catch (SQLException se)JOptionPane.showMessageDialog(ss,se.getMessage();else if(tch.isSelected()tryConnection con = DriverManager.getConnection("jdbc:sqlserver:/127.0.0.1:1433;DatabaseName=xscjgl","sjs","1234");Statement stmt =

39、 con.createStatement();String id = null;ResultSet rs = stmt.executeQuery("select * from TCH");while(rs.next()if(rs.getString("教師號").equals(username)if(rs.getString("密碼").equals(password)JOptionPane.showMessageDialog(ss,rs.getString("姓名")+"老師!您好!歡迎登錄教師管理系統(tǒng)

40、!");Teachers tch=new Teachers();/"登陸成功"elseJOptionPane.showMessageDialog(ss, "登錄失敗");catch (SQLException se)JOptionPane.showMessageDialog(ss,se.getMessage();elseSystem.exit(0);public class System public static Object out;public static void main(String args)new Systems();publ

41、ic static void exit(int i) class save /聲明變量public static String user;public static String userpassword;public static String listGroupname;/教師界面:import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Teachers extends JFrame implements ActionListener /創(chuàng)建一個菜單條。JMenuBar bar = new JM

42、enuBar();/創(chuàng)建一個指定標(biāo)題的菜單。標(biāo)題分別為信息和成績。JMenu menu1 = new JMenu("信息");JMenu menu2 = new JMenu("成績");JMenu menu3 = new JMenu("修改");JMenu menu4 = new JMenu("更改");/構(gòu)造有標(biāo)題的菜單項JMenuItem item1 = new JMenuItem("錄入信息");JMenuItem item2 = new JMenuItem("錄入成績"

43、;);JMenuItem item3 = new JMenuItem("修改成績");JMenuItem item4 = new JMenuItem("更改密碼");/JPanel is a generic lightweight container.JPanel jpl = new JPanel();String url = "E:mysql20120106144252_xARit.jpg"/創(chuàng)建標(biāo)簽。A display area for a short text string or an image, or both./A lab

44、el does not react to input events.JLabel label0 = new JLabel("華北科技學(xué)院",JLabel.LEFT);JLabel label1 = new JLabel("注意 : 請勿隨意刪除學(xué)生信息。",JLabel.LEFT);JLabel label2 = new JLabel("注意 :請各位老師仔細(xì)輸入學(xué)生信息。",JLabel.LEFT);JLabel label3 = new JLabel("注意 :如有疑問請聯(lián)系各單位教學(xué)秘書。",JLabel.L

45、EFT);/此處的teacher為構(gòu)造方法,構(gòu)造方法的名字必須和類名一致。public Teachers()super("教師界面");this.setBounds(400,60,500,300);this.setResizable(false);this.setVisible(true);this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); String usertch=save.user;/Sets the menubar for this frame.設(shè)置菜單條。this.setJMenuBar(bar);th

46、is.add(jpl);jpl.setLayout(null);bar.add(menu1);bar.add(menu2);bar.add(menu3);bar.add(menu4);menu1.add(item1);menu2.add(item2); menu3.add(item3); menu4.add(item4); /添加監(jiān)視器。this表示當(dāng)前窗口。item1.addActionListener(this);item2.addActionListener(this);item3.addActionListener(this);item4.addActionListener(this)

47、;/設(shè)置初始化位置。label0.setBounds(378,180,600,20);jpl.add(label0);label1.setBounds(100,40,600,20);jpl.add(label1);label2.setBounds(100,60,700,20);jpl.add(label2);label3.setBounds(100,80,700,20);jpl.add(label3);JLabel img = new JLabel(new ImageIcon(url);img.setBounds(0,0,500,300);jpl.add(img);public void ac

48、tionPerformed(ActionEvent e)if(e.getSource()=item1)AddMsg msg = new AddMsg();else if(e.getSource()=item2)Addscore as = new Addscore();else if(e.getSource()=item3)Updatescore as=new Updatescore();elseGenggai as=new Genggai();public static void main(String args)Teachers tch = new Teachers();/學(xué)生登錄界面:im

49、port java.awt.*;import javax.swing.*;import java.awt.event.*;public class Students extends JFrame implements ActionListener private static Object rs;/創(chuàng)建一個菜單條。JMenuBar jmb = new JMenuBar();JMenu mima = new JMenu("密碼");JMenu Message = new JMenu("信息");JMenu Score = new JMenu("成

50、績");/構(gòu)造有標(biāo)題的菜單項。JMenuItem Item1 = new JMenuItem("修改密碼");JMenuItem Item2 = new JMenuItem("查詢信息");JMenuItem Item3 = new JMenuItem("查詢成績");/構(gòu)造面板JPanel jpl = new JPanel();String url = "E:mysql20120106144252_xARit.jpg"/構(gòu)造標(biāo)簽。JLabel label1 = new JLabel("校訓(xùn):自

51、立立人,興安安國",JLabel.LEFT);JLabel label2 = new JLabel("North China Institute of Science and Technology",JLabel.LEFT);JLabel label3 = new JLabel("如有疑問請聯(lián)系個單位教學(xué)秘書。",JLabel.LEFT);JLabel label4 = new JLabel("華北科技學(xué)院",JLabel.LEFT);public Students()/super("學(xué)生界面");thi

52、s.setBounds(400,60,500,300);this.setVisible(true);this.setResizable(false);this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);/設(shè)置菜單條。this.setJMenuBar(jmb);jmb.add(mima);jmb.add(Message);jmb.add(Score);mima.add(Item1);Message.add(Item2);Score.add(Item3);/添加監(jiān)視器.Item1.addActionListener(this);Item2.addActionListener(this);Item3.addActionListener(this);this.add(jpl);/Sets the layout manager for this container.jpl.setLayout(null);label1.setBounds(100,40,600,20);jpl.add(label1);label2.setBounds(100,60,700,20);jpl.add(l

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論