基于JAVA學(xué)生信息管理系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)_第1頁(yè)
基于JAVA學(xué)生信息管理系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)_第2頁(yè)
基于JAVA學(xué)生信息管理系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)_第3頁(yè)
基于JAVA學(xué)生信息管理系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)_第4頁(yè)
基于JAVA學(xué)生信息管理系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 畢 業(yè) 設(shè) 計(jì) (論 文)題 目:基于 JAVA 學(xué)生信息管理系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)院 (系): XXX 學(xué)院 專(zhuān) 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 學(xué)生姓名: XXX 班 級(jí): 學(xué) 號(hào): 指導(dǎo)教師: XXXX 2014 年 2 月 20 日摘 要學(xué)生信息管理系統(tǒng)有常見(jiàn)的基本功能,主要包括管理員和學(xué)生兩大模塊。管理員的主要功能有對(duì)學(xué)生信息和課程信息進(jìn)行增加、刪除、修改、查找等操作,對(duì)選課信息進(jìn)行管理,對(duì)成績(jī)信息和用戶(hù)信息進(jìn)行修改、查找等操作。學(xué)生的主要功能有對(duì)學(xué)生信息和成績(jī)信息進(jìn)行查看,對(duì)個(gè)人的密碼信息進(jìn)行修改等。關(guān)鍵詞:系統(tǒng)功能;增加;刪除;修改;查找AbstractStudent information

2、 management system has the basic function of common mainly including administrators and students two modules. The main functions of the administrator of the student information and coursein formation to add, modify, delete, search and other operations, to carry on the management to the course inform

3、ation, modify, search and other operations on the performance information and user information. The main function of student to student information and performance information to view, modify the password of the personal information.Keyword: System function; increase; remove; modification; search目目

4、錄錄引言引言 .1 11 1 功能設(shè)計(jì)功能設(shè)計(jì) .1 11.1 需求分析 .11.2 總體設(shè)計(jì) .11.3 模塊詳細(xì)設(shè)計(jì) .22 2 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì) .4 43 3 界面庫(kù)設(shè)計(jì)界面庫(kù)設(shè)計(jì) .4 43.1 學(xué)生信息管理系統(tǒng)的登錄 .43.1.1 登陸界面設(shè)計(jì).53.1.2 管理員登陸界面設(shè)計(jì).73.1.3 學(xué)生登陸界面設(shè)計(jì).83.2 實(shí)現(xiàn)管理員操作功能的界面 .93.2.1 管理員登陸“學(xué)生信息管理”界面設(shè)計(jì).103.2.2 管理員登陸“課程信息管理”界面設(shè)計(jì).143.2.3 管理員登陸“選課信息管理”界面設(shè)計(jì).193.2.4 管理員登陸“成績(jī)信息管理”界面設(shè)計(jì).213.2.5 管理員登陸

5、“用戶(hù)信息管理”界面設(shè)計(jì).233.3 實(shí)現(xiàn)學(xué)生用戶(hù)操作功能的界面 .263.3.1 學(xué)生登陸“學(xué)生信息管理”界面設(shè)計(jì).263.3.2 學(xué)生登陸“成績(jī)信息管理”界面設(shè)計(jì).283.3.3 學(xué)生登陸“用戶(hù)信息管理”界面設(shè)計(jì).294 4 程序類(lèi)的設(shè)計(jì)程序類(lèi)的設(shè)計(jì) .30305 5、系統(tǒng)的使用說(shuō)明及環(huán)境配置、系統(tǒng)的使用說(shuō)明及環(huán)境配置 .31316 6 結(jié)論結(jié)論.3131參考文獻(xiàn)參考文獻(xiàn) .3232致致 謝謝 .3333引言引言由于學(xué)生信息的冗長(zhǎng)與繁瑣,所以它的管理問(wèn)題帶來(lái)的麻煩和不方便也隨之而來(lái)。利用計(jì)算機(jī)進(jìn)行學(xué)生信息管理,不僅能夠保證準(zhǔn)確、無(wú)誤、快速輸出,而且還可以利用計(jì)算機(jī)對(duì)有關(guān)信息進(jìn)行查詢(xún),檢索迅

6、速、查找方便、可靠性高、存儲(chǔ)量大、保密性好。要科學(xué)地實(shí)現(xiàn)信息化管理,開(kāi)發(fā)一個(gè)適合學(xué)校的,能夠進(jìn)行信息存儲(chǔ)、查詢(xún)、修改等功能的信息管理系統(tǒng)是十分重要的。1 1 功能設(shè)計(jì)正文(首行縮進(jìn)兩個(gè)字,宋體小四號(hào))1.11.1 需求分析需求分析本系統(tǒng)需要實(shí)現(xiàn)的功能:(1) 管理員對(duì)學(xué)生信息和課程信息進(jìn)行增加、刪除、修改、查找等操作,對(duì)選課信息進(jìn)行管理,對(duì)成績(jī)信息和用戶(hù)信息進(jìn)行修改、查找等操作。(2) 學(xué)生對(duì)學(xué)生信息和成績(jī)信息進(jìn)行查看,對(duì)個(gè)人的密碼信息進(jìn)行修改等。1.21.2 總體設(shè)計(jì)總體設(shè)計(jì)學(xué)生信息管理系統(tǒng)主要包括管理員和學(xué)生兩大模塊。管理員模塊包括:學(xué)生信息管理、課程信息管理、選課信息管理、成績(jī)信息管理、

7、用戶(hù)信息管理等。用戶(hù)模塊包括:學(xué)生信息查看、成績(jī)信息查看、個(gè)人信息管理等。系統(tǒng)總體結(jié)構(gòu)如圖所示??傮w結(jié)構(gòu)圖1.3 模塊詳細(xì)設(shè)計(jì)(1)學(xué)生信息管理模塊學(xué)生信息管理模塊包括增加、刪除、修改、查詢(xún)、顯示全部等。具體的結(jié)構(gòu)圖如圖所示。學(xué)生信息管理模塊結(jié)構(gòu)圖(2)課程信息管理模塊課程信息管理模塊包括增加、刪除、修改、查詢(xún)、顯示全部等。具體的結(jié)構(gòu)圖如圖所示課程信息管理模塊結(jié)構(gòu)圖(3)選課信息管理模塊選課信息管理模塊包括查詢(xún)、顯示全部等。具體的結(jié)構(gòu)圖如圖所示。選課信息管理模塊結(jié)構(gòu)圖(4)成績(jī)信息管理模塊成績(jī)信息管理模塊包括修改成績(jī)、查詢(xún)、顯示全部等。具體的結(jié)構(gòu)圖如圖所示。成績(jī)信息管理模塊結(jié)構(gòu)圖(5)用戶(hù)信息

8、管理模塊用戶(hù)信息管理模塊包括修改、查詢(xún)、顯示全部等。具體的結(jié)構(gòu)圖如圖所示。用戶(hù)信息管理模塊結(jié)構(gòu)圖2 2 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)在數(shù)據(jù)庫(kù) student 中共有 4 張數(shù)據(jù)表:s(學(xué)生信息表) 、c(課程信息表) 、sc(選課信息表) 、unpw(用戶(hù)信息表) ,下面定義每張表的字段名稱(chēng)和數(shù)據(jù)類(lèi)型。s(學(xué)生信息表)(學(xué)生信息表)字段名稱(chēng)數(shù)據(jù)類(lèi)型描述snochar (10)學(xué)號(hào),關(guān)鍵字snchar (20)姓名saint年齡sschar (10)性別sdchar (10)院系c(課程信息表)(課程信息表)字段名稱(chēng)數(shù)據(jù)類(lèi)型描述cnochar (10)課程號(hào),關(guān)鍵字cnchar (30)課程名pcnoc

9、har (10)先行課程號(hào)sc(選課信息表)(選課信息表)字段名稱(chēng)數(shù)據(jù)類(lèi)型描述snochar (10)學(xué)號(hào),關(guān)鍵字cnochar (10)課程號(hào),關(guān)鍵字gint成績(jī)unpw(用戶(hù)信息表)(用戶(hù)信息表)字段名稱(chēng)數(shù)據(jù)類(lèi)型描述unchar (10)用戶(hù)名,關(guān)鍵字pwchar (10)密碼qxint角色3 界面庫(kù)設(shè)計(jì)3.13.1 學(xué)生信息管理系統(tǒng)的登錄學(xué)生信息管理系統(tǒng)的登錄學(xué)生信息管理系統(tǒng)可由管理員和學(xué)生兩種身份的人使用。管理員和學(xué)生身份登錄所能操作的功能有很大的區(qū)別。系統(tǒng)初始化一個(gè)系統(tǒng)管理員,登錄名:admin 密碼:admin 學(xué)生登錄系統(tǒng)的登錄名為學(xué)號(hào),密碼也為學(xué)號(hào)(如:10001) ,登錄后可

10、以修改密碼。3.1.13.1.1 登陸界面設(shè)計(jì)登錄界面界面介紹:登陸界面的背景圖片可以自定義,可設(shè)置成學(xué)校的宣傳圖片。用戶(hù)和密碼初始值為:admin/admin。若用戶(hù)有自己相應(yīng)的密碼,可直接填寫(xiě)。角色選擇中的“管理員”有著最高權(quán)限,可以進(jìn)行刪除和修改用戶(hù)等操作;用“學(xué)生”角色登陸,可以查看和修改學(xué)生的個(gè)人信息。 “重置”按鈕用來(lái)清空用戶(hù)名和密碼。 “取消”按鈕則直接退出登陸界面。在輸入相應(yīng)的用戶(hù)名和密碼之后,選擇“角色” ,點(diǎn)擊“登陸” ,則會(huì)進(jìn)入角色與之對(duì)應(yīng)的界面。若輸入的用戶(hù)名或者密碼有誤,則會(huì)彈出“登錄名錯(cuò)誤!”或“密碼錯(cuò)誤!”的提示。代碼解析:(1)按鈕定義主代碼: JLabel u

11、serName = new JLabel(用戶(hù):);JTextField txtUser = new JTextField();JLabel password = new JLabel(密碼:);JPasswordField txtPwd = new JPasswordField(6);JLabel role = new JLabel(角色:);JComboBox cbrole = new JComboBox();JButton btnLogin = new JButton(登錄);JButton btncz = new JButton(重置);JButton btnCancel = new

12、JButton(取消);解析:定義 Button 按鈕,設(shè)置:“登陸” 、 “重置” 、 “取消”按鍵,方便用戶(hù)進(jìn)行操,同時(shí)也顯得更加直觀(guān);定義 JLabel 容器用于用戶(hù)名、密碼的輸入。(2)構(gòu)造方法主代碼: this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.show(); btnLogin.addActionListener(this); cbrole.addItemListener(this); btncz.addActionListener(this); btnCanc

13、el.addActionListener(this);解析:定義事件發(fā)生器,使每個(gè)按鈕和容器都能準(zhǔn)確的執(zhí)行用戶(hù)需要的操作。btnLogin定義的是“登陸”操作;cbrole 定義的是選擇“角色”的操作;btncz 定義的是“重置”操作,可以使用戶(hù)名和密碼刪除,讓用戶(hù)重新進(jìn)行輸入;btnCancel 定義的是“取消”操作,點(diǎn)擊之后,軟件會(huì)執(zhí)行退出命令。(3)連接數(shù)據(jù)庫(kù)主代碼:try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (ClassNotFoundException e) e.printStackTr

14、ace();try con = DriverManager.getConnection(jdbc:sqlserver:/localhost:1433; DatabaseName=student,stmt = con.createStatement(); catch (SQLException e) e.printStackTrace();解析:執(zhí)行“登陸”命令之后,代碼回向 SQL 數(shù)據(jù)庫(kù)對(duì)比,若用戶(hù)名和密碼正確,則進(jìn)入系統(tǒng),不正確則執(zhí)行退出命令。用“try.catch.”命令捕獲異常,若用戶(hù)輸入的用戶(hù)名和密碼正確,則執(zhí)行登陸操作,若不正確,則拋出 Exception 的異常,禁止登陸界面。3

15、.1.23.1.2 管理員登陸界面設(shè)計(jì)管理員登錄系統(tǒng)后的界面界面介紹:此界面是管理員登陸后顯示的界面,可以進(jìn)行“學(xué)生信息管理” 、 “課程信息管理”、 “選課信息管理” 、 “成績(jī)信息管理” 、 “用戶(hù)信息管理”這五項(xiàng)信息管理操作?!皩W(xué)生信息管理”可添加和修改學(xué)生個(gè)人信息,做到不缺不漏學(xué)生的個(gè)人信息;“課程信息管理”可方便教師進(jìn)行排課和選擇相應(yīng)的教室,做到學(xué)校資源有效合理的利用;“選課信息系統(tǒng)”可以方便任課老師調(diào)課和安排課程;“成績(jī)信息管理”可有效的統(tǒng)計(jì)任課老師所在班級(jí)的學(xué)生成績(jī),直觀(guān)的得出平均分和及格率;“用戶(hù)信息管理”可以管理任課老師的個(gè)人信息及登錄密碼。代碼解析:(1)按鈕定義主代碼:

16、JButton btns = new JButton(學(xué)生信息管理);JButton btnc = new JButton(課程信息管理);JButton btnsc = new JButton(選課信息管理);JButton btng = new JButton(成績(jī)信息管理);JButton btnu = new JButton(用戶(hù)信息管理);JButton btnClose = new JButton(退出管理系統(tǒng));JLabel l = new JLabel(管理員);解析:定義 Button 按鈕,設(shè)置:“學(xué)生信息管理” 、 “課程信息管理” 、 “選課信息管理” 、“成績(jī)信息管理

17、” 、 “用戶(hù)信息管理” 、 “退出管理系統(tǒng)”按鍵,方便用戶(hù)進(jìn)行操,同時(shí)也顯得更加直觀(guān);定義 JLabel 容器用于顯示界面處于“管理員”狀態(tài)。(2)構(gòu)造方法主代碼:btns.addActionListener(this);btnc.addActionListener(this);btnsc.addActionListener(this);btng.addActionListener(this);btnu.addActionListener(this);btnClose.addActionListener(this);this.setResizable(false);this.setDefau

18、ltCloseOperation(JFrame.EXIT_ON_CLOSE);show();解析:定義事件發(fā)生器,使每個(gè)按鈕和容器都能準(zhǔn)確的執(zhí)行用戶(hù)需要的操作。btns 定義的是“學(xué)生信息管理”操作;btnc 定義的是“課程信息管理”的操作;btnsc 定義的是“選課信息管理”操作;btng 定義的是“成績(jī)信息管理”的操作;btnu定義的是“用戶(hù)信息管理”的操作;btnClose 定義的是“退出管理系統(tǒng)” ,點(diǎn)擊之后將會(huì)直接退出系統(tǒng)。3.1.33.1.3 學(xué)生登陸界面設(shè)計(jì)學(xué)生登錄系統(tǒng)后的界面界面介紹:此界面是學(xué)生登錄后顯示的界面,可以進(jìn)行“學(xué)生信息查看” 、 “成績(jī)信息查看”“個(gè)人信息查看”的

19、操作。 “學(xué)生信息查看”僅僅只能查看學(xué)生本人的信息,例如:姓名、班別、出生年月、選修課程等;“成績(jī)信息查看”可以查看學(xué)生本人的學(xué)習(xí)成績(jī),包括各個(gè)學(xué)期的成績(jī)和平時(shí)測(cè)驗(yàn)成績(jī);“個(gè)人信息管理”可以修改、添加、刪除學(xué)生本人的信息。代碼解析:(1)按鈕定義主代碼: JButton btns = new JButton(學(xué)生信息查看); JButton btng = new JButton(成績(jī)信息查看); JButton btnu = new JButton(個(gè)人信息管理); JButton btnClose = new JButton(退出管理系統(tǒng));解析:定義 Button 按鈕,設(shè)置:“學(xué)生信息查

20、看” 、 “成績(jī)信息查看” 、 “個(gè)人信息查看” 、“退出管理系統(tǒng)”按鍵,方便用戶(hù)進(jìn)行操,同時(shí)也顯得更加直觀(guān)。(2)構(gòu)造方法主代碼: btns.addActionListener(this); btng.addActionListener(this); btnu.addActionListener(this); btnClose.addActionListener(this); this.setResizable(false); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); show();解析:定義事件發(fā)生器,使每個(gè)按鈕和容器都能準(zhǔn)確

21、的執(zhí)行用戶(hù)需要的操作。btns 定義的是“學(xué)生信息查看”操作;btng 定義的是“成績(jī)信息查看”的操作;btnu 定義的是“個(gè)人信息查看”操作;btnClose 定義的是“退出管理系統(tǒng)”的操作點(diǎn)擊之后將會(huì)直接退出系統(tǒng)。3.23.2 實(shí)現(xiàn)管理員操作功能的界面實(shí)現(xiàn)管理員操作功能的界面管理員的登錄系統(tǒng)后可以進(jìn)行學(xué)生信息管理、課程信息管理、選課信息管理、成績(jī)信息管理、用戶(hù)信息管理等功能操作,其具體界面設(shè)計(jì)如下圖所示。3.2.13.2.1 管理員登陸“學(xué)生信息管理”界面設(shè)計(jì) 學(xué)生信息管理功能的界面界面介紹:此界面為管理員登陸后點(diǎn)擊“學(xué)生信息管理”產(chǎn)生的界面。 “學(xué)生信息管理”可以執(zhí)行“增加” 、 “刪除

22、” 、 “修改” 、 “查詢(xún)” 、 “顯示”的操作。其中“增加”操作可以增加學(xué)生的信息,比如學(xué)號(hào)、姓名、年齡、性別、院系;“刪除”操作可以刪除指定的學(xué)生的信息;在選定所要修改的學(xué)生之后,點(diǎn)擊“修改” ,可以修改選定學(xué)生的相關(guān)信息;點(diǎn)擊“查詢(xún)” ,輸入學(xué)號(hào)或者姓名之后,就會(huì)查詢(xún)到指定學(xué)生的相關(guān)信息。代碼解析:(1)主界面顯示主代碼:try rs = stmt.executeQuery(select * from s);while (rs.next() / 找出表中的記錄數(shù)賦給 ial.add(rs.getString(sno);al.add(rs.getString(sn);al.add(rs.

23、getString(ss);al.add(rs.getInt(sa);al.add(rs.getString(sd);i+; catch (SQLException e) e.printStackTrace();解析:用 stmt.executeQuery(select * from s)調(diào)用數(shù)據(jù)庫(kù)表內(nèi)容,其中al.add(rs.getString(“sno”)為調(diào)用 SQL 中的“學(xué)號(hào)”信息;al.add(rs.getString(sn)為調(diào)用 SQL 中的“姓名”信息;al.add(rs.getString(ss)為調(diào)用數(shù)據(jù)庫(kù)中的“年齡”信息;al.add(rs.getInt(sa)為調(diào)用

24、數(shù)據(jù)庫(kù)中的“性別”信息;al.add(rs.getString(sd)為調(diào)用數(shù)據(jù)庫(kù)中的“院系”信息。用“try.catch”語(yǔ)句捕獲異常,若不能調(diào)用數(shù)據(jù)庫(kù),這會(huì)執(zhí)行 e.printStackTrace()語(yǔ)句,并在命令行打印異常信息在程序中出錯(cuò)的位置及原因。(2)連接數(shù)據(jù)庫(kù)主代碼:try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (ClassNotFoundException e) e.printStackTrace();try con = DriverManager.getConnection(jdb

25、c:sqlserver:/localhost:1433; DatabaseName=student,sa, 123);stmt = con.createStatement(); catch (SQLException e) e.printStackTrace();解析:為了能過(guò)更直觀(guān)的顯示數(shù)據(jù),在學(xué)生信息管理系統(tǒng)里需要調(diào)用數(shù)據(jù)庫(kù)里面的信息。其中 Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver)為調(diào)用系統(tǒng)目錄下的 SQL 程序文件;用“try.catch”語(yǔ)句捕獲異常,若不能調(diào)用數(shù)據(jù)庫(kù),這會(huì)執(zhí)行 e.printStackTra

26、ce()語(yǔ)句,并在命令行打印異常信息在程序中出錯(cuò)的位置及原因。(3)關(guān)閉數(shù)據(jù)庫(kù)主代碼:try stmt.close();con.close(); catch (SQLException e) e.printStackTrace();解析:從數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)到系統(tǒng)之后,就不再需要實(shí)時(shí)刷新了,則需要關(guān)閉數(shù)據(jù)庫(kù)連接,避免占用資源。(4)刪除某個(gè)學(xué)生信息主代碼:try int rs1 = stmt.executeUpdate(delete from s where sno=+ xh + ); stmt.executeUpdate(delete from unpw where un= + xh + );J

27、OptionPane.showMessageDialog(null, 記錄刪除成功!);this.dispose();new SM().display(); catch (SQLException e) e.printStackTrace(); else try int rs1 = stmt.executeUpdate(delete from s where sno=+ mxh + );stmt.executeUpdate(delete from unpw where un= + mxh+ );JOptionPane.showMessageDialog(null, 記錄刪除成功!);this.

28、dispose();new SM().display(); catch (SQLException e) e.printStackTrace();解析:刪除某個(gè)學(xué)生的信息,首先需要選中所要的信息,然后才能執(zhí)行操作,最后同步到數(shù)據(jù)庫(kù)中。其中 int rs1 = stmt.executeUpdate(delete from s where sno=+ xh + )和 int rs1 = stmt.executeUpdate(delete from s where sno=+ mxh + )為選中的所要?jiǎng)h除的數(shù)據(jù)記錄,stmt.executeUpdate(delete from unpw where

29、 un= + xh + )和stmt.executeUpdate(delete from unpw where un= + mxh+ )則是執(zhí)行刪除操作,最后 JOptionPane.showMessageDialog(null, 記錄刪除成功!)則是提示刪除成功。(5)修改某個(gè)學(xué)生的基本信息主代碼:if (row = -1) JOptionPane.showMessageDialog(null, 請(qǐng)選擇要修改的記錄!); else int j1 = 0;try if (!bstd) rs = stmt.executeQuery(select * from s); else rs = stmt

30、.executeQuery(select * from s where sno= + mxh+ );while (rs.next() & j1 = row) xh = rs.getString(sno);xm = rs.getString(sn);nl = rs.getInt(sa);xb = rs.getString(ss);yx = rs.getString(sd);j1+; catch (SQLException e) e.printStackTrace();解析:修改某個(gè)學(xué)生的信息,首先需要選中所要的信息,進(jìn)行判斷,然后才能執(zhí)行操作,最后同步到數(shù)據(jù)庫(kù)中。其中 JOptionPane.s

31、howMessageDialog(null, 請(qǐng)選擇要修改的記錄!)為選中的所要修改的數(shù)據(jù)記錄,用“if.else”語(yǔ)句進(jìn)行判斷是否為用戶(hù)所要修改的數(shù)據(jù)條目,while (rs.next() & j1 = row)語(yǔ)句則找出對(duì)應(yīng)數(shù)據(jù)庫(kù)的數(shù)據(jù)條目進(jìn)行修改。(6)顯示某個(gè)查詢(xún)主代碼:try rs = stmt.executeQuery(select * from s where sno= + mxh + );while (rs.next() playerInfo00 = rs.getString(sno);playerInfo01 = rs.getString(sn);playerInfo02 =

32、 rs.getInt(sa);playerInfo03 = rs.getString(ss);playerInfo04 = rs.getString(sd); catch (SQLException e) e.printStackTrace();if (playerInfo01 = null) this.dispose();JOptionPane.showMessageDialog(null, 學(xué)號(hào)不存在!);new SM().display(); else sTable = new JTable(playerInfo, columnNames);p1.add(sTable);scroll =

33、 new JScrollPane(sTable);this.add(scroll);解析:查詢(xún)某個(gè)學(xué)生的信息,先要知道學(xué)號(hào),才能查詢(xún)到相關(guān)信息。rs = stmt.executeQuery(select * from s where sno= + mxh + )為顯示查詢(xún)出來(lái)的學(xué)生信息;若查詢(xún)的學(xué)號(hào)不存在,則會(huì)執(zhí)行 JOptionPane.showMessageDialog(null, 學(xué)號(hào)不存在!)語(yǔ)句,彈出“學(xué)號(hào)不存在!”的字樣;若查詢(xún)的學(xué)號(hào)正確,執(zhí)行sTable = new JTable(playerInfo, columnNames)語(yǔ)句,連接數(shù)據(jù)庫(kù),顯示學(xué)生信息。3.2.23.2.2

34、 管理員登陸“課程信息管理”界面設(shè)計(jì)課程信息管理功能的界面界面介紹:此界面為管理員登陸后點(diǎn)擊“課程信息管理”產(chǎn)生的界面。 “課程信息管理”可以執(zhí)行“增加” 、 “刪除” 、 “修改” 、 “查詢(xún)” 、 “顯示”的操作。其中“增加”操作可以增加課程的信息,比如課程號(hào)、課程名、先行課程號(hào);“刪除”操作可以刪除指定的課程的信息;在選定所要修改的課程之后,點(diǎn)擊“修改” ,可以修改選定課程的相關(guān)信息;點(diǎn)擊“查詢(xún)” ,輸入課程號(hào)或者課程名之后,就會(huì)查詢(xún)到指定課程的相關(guān)信息。代碼解析:(1)界面布局主代碼:this.setBounds(200, 200, 400, 260);btnAdd.addAction

35、Listener(this);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this);this.setJMenuBar(mb);解析:界面首先定義對(duì)話(huà)框布局 this.setBounds(200, 200, 400, 260),設(shè)置“增加”btnAdd.addActionListener(this)監(jiān)聽(tīng)器, “刪除”btnDelete.addActionListener(this)

36、監(jiān)聽(tīng)器、 “修改”btnAlter.addActionListener(this)監(jiān)聽(tīng)器、 “查詢(xún)”btnSearch.addActionListener(this)監(jiān)聽(tīng)器、 “顯示”btnDisplay.addActionListener(this)監(jiān)聽(tīng)器,確保用戶(hù)使用時(shí)能夠響應(yīng)。(2)連接數(shù)據(jù)庫(kù)主代碼:try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (ClassNotFoundException e) e.printStackTrace();try con = DriverManager.getC

37、onnection(jdbc:sqlserver:/localhost:1433; DatabaseName=student,sa, 123);stmt = con.createStatement(); catch (SQLException e) e.printStackTrace();解析:為了能過(guò)更直觀(guān)的顯示數(shù)據(jù),在學(xué)生信息管理系統(tǒng)里需要調(diào)用數(shù)據(jù)庫(kù)里面的信息。其中 Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);為調(diào)用系統(tǒng)目錄下的 SQL 程序文件;用“try.catch”語(yǔ)句捕獲異常,若不能調(diào)用數(shù)據(jù)庫(kù),這會(huì)執(zhí)行 e

38、.printStackTrace()語(yǔ)句,并在命令行打印異常信息在程序中出錯(cuò)的位置及原因。(3)刪除操作主代碼:if (row = -1) / 判斷要?jiǎng)h除的信息是否被選中JOptionPane.showMessageDialog(null, 請(qǐng)選擇要?jiǎng)h除的記錄!); else if (!bstd) / 判斷選擇的是不是查詢(xún)后的結(jié)果int j1 = 0;try rs = stmt.executeQuery(select * from c);while (rs.next() & j1 = row) / 找出當(dāng)前被選中的記錄在數(shù)據(jù)庫(kù)中的對(duì)應(yīng)kch = rs.getString(cno);kcm =

39、rs.getString(cn);xxkch = rs.getString(pcno);j1+; catch (SQLException e) e.printStackTrace();int i1 = 0;try int rs1 = stmt.executeUpdate(delete from c where cno=+ kch + );/ 刪除數(shù)據(jù)庫(kù)中當(dāng)前被選中的記錄JOptionPane.showMessageDialog(null, 記錄刪除成功!);this.dispose();new CM(課程信息管理).display(); catch (SQLException e) e.pri

40、ntStackTrace(); else try int rs1 = stmt.executeUpdate(delete from c where cno=+ mkch + );/ 刪除數(shù)據(jù)庫(kù)中當(dāng)前被選中的記錄JOptionPane.showMessageDialog(null, 記錄刪除成功!);this.dispose();new CM(課程信息管理).display(); catch (SQLException e) e.printStackTrace();解析:刪除某個(gè)課程信息,首先需要選中所要的信息,然后才能執(zhí)行操作,最后同步到數(shù)據(jù)庫(kù)中。int rs1 = stmt.executeU

41、pdate(delete from c where cno=+ kch + )和 int rs1 = stmt.executeUpdate(delete from c where cno=+ mkch + )是執(zhí)行刪除操作,最后 JOptionPane.showMessageDialog(null, 記錄刪除成功!)則是提示刪除成功。(4)修改操作主代碼:if (row = -1) JOptionPane.showMessageDialog(null, 請(qǐng)選擇要修改的記錄!); else int j1 = 0;try if (!bstd) rs = stmt.executeQuery(sele

42、ct * from c); else rs = stmt.executeQuery(select * from c where cno= + mkch+ );while (rs.next() & j1 = row) kch = rs.getString(cno);kcm = rs.getString(cn);xxkch = rs.getString(pcno);j1+; catch (SQLException e) e.printStackTrace();解析:修改某課程信息,首先需要選中所要的信息,進(jìn)行判斷,然后才能執(zhí)行操作,最后同步到數(shù)據(jù)庫(kù)中。其中 JOptionPane.showMess

43、ageDialog(null, 請(qǐng)選擇要修改的記錄!)為選中的所要修改的數(shù)據(jù)記錄,用“if.else”語(yǔ)句進(jìn)行判斷是否為用戶(hù)所要修改的數(shù)據(jù)條目,while (rs.next() & j1 = row)語(yǔ)句則找出對(duì)應(yīng)數(shù)據(jù)庫(kù)的數(shù)據(jù)條目進(jìn)行修改。(5)查詢(xún)操作主代碼:try rs = stmt.executeQuery(select * from c where cno= + mkch + );while (rs.next() playerInfo00 = rs.getString(cno);playerInfo01 = rs.getString(cn);playerInfo02 = rs.getS

44、tring(pcno); catch (SQLException e) e.printStackTrace();if (playerInfo01 = null) this.dispose();JOptionPane.showMessageDialog(null, 課程號(hào)不存在!);new CM(課程信息管理).display(); else sTable = new JTable(playerInfo, columnNames);p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);解析:查詢(xún)某課程信息,先要知道學(xué)號(hào),

45、才能查詢(xún)到相關(guān)信息。rs = stmt.executeQuery(select * from c where cno= + mkch + )為顯示查詢(xún)出來(lái)的學(xué)生信息;若查詢(xún)的學(xué)號(hào)不存在,則會(huì)執(zhí)行 JOptionPane.showMessageDialog(null, 課程號(hào)不存在!)語(yǔ)句,彈出“課程號(hào)不存在!”的字樣;若查詢(xún)的學(xué)號(hào)正確,執(zhí)行 sTable = new JTable(playerInfo, columnNames)語(yǔ)句,連接數(shù)據(jù)庫(kù),顯示課程信息。3.2.33.2.3 管理員登陸“選課信息管理”界面設(shè)計(jì)選課信息管理功能的界面界面介紹:此界面為管理員登陸后點(diǎn)擊“選課信息管理”產(chǎn)生的界

46、面。 “選課信息管理”可以執(zhí)行“查詢(xún)”和“顯示”的操作。點(diǎn)擊“查詢(xún)” ,輸入學(xué)號(hào)或者課程號(hào)之后,就會(huì)查詢(xún)到相應(yīng)課程的信息;選擇某個(gè)學(xué)號(hào),點(diǎn)擊“顯示” ,能夠更直觀(guān)的了解某個(gè)學(xué)生的個(gè)人信息。代碼解析:(1)連接數(shù)據(jù)庫(kù)主代碼:try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (ClassNotFoundException e) e.printStackTrace();try con = DriverManager.getConnection(jdbc:sqlserver:/localhost:1433; D

47、atabaseName=student,sa, 123);stmt = con.createStatement(); catch (SQLException e) e.printStackTrace();解析:為了能過(guò)更直觀(guān)的顯示數(shù)據(jù),在學(xué)生信息管理系統(tǒng)里需要調(diào)用數(shù)據(jù)庫(kù)里面的信息。其中 Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver)為調(diào)用系統(tǒng)目錄下的 SQL 程序文件;用“try.catch”語(yǔ)句捕獲異常,若不能調(diào)用數(shù)據(jù)庫(kù),這會(huì)執(zhí)行 e.printStackTrace()語(yǔ)句,并在命令行打印異常信息在程序中出錯(cuò)的位置及原因

48、。(2)顯示某個(gè)查詢(xún)結(jié)果主代碼:try rs = stmt.executeQuery(select * from sc where sno= + mscxh + );while (rs.next() playerInfoj0 = rs.getString(sno);playerInfoj1 = rs.getString(cno);playerInfoj2 = rs.getString(g);j+; catch (SQLException e) e.printStackTrace();if (playerInfo01 = null) this.dispose();JOptionPane.show

49、MessageDialog(null, 課程號(hào)不存在!);new SCM(選課信息管理).display(); else sTable = new JTable(playerInfo, columnNames);p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);解析:查詢(xún)選課信息,先要知道課程號(hào),才能查詢(xún)到相關(guān)信息。executeQuery(select * from sc where sno= + mscxh + )為顯示查詢(xún)出來(lái)的課程信息;若查詢(xún)的課程號(hào)不存在,則會(huì)執(zhí)行 JOptionPane.showMess

50、ageDialog(null, 課程號(hào)不存在!)語(yǔ)句,彈出“課程號(hào)不存在!”的字樣;若查詢(xún)的學(xué)號(hào)正確,執(zhí)行 sTable = new JTable(playerInfo, columnNames)語(yǔ)句,連接數(shù)據(jù)庫(kù),顯示課程信息。3.2.43.2.4 管理員登陸管理員登陸“成績(jī)信息管理成績(jī)信息管理”界面設(shè)計(jì)界面設(shè)計(jì)成績(jī)信息管理功能的界面界面介紹:此界面為管理員登陸后點(diǎn)擊“成績(jī)信息管理”產(chǎn)生的界面。 “成績(jī)信息管理”可以執(zhí)行“修改成績(jī)” 、 “查詢(xún)” 、 “顯示”的操作。選中所要修改的學(xué)號(hào),點(diǎn)擊“修改成績(jī)”可以修改指定學(xué)生的成績(jī)信息;點(diǎn)擊“查詢(xún)” ,輸入學(xué)號(hào)之后,就會(huì)查詢(xún)到相應(yīng)成績(jī)的信息;選擇某個(gè)

51、學(xué)號(hào),點(diǎn)擊“顯示” ,能夠更直觀(guān)的了解某個(gè)學(xué)生的成績(jī)信息。代碼解析:(1)連接數(shù)據(jù)庫(kù)主代碼:try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (ClassNotFoundException e) e.printStackTrace();try con = DriverManager.getConnection(jdbc:sqlserver:/localhost:1433; DatabaseName=student,sa, 123);stmt = con.createStatement(); catch

52、(SQLException e) e.printStackTrace();解析:為了能過(guò)更直觀(guān)的顯示數(shù)據(jù),在學(xué)生信息管理系統(tǒng)里需要調(diào)用數(shù)據(jù)庫(kù)里面的信息。其中 Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver)為調(diào)用系統(tǒng)目錄下的 SQL 程序文件;用“try.catch”語(yǔ)句捕獲異常,若不能調(diào)用數(shù)據(jù)庫(kù),這會(huì)執(zhí)行 e.printStackTrace()語(yǔ)句,并在命令行打印異常信息在程序中出錯(cuò)的位置及原因。(2)修改成績(jī)信息主代碼:if (row = -1) / 判斷要修改的信息是否被選中JOptionPane.showMessag

53、eDialog(null, 請(qǐng)選擇要修改的記錄!); else int j1 = 0;try if (!bstd) / 判斷選擇的是不是查詢(xún)后的結(jié)果rs = stmt.executeQuery(select * from sc,c where o=o); else rs = stmt.executeQuery(select * from sc,c where o=o and sno=+ mxh + );while (rs.next() & j1 = row) kch = rs.getString(sno);kcm = rs.getString(cn);xxkch = rs.getString(

54、g);j1+; catch (SQLException e) e.printStackTrace();解析:修改某個(gè)學(xué)生的成績(jī)信息,首先需要選中所要的信息,進(jìn)行判斷,然后才能執(zhí)行操作,最后同步到數(shù)據(jù)庫(kù)中。其中 JOptionPane.showMessageDialog(null, 請(qǐng)選擇要修改的記錄!)為選中的所要修改的數(shù)據(jù)記錄,用“if.else”語(yǔ)句進(jìn)行判斷是否為用戶(hù)所要修改的數(shù)據(jù)條目,while (rs.next() & j1 = row)語(yǔ)句則找出對(duì)應(yīng)數(shù)據(jù)庫(kù)的數(shù)據(jù)條目進(jìn)行修改。3.2.53.2.5 管理員登陸“用戶(hù)信息管理”界面設(shè)計(jì)用戶(hù)信息管理功能的界面界面介紹:此界面為管理員登陸后點(diǎn)

55、擊“用戶(hù)信息管理”產(chǎn)生的界面。 “用戶(hù)信息管理”可以執(zhí)行“修改” 、 “查詢(xún)” 、 “顯示”的操作。選擇所要修改的用戶(hù)名,點(diǎn)擊“修改”,可以修改用戶(hù)的用戶(hù)名和密碼;當(dāng)忘記用戶(hù)的密碼時(shí),只需要在“查詢(xún)”下輸入用戶(hù)名,就可以查詢(xún)到相應(yīng)的密碼;“顯示”功能可以更直觀(guān)的顯示出所有的用戶(hù)名和密碼。代碼解析:(1)連接數(shù)據(jù)庫(kù)主代碼:try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (ClassNotFoundException e) e.printStackTrace();try con = DriverManag

56、er.getConnection(jdbc:sqlserver:/localhost:1433; DatabaseName=student,sa, 123);stmt = con.createStatement(); catch (SQLException e) e.printStackTrace();解析:為了能過(guò)更直觀(guān)的顯示數(shù)據(jù),在學(xué)生信息管理系統(tǒng)里需要調(diào)用數(shù)據(jù)庫(kù)里面的信息。其中 Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver)為調(diào)用系統(tǒng)目錄下的 SQL 程序文件;用“try.catch”語(yǔ)句捕獲異常,若不能調(diào)用數(shù)據(jù)庫(kù),

57、這會(huì)執(zhí)行 e.printStackTrace()語(yǔ)句,并在命令行打印異常信息在程序中出錯(cuò)的位置及原因。(2)修改操作主代碼:if (row = -1) JOptionPane.showMessageDialog(null, 請(qǐng)選擇要修改的記錄!); else int j1 = 0;try if (!bstd) rs = stmt.executeQuery(select * from unpw where qx=1); else rs = stmt.executeQuery(select * from unpw where qx=1 and un=+ myh + );while (rs.next

58、() & j1 = row) yh = rs.getString(un);mm = rs.getString(pw);j1+; catch (SQLException e) e.printStackTrace();UAdd uadd = new UAdd();uadd.setTitle(修改);uadd.tun.setText(yh);uadd.tpw.setText(mm);uadd.tun.setEnabled(false);this.dispose();解析:修改某個(gè)學(xué)生用戶(hù)的信息,首先需要選中所要的信息,進(jìn)行判斷,然后才能執(zhí)行操作,最后同步到數(shù)據(jù)庫(kù)中。其中 JOptionPane.sh

59、owMessageDialog(null, 請(qǐng)選擇要修改的記錄!)為選中的所要修改的數(shù)據(jù)記錄,用“if.else”語(yǔ)句進(jìn)行判斷是否為用戶(hù)所要修改的數(shù)據(jù)條目,while (rs.next() & j1 = row)語(yǔ)句則找出對(duì)應(yīng)數(shù)據(jù)庫(kù)的數(shù)據(jù)條目進(jìn)行修改。(3)查詢(xún)操作主代碼:try rs = stmt.executeQuery(select * from unpw where qx=1 and un=+ myh + );while (rs.next() playerInfo00 = rs.getString(un);playerInfo01 = rs.getString(pw); catch (

60、SQLException e) e.printStackTrace();if (playerInfo01 = null) this.dispose();JOptionPane.showMessageDialog(null, 用戶(hù)不存在!);new PM(用戶(hù)信息管理).display(); else sTable = new JTable(playerInfo, columnNames);p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);解析:查詢(xún)學(xué)生用戶(hù)信息,先要知道用戶(hù)名,才能查詢(xún)到相關(guān)的信息。其中代碼段tmt

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論