




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫系統(tǒng)原理數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計(jì)報(bào)告說明書課程設(shè)計(jì)報(bào)告說明書學(xué)生信息管理系統(tǒng)學(xué)生信息管理系統(tǒng)學(xué)生姓名學(xué) 號(hào)所在專業(yè)所在班級(jí)指導(dǎo)教師提交時(shí)間 評(píng)閱情況成 績2目目 錄錄讀書筆記讀書筆記 .11.1. 學(xué)生信息管理系統(tǒng)概述學(xué)生信息管理系統(tǒng)概述.1.1 研究背景.1.2 開發(fā)意義.2.2. 系統(tǒng)需系統(tǒng)需求求分析分析.2.1 開發(fā)環(huán)境和軟件.2.2 系統(tǒng)設(shè)計(jì)與功能分析.3 3 數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì).3.1 系統(tǒng)概念結(jié)構(gòu)設(shè)計(jì).3.2 系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì).3.3 數(shù)據(jù)庫實(shí)現(xiàn).3.3.1 數(shù)據(jù)庫關(guān)系圖.3.3.2 SQL 語句實(shí)現(xiàn).4.4. 系統(tǒng)模塊詳細(xì)設(shè)計(jì)系統(tǒng)模塊詳細(xì)設(shè)計(jì).4.1用戶登錄模塊.4.2 各
2、用戶操作模塊.4.2.1 管理員操作模塊.4.2.2 教師操作模塊.4.2.3 學(xué)生操作模塊.5.5. 系統(tǒng)運(yùn)行與測(cè)試系統(tǒng)運(yùn)行與測(cè)試.5.1 管理員登錄.5.2 教師登錄.5.3 學(xué)生登錄.6 6課程設(shè)計(jì)總結(jié)課程設(shè)計(jì)總結(jié).7附錄(代碼)附錄(代碼).2I讀書筆記關(guān)于網(wǎng)上花店管理系統(tǒng)的讀書筆記關(guān)于網(wǎng)上花店管理系統(tǒng)的讀書筆記: :在網(wǎng)上購物逐步平民化的今天,網(wǎng)上購物人數(shù)不斷增加,現(xiàn)代 IT 技術(shù)和互聯(lián)網(wǎng)的結(jié)合。給了市場(chǎng)創(chuàng)造了無限商機(jī)!我閱讀了一片“網(wǎng)上花店管理系統(tǒng)”的論文。該論文主要研究網(wǎng)上花店管理系統(tǒng)。該系統(tǒng)以 MySQL 作為后臺(tái)數(shù)據(jù)庫,JSP 作為前臺(tái)開發(fā)工具,通過 Java 中的 JDBC
3、 連接數(shù)據(jù)庫。提供給用戶網(wǎng)上瀏覽,購買,支付等功能,同時(shí).管理員對(duì)可以該系統(tǒng)進(jìn)行維護(hù)和管理!SQL Server 安全可靠,性能好,易用性強(qiáng),JSP 的 Web 運(yùn)用跨平臺(tái),系統(tǒng)底層采用 Java 開發(fā)。Java 語言簡單,面向?qū)ο?,安全性高的特點(diǎn),運(yùn)用 Serlvet 模式和Tomcat 服務(wù)器。這幾點(diǎn)的綜合搭配使得該系統(tǒng)靈活方便易用,簡化了動(dòng)態(tài)網(wǎng)站的開發(fā)。網(wǎng)上花店管理系統(tǒng)實(shí)現(xiàn)了用戶注冊(cè),網(wǎng)上訂購支付,留言,購物車,鮮花資料管理和用戶管理,訂單管理等功能。SQl 數(shù)據(jù)庫實(shí)現(xiàn)了用戶注冊(cè)登記信息的存儲(chǔ),和網(wǎng)站資料維護(hù),更新等使得數(shù)據(jù)的管理更加便利,高效JSP 則為用戶提高動(dòng)態(tài)圖形界面,簡化了操作
4、,提高了易用性。 論文還詳細(xì)介紹了系統(tǒng)的邏輯結(jié)構(gòu)設(shè)計(jì),邏輯圖,總功能設(shè)計(jì),和數(shù)據(jù)庫設(shè)計(jì)等。該系統(tǒng)即使是不懂 web 技術(shù)的人也可以熟悉運(yùn)用。開發(fā)工具和數(shù)據(jù)庫的工具有很多,各有各的優(yōu)勢(shì)。在互聯(lián)網(wǎng)大行其道的時(shí)代,電腦技術(shù)順應(yīng)著時(shí)代的發(fā)展,只有我們把握運(yùn)用好各類技術(shù),相互結(jié)合與利用,才能制作出更好的軟件和程序。1廣東海洋大學(xué)本科生課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)信管 1081 班,200811622124,吳曉陽指導(dǎo)教師:鄭贊紅 1.1. 學(xué)生信息管理系統(tǒng)概述學(xué)生信息管理系統(tǒng)概述1.1 研究背景學(xué)生信息管理系統(tǒng)是學(xué)校管理的重要工具,是學(xué)校不可或缺的部分。 隨著在校大學(xué)生人數(shù)的不斷增加,教務(wù)系統(tǒng)的數(shù)量也不斷的
5、上漲, 。學(xué)校工作繁雜、資料眾多,人工管理信息的難度也越來越大,顯然是不能滿足實(shí)際的需要,效率也是很低的。并且這種傳統(tǒng)的方式存在著很多的弊端,如:保密性差、查詢不便、效率低,很難維護(hù)和更新等。然而,本系統(tǒng)針對(duì)以上缺點(diǎn)能夠極大地提高學(xué)生信息管理的效率,也是科學(xué)化、正規(guī)化的管理,與世界接軌的重要條件。所以如何自動(dòng)高效地管理信息是這些年來許多人所研究的。 1.2 開發(fā)意義隨著這些年電腦計(jì)算機(jī)的速度質(zhì)的提高,成本的下降,IT 互聯(lián)網(wǎng)大眾趨勢(shì)的發(fā)展。我們使用電腦的高效率才處理數(shù)據(jù)信息成為可能。 學(xué)生學(xué)籍管理系統(tǒng)的出現(xiàn),正是管理人員與信息數(shù)據(jù),計(jì)算機(jī)的進(jìn)入互動(dòng)時(shí)代的體現(xiàn)。友好的人機(jī)交互模式,清晰簡明的圖形
6、界面,高效安全的操作使得我們對(duì)成千上萬的信息的管理得心應(yīng)手。通過這個(gè)系統(tǒng),可以做到信息的規(guī)范管理,科學(xué)統(tǒng)計(jì)和快速的查詢,從而減少管理方面的工作量毋庸置疑,切實(shí)有效地把計(jì)算機(jī)管理引入學(xué)校教務(wù)管理中,對(duì)于促進(jìn)學(xué)校管理制度,提高學(xué)校教學(xué)質(zhì)量與辦學(xué)水平有著顯著意義廣東海洋大學(xué)本科生課程設(shè)計(jì)2.2. 系統(tǒng)需求分析系統(tǒng)需求分析 2.1 開發(fā)環(huán)境和軟件(1) 操作系統(tǒng):Windows 7 (2) 數(shù)據(jù)庫軟件:SQL Server 2005 (3) Java 開發(fā)工具:Eclipse 2.2 系統(tǒng)設(shè)計(jì)與功能分析 學(xué)生信息管理系統(tǒng),可用于學(xué)校等機(jī)構(gòu)的學(xué)生信息管理,查詢,更新與維護(hù),使用方便,易用性強(qiáng),圖形界面清
7、晰明了。該軟件用 java 語言編寫,用SQLServer2005 數(shù)據(jù)庫作為后臺(tái)的數(shù)據(jù)庫進(jìn)行信息的存儲(chǔ),用 SQL 語句完成學(xué)生學(xué)籍信息的添加,查詢,修改,刪除的操作以及成績的錄入,修改,刪除等。用 ODBC驅(qū)動(dòng)實(shí)現(xiàn)前臺(tái) Java 與后臺(tái) SQL 數(shù)據(jù)庫的連接。Java 語言跨平臺(tái)性強(qiáng),可以在windows,linux,ubuntu 等系統(tǒng)下使用,方便簡單,安全性好。SQLServer2005 數(shù)據(jù)庫高效安全,兩者結(jié)合可相互利用各自的優(yōu)勢(shì)。該系統(tǒng)實(shí)現(xiàn)的大致功能:1用戶登陸界面。該界面可以選擇使用者的身份, “管理員,教師,學(xué)生” 。不同的身份有不同的操作界面和功能權(quán)限。ID 號(hào)和密碼輸入正確
8、即可登錄。學(xué)生管理界面。提供了學(xué)生學(xué)籍信息的查詢,相關(guān)科目的成績查詢和排名,修改登錄密碼等功能。2教師管理界面。提供了對(duì)學(xué)生學(xué)籍信息的查詢,添加,修改,刪除;學(xué)生成績的錄入,修改,刪除,查詢班級(jí)排名。修改密碼等功能。3管理員管理界面。擁有最高的權(quán)限。允許添加教師信息和課程信息等。4登錄的用戶信息分別存儲(chǔ)在 SQL 數(shù)據(jù)庫的“管理員信息表” , “教師信息表” , “學(xué)籍信息表”中,如果用戶信息不存在則三張表中,將會(huì)無權(quán)利登錄本管理系統(tǒng)。保證了本學(xué)生管理系統(tǒng)的安全性。廣東海洋大學(xué)本科生課程設(shè)計(jì)3 3數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)3.1 系統(tǒng)概念結(jié)構(gòu)設(shè)計(jì) 教師教師 ID教師姓名登錄密碼課程課程號(hào)教師 ID課
9、程名稱成績學(xué)號(hào)課程號(hào)成績學(xué)籍性別姓名學(xué)號(hào)籍貫班級(jí)號(hào)總?cè)藬?shù)登錄密碼籍貫班級(jí)名稱班級(jí)號(hào)班級(jí)管理員登錄密碼管理員 ID廣東海洋大學(xué)本科生課程設(shè)計(jì)實(shí)體屬性表:實(shí)體屬性表:實(shí)體屬性教師教師 ID,教師姓名,登錄密碼課程課程號(hào),課程名稱,教師 ID管理員管理員 ID,登錄密碼班級(jí)班級(jí)號(hào),班級(jí)名稱,總?cè)藬?shù)學(xué)籍學(xué)號(hào),姓名,性別,班級(jí)號(hào),籍貫,登錄密碼成績學(xué)號(hào),課程號(hào),成績3.2 系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)教師信息表教師信息表: :字段名字段名 類型類型空值空值約束條件約束條件教師 ID varchar(8)not null主鍵教師姓名varchar(8)not null登錄密碼varchar(8)not null課程信
10、息表:課程信息表:字段名字段名 類型類型空值空值約束條件約束條件課程號(hào) varchar(8)not null主鍵課程名稱varchar(12)not null教師 IDvarchar(8)not null外鍵班級(jí)信息表:班級(jí)信息表:字段名字段名 類型類型空值空值約束條件約束條件班級(jí)號(hào) varchar(8)not null主鍵班級(jí)名稱varchar(8)not null所屬學(xué)院varchar(6)班級(jí)人數(shù)nchar(4)管理員信息表:管理員信息表:字段名字段名 類型類型空值空值約束條件約束條件管理員 ID varchar(10)not null主鍵登錄密碼varchar(10)not null廣
11、東海洋大學(xué)本科生課程設(shè)計(jì)成績信息表:成績信息表:字段名字段名 類型類型空值空值約束條件約束條件班級(jí)號(hào) varchar(15)not null主鍵,外鍵班級(jí)名稱varchar(8)not null主鍵,外鍵所屬學(xué)院smallintnot null學(xué)籍信息表:學(xué)籍信息表:字段名字段名 類型類型空值空值約束條件約束條件學(xué)號(hào)int not null主鍵姓名varchar(30) not null性別char(2)班級(jí)號(hào)varchar(30) not null 外鍵籍貫char(10) 登錄密碼 moneynot null3.3 數(shù)據(jù)庫實(shí)現(xiàn)3.3.1 數(shù)據(jù)庫關(guān)系圖廣東海洋大學(xué)本科生課程設(shè)計(jì)3.3.2SQ
12、L 語句實(shí)現(xiàn)數(shù)據(jù)表的創(chuàng)建:(1)教師信息表創(chuàng)建:create table 教師信息表(教師ID varchar(8) primary key ,教師姓名varchar(8) not null unique,登錄密碼varchar(8) not null,)(2)課程信息表創(chuàng)建:create table 課程信息表(課程號(hào)varchar(8) primary key,課程名稱varchar(12) not null,教師ID varchar(8) not nullforeign key(教師ID) references 教師信息表(教師ID) )(3)班級(jí)信息表創(chuàng)建:create table 班
13、級(jí)信息表(班級(jí)號(hào)varchar(8) not null primary key,班級(jí)名稱varchar(8) not null unique,所屬學(xué)院varchar(8) ,班級(jí)人數(shù) nchar(4) )(4)學(xué)籍信息表創(chuàng)建:create table 學(xué)籍信息表(學(xué)號(hào)varchar(15) primary key,姓名varchar(8) not null ,性別varchar(4) ,班級(jí)號(hào)varchar(8) not null ,籍貫varchar(5) ,登錄密碼varchar(6) not nullforeign key (班級(jí)號(hào)) references 班級(jí)信息表(班級(jí)號(hào))(5)成績
14、信息表創(chuàng)建:create table 成績信息表(學(xué)號(hào)varchar(15),課程號(hào)varchar(8),成績smallint primary key(學(xué)號(hào),課程號(hào))foreign key (學(xué)號(hào)) references 學(xué)籍信息表(學(xué)號(hào)),foreign key (課程號(hào)) references 課程信息表(課程號(hào)))(6)管理員信息表創(chuàng)建:廣東海洋大學(xué)本科生課程設(shè)計(jì)create table 課程信息表(管理員ID varchar(8) primary key,登錄密碼 varchar(12) not null)視圖的創(chuàng)建:(1)“教師課程詳細(xì)信息”視圖創(chuàng)建:create view 教師課程
15、詳細(xì)信息asSELECT 教師信息表.教師ID,教師信息表.教師姓名,課程信息表.課程號(hào),課程信息表.課程名稱,教師信息表.登錄密碼FROM 教師信息表JOIN 課程信息表 ON 教師信息表.教師ID =課程信息表.教師ID(2) “學(xué)生成績信息”視圖創(chuàng)建:create view 學(xué)生成績信息asSELECT 學(xué)籍信息表.學(xué)號(hào),學(xué)籍信息表.姓名,學(xué)籍信息表.性別,課程信息表.課程名稱,成績信息表.成績FROM 成績信息表JOIN 學(xué)籍信息表 ON 成績信息表.學(xué)號(hào) = 學(xué)籍信息表.學(xué)號(hào)JOIN 班級(jí)信息表 ON 班級(jí)信息表.班級(jí)號(hào) = 學(xué)籍信息表.班級(jí)號(hào)JOIN 課程信息表 ON 課程信息表.
16、課程號(hào) = 成績信息表.課程號(hào)存儲(chǔ)過程創(chuàng)建:(1)“單科成績排名”創(chuàng)建: create proc dbo.單科成績排名kechenname char(8),classname char(8)asselect 學(xué)籍信息表.學(xué)號(hào),姓名,成績 from 成績信息表 join 課程信息表on 課程信息表.課程號(hào)=成績信息表.課程號(hào) join 學(xué)籍信息表on 學(xué)籍信息表.學(xué)號(hào)=成績信息表.學(xué)號(hào)join 班級(jí)信息表on 班級(jí)信息表.班級(jí)號(hào)=學(xué)籍信息表.班級(jí)號(hào) where 課程名稱=kechenname and 班級(jí)名稱=classname order by 成績desc(2)“全班排名”創(chuàng)建:create
17、 proc dbo.全班排名廣東海洋大學(xué)本科生課程設(shè)計(jì)class char(8)asselect 學(xué)籍信息表.學(xué)號(hào),姓名, avg(成績) as 平均分,sum(成績) as 總分 from 成績信息表 join 學(xué)籍信息表 on 成績信息表.學(xué)號(hào)=學(xué)籍信息表.學(xué)號(hào)join 班級(jí)信息表 on 班級(jí)信息表.班級(jí)號(hào)=學(xué)籍信息表.班級(jí)號(hào)where 班級(jí)信息表.班級(jí)名稱=classgroup by 學(xué)籍信息表.姓名,學(xué)籍信息表.學(xué)號(hào) order by avg(成績) desc,學(xué)籍信息表.學(xué)號(hào)4.4. 系統(tǒng)模塊詳細(xì)設(shè)計(jì)系統(tǒng)模塊詳細(xì)設(shè)計(jì)4.1 用戶登錄模塊廣東海洋大學(xué)本科生課程設(shè)計(jì)4.2 各用戶操作模塊
18、4.2.1 管理員操作模塊(圖 1)4.2.2 教師操作模塊(圖 2) 圖 1 圖 24.2.3 學(xué)生操作模塊 廣東海洋大學(xué)本科生課程設(shè)計(jì)5.5. 系統(tǒng)運(yùn)行與測(cè)試系統(tǒng)運(yùn)行與測(cè)試5.1 管理員登錄 點(diǎn)擊“管理員”按鈕。輸入正確的 ID 和密碼。驗(yàn)證成功則可進(jìn)入管理員管理界面。管理員ID號(hào)和登錄密碼存在數(shù)據(jù)庫中的管理員信息表。表中存在的管理員才允許登錄。(1)添加教師信息。在彈出的輸入欄中輸入正確的數(shù)據(jù)。 廣東海洋大學(xué)本科生課程設(shè)計(jì)如果輸入重復(fù)的信息則會(huì)彈出。 如果某項(xiàng)未填則彈出。 輸入的數(shù)據(jù)會(huì)分別寫進(jìn)“教師信息表”和“課程信息表”中。 增加的教師信息,允許讓更多的教師登錄本系統(tǒng)進(jìn)行管理操作?。?
19、)修改教師信息 如果要修改的教師信息不存在,則 廣東海洋大學(xué)本科生課程設(shè)計(jì)(3)刪除信息修改 輸入的教師信息不存在,則 (4)查詢教師信息5.2 教師登錄 在登錄界面選擇“教師”按鈕,并輸入正確的 ID 號(hào)和密碼,即可登錄成功!輸入錯(cuò)誤則會(huì)彈出提示!廣東海洋大學(xué)本科生課程設(shè)計(jì) ID 號(hào)輸入正確,登錄成功!進(jìn)入教師管理的操作界面: 廣東海洋大學(xué)本科生課程設(shè)計(jì)(1)顯示學(xué)生信息。 (2)添加學(xué)生信息 新添加的信息會(huì)保存在學(xué)籍信息表中!如果輸入的信息已經(jīng)存在,則顯示 廣東海洋大學(xué)本科生課程設(shè)計(jì)如果輸入的數(shù)據(jù)正確,則 (3)修改學(xué)生信息,輸入正確則顯示! (4) 刪除學(xué)生信息, 廣東海洋大學(xué)本科生課程
20、設(shè)計(jì)(5)錄入學(xué)生成績 (6)修改學(xué)生成績 (7) 刪除學(xué)生成績 廣東海洋大學(xué)本科生課程設(shè)計(jì)(8)查詢學(xué)生成績 (9)所有成績排名 (10)單科成績排名(11)更改登錄密碼廣東海洋大學(xué)本科生課程設(shè)計(jì) 修改成功后即可用新的密碼進(jìn)行登錄!5.3 學(xué)生登錄 廣東海洋大學(xué)本科生課程設(shè)計(jì)輸入正確的 ID 號(hào)和密碼,即可正常登錄?。?) 顯示學(xué)生信息(2) 查詢個(gè)人成績 (3)單科成績排名 (4)全班成績排名廣東海洋大學(xué)本科生課程設(shè)計(jì)(5)修改密碼 修改密碼后會(huì)更新學(xué)生學(xué)籍表里面的登錄密碼,下次就可以用新密碼登錄。點(diǎn)擊 后,就可以安全退出學(xué)生管理系統(tǒng)了!廣東海洋大學(xué)本科生課程設(shè)計(jì)6 6課程設(shè)計(jì)總結(jié)課程設(shè)計(jì)
21、總結(jié)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程. 本次課程設(shè)計(jì)雖然很辛苦,實(shí)在是受益匪淺。本來這門課的知識(shí)學(xué)的就不夠扎實(shí),本次課程設(shè)計(jì),在設(shè)計(jì)過程中碰到了很多問題,剛開始要設(shè)計(jì)的時(shí)候,還真不知道從哪里下手但最終在圖書、同學(xué)和老師的幫助下都得到了解決,讓我學(xué)會(huì)了好多書本上沒有的東西,通過本次課程設(shè)計(jì)我也能將課本上的知識(shí)融會(huì)貫通,起到了很好的輔助學(xué)習(xí)的效果,但是我發(fā)現(xiàn)我學(xué)到的知識(shí)比整整一個(gè)學(xué)期學(xué)到的都多。理論和實(shí)踐的相結(jié)合是學(xué)習(xí)最有效的方法。在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻
22、,掌握得不夠牢固,通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識(shí)重新溫故。 通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。廣東海洋大學(xué)本科生課程設(shè)計(jì) 7附錄(代碼)附錄(代碼)由于篇幅有限,所以只附上主要功能的代碼:由于篇幅有限,所以只附上主要功能的代碼:登陸界面與主功能界面:登陸界面與主功能界面:public class Sql extends JFrame implements ActionListener JFrame mm=new JF
23、rame(您好!請(qǐng)您先登錄!); JTextField t2=new JTextField(null,15); JTextField t4=new JPasswordField(null,15); public String zh=null; JRadioButton b=new JRadioButton(教師);JRadioButton b1=new JRadioButton(學(xué)生);JRadioButton b2=new JRadioButton(管理員); public void jiemian() mm.setSize(300,340); mm.setVisible(true); mm
24、.setLocation(200,300); mm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel t1=new JLabel(ID號(hào):); JLabel t3=new JLabel(密碼:); JButton denglu2=new JButton(登錄); denglu2.setContentAreaFilled(false); Container n=mm.getContentPane(); n.setLayout(null); t1.setBounds(42,125,75,35); t2.setBounds(80,125,1
25、50,35); t3.setBounds(40,180,75,35); t4.setBounds(80,180,150,35); denglu2.setBounds(102,245,70,30); n.add(t1);n.add(t2); n.add(t3); n.add(t4); n.add(denglu2); b.setBounds(130,85,70,30); b1.setBounds(70,85,70,30); b2.setBounds(190,85,70,30); ButtonGroup rg=new ButtonGroup(); b.setSelected(false); b1.s
26、etSelected(true); b1.setSelected(false); n.add(b); n.add(b2); rg.add(b2); rg.add(b); n.add(b1); rg.add(b1); b.setContentAreaFilled(false); b1.setContentAreaFilled(false); b2.setContentAreaFilled(false); denglu2.addActionListener(this); public void actionPerformed(ActionEvent e) 廣東海洋大學(xué)本科生課程設(shè)計(jì) JButton
27、 denglu2=(JButton)e.getSource();if(b.isSelected() zh=t2.getText(); String mima=t4.getText(); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection c=DriverManager.getConnection(jdbc:odbc:學(xué)生信息系統(tǒng)); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); Result
28、Set r=s.executeQuery(select * from 教師信息表 where 教師ID=+zh+ and 登錄密碼=+mima+); r.last(); if(r.getRow()=1) mm.setVisible(false); r.beforeFirst(); while(r.next() JOptionPane.showMessageDialog( null ,r.getString(教師姓名)+老師!您好!歡迎登錄教師管理系統(tǒng)! ) ; JFrame mmm=new JFrame();mmm.setSize(400,420); mmm.setVisible(true);
29、 mmm.setLocation(200,300); mmm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel aaa=new JLabel(學(xué)生信息管理:);JLabel aaa1=new JLabel(學(xué)生成績管理:);JButton b1=new JButton(顯示學(xué)生信息);b1.setBounds(40,45,140,30);JButton b2=new JButton(添加學(xué)生信息);b2.setBounds(200,45,140,30);JButton b3=new JButton(修改學(xué)生信息);b3.setBoun
30、ds(40,90,140,30);JButton b4=new JButton(刪除學(xué)生信息);b4.setBounds(200,90,140,30);JButton b5=new JButton(錄入學(xué)生成績);b5.setBounds(40,170,140,30);JButton b6=new JButton(修改學(xué)生成績);b6.setBounds(200,170,140,30);JButton b7=new JButton(刪除學(xué)生成績);b7.setBounds(40,215,140,30);JButton b8=new JButton(查詢學(xué)生成績);b8.setBounds(20
31、0,215,140,30);JButton b9=new JButton(所有成績排名);b9.setBounds(40,260,140,30);JButton b12=new JButton(單科成績排名);b12.setBounds(200,260,140,30);JButton b10=new JButton(退出系統(tǒng));b10.setBounds(60,325,100,30);JButton b11=new JButton(修改密碼);b11.setBounds(220,325,100,30);aaa.setBounds(15,15,90,30); aaa1.setBounds(15,
32、140,90,30);Container n=mmm.getContentPane();n.setLayout(null);J_ActionListener1 a1=new J_ActionListener1();J_ActionListener2 a2=new J_ActionListener2(); J_ActionListener3 a3=new J_ActionListener3(); J_ActionListener4 a4=new J_ActionListener4(); J_ActionListener5 a5=new J_ActionListener5(); J_ActionL
33、istener7 a7=new J_ActionListener7(); J_ActionListener8 a8=new J_ActionListener8(); J_ActionListener9 a9=new J_ActionListener9(); J_ActionListener10 a10=new J_ActionListener10(); J_ActionListener12 a12=new J_ActionListener12();廣東海洋大學(xué)本科生課程設(shè)計(jì) J_ActionListener11 a11=new J_ActionListener11(); n.add(b1);n
34、.add(b2);n.add(b3);n.add(b4);n.add(b5);n.add(b6); n.add(b7);n.add(b8);n.add(b9);n.add(b10);n.add(aaa);n.add(aaa1);n.add(b11);n.add(b12);b1.addActionListener(a1);b2.addActionListener(a2); b3.addActionListener(a3);b4.addActionListener(a4);b5.addActionListener(a5);b6.addActionListener(a7);b7.addActionL
35、istener(a8);b8.addActionListener(a9); b9.addActionListener(a10); b11.addActionListener(a1)b12.addActionListener(a12); b10.addActionListener(new ActionListener() public void actionPerformed(final ActionEvent e) System.exit(0); );(JComponent) mmm.getContentPane().setOpaque(false); .URL url = Sql.class
36、.getResource(未命名.jpg);ImageIcon img = new ImageIcon(url);JLabel background = new JLabel(img);mmm.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE);background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight(); else JOptionPane.showMessageDialog( null ,教師ID或密碼有誤!請(qǐng)重新輸入!) ; catch(Exc
37、eption e1) e1.printStackTrace(); public static void main(String args) Sql app=new Sql(); app.jiemian(); 向數(shù)據(jù)庫添加新的學(xué)生信息:向數(shù)據(jù)庫添加新的學(xué)生信息:class DataBase / DataBase類public void Add(String xh,String xm,String xb,String bj,String jg,String mm) throws SQLException /為學(xué)籍管理系統(tǒng)添加新記錄 try Class.forName(sun.jdbc.odbc.J
38、dbcOdbcDriver);Connection c=DriverManager.getConnection(jdbc:odbc:學(xué)生信息系統(tǒng)); Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);ResultSet r=s.executeQuery(select * from 學(xué)籍信息表 where 學(xué)號(hào)=+xh+); r.last(); if(r.getRow()=1) JOptionPane.showMessageDialog( null ,該學(xué)號(hào)的學(xué)生信
39、息已存在); Else if(xh.equals() /判斷新輸入的學(xué)號(hào)是否為空 JOptionPane.showMessageDialog( null ,學(xué)號(hào)不能為空); else s.executeUpdate( insert into 學(xué)籍信息表 values (+xh+,+xm+,+xb+,+ bj+,+jg+,+mm+); s.close();c.close();廣東海洋大學(xué)本科生課程設(shè)計(jì) JOptionPane.showMessageDialog( null ,+學(xué)號(hào):+xh+姓名:+xm+ +性別:+xb+班級(jí)號(hào):+bj+ +籍貫:+jg+ +登錄密碼:+mm+學(xué)生記錄添加成功!
40、 ) ; catch (ClassNotFoundException e) JOptionPane.showMessageDialog( null , 數(shù)據(jù)添加異常! ) ; public void DisplayAll(ResultSet r) JFrame m=new JFrame(顯示所有學(xué)生信息);m.setBounds(60,70,700,600);m.setVisible(true);JTextArea aa=new JTextArea();aa.setBounds(0,0,700,600);Container c1=m.getContentPane();c1.setLayout(
41、null);c1.add(aa); try r.last(); aa.append(t學(xué)號(hào)+t+ 姓名+t+性別+t+班級(jí)+t+籍貫+n); r.beforeFirst(); while(r.next() aa.append(第+r.getRow()+行記錄: ); aa.append(r.getString(學(xué)號(hào)); aa.append(t+r.getString(姓名); aa.append(t+r.getString(性別); aa.append(t+r.getString(班級(jí)); aa.append(t+r.getString(籍貫)+n); catch(Exception e) e
42、.printStackTrace(); public void DisplayOne(String str22) throws Exception try Connection c=DriverManager.getConnection(jdbc:odbc:學(xué)生信息系統(tǒng)); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(select 學(xué)號(hào) ,姓名,性別, 班級(jí)名稱 as 班級(jí),籍貫 from 學(xué)籍信息表
43、 join 班級(jí)信息表 on 班級(jí)信息表.班級(jí)號(hào)=學(xué)籍信息表.班級(jí)號(hào) where 學(xué)號(hào)=+str22+); /執(zhí)行查詢的SQL語句 r.last(); int cc=r.getRow(); if(cc=0) JOptionPane.showMessageDialog( null ,未查詢到相關(guān)信息! ) ; elser.beforeFirst(); while(r.next()廣東海洋大學(xué)本科生課程設(shè)計(jì) JOptionPane.showMessageDialog( null ,+ 學(xué)號(hào):+r.getString(學(xué)號(hào))+姓名:+r.getString(姓名)+性別:+r.getString(性
44、別)+ +班級(jí):+r.getString(班級(jí))+籍貫:+r.getString(籍貫)+ 已查詢到相關(guān)記錄! ) ; catch(Exception e) e.printStackTrace(); public void DeleteXh(String str11) /執(zhí)行按學(xué)號(hào)刪除學(xué)生記錄的操作 try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection c=DriverManager.getConnection(jdbc:odbc:學(xué)生信息系統(tǒng)); Statement s=c.createStatement( ResultSet.
45、TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);ResultSet r=s.executeQuery(select * from 學(xué)籍信息表 where 學(xué)號(hào)=+str11+); r.last();if(r.getRow()=1) s.executeUpdate(delete from 學(xué)籍信息表 where 學(xué)號(hào)=+str11+); JOptionPane.showMessageDialog( null , 學(xué)生記錄刪除成功! ) ; else JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無相關(guān)記
46、錄! ); catch(Exception e) public void DeleteXm(String str13) /執(zhí)行按姓名刪除學(xué)生記錄的操作 try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection c=DriverManager.getConnection(jdbc:odbc:學(xué)生信息系統(tǒng)); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);ResultSet r=s.executeQue
47、ry(select * from 學(xué)籍信息表 where 姓名=+str13+); r.last(); if(r.getRow()=1) s.executeUpdate(delete from 學(xué)籍信息表 where 姓名=+str13+); JOptionPane.showMessageDialog( null , 學(xué)生記錄刪除成功! ) ; else JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無相關(guān)記錄! ) ; catch(Exception e) public void UpdateXh(String xg,String str15,Stri
48、ng str16) 廣東海洋大學(xué)本科生課程設(shè)計(jì) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection c=DriverManager.getConnection(jdbc:odbc:學(xué)生信息系統(tǒng)); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);ResultSet r=s.executeQuery(select * from 學(xué)籍信息表 where 學(xué)號(hào)=+xg+); r.last(); if(
49、r.getRow()=1) s.executeUpdate(update 學(xué)籍信息表 set +str15+=+str16+ where 學(xué)號(hào)=+xg+); /直接執(zhí)行SQL語句修改 JOptionPane.showMessageDialog( null , 學(xué)生記錄修改成功! ) ; elseJOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無相關(guān)記錄! ) ; ; catch(Exception e) JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無相關(guān)記錄! ) ; public void UpdateXm(St
50、ring str18,String str19,String str20) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);Connection c=DriverManager.getConnection(jdbc:odbc:學(xué)生信息系統(tǒng));Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(select * from 學(xué)籍信息表 where 姓名=+str18
51、+); r.last(); if(r.getRow()=1) s.executeUpdate(update 學(xué)籍信息表 set +str19+=+str20+ where 姓名=+str18+); /直接執(zhí)行SQL語句修改 JOptionPane.showMessageDialog( null , 學(xué)生記錄修改成功! ) ; elseJOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無相關(guān)記錄! ) ; ; catch(Exception e) JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無相關(guān)記錄! ) ; pub
52、lic void AddScore(String xh,String kch, String cj) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c=DriverManager.getConnection(jdbc:odbc:學(xué)生信息系統(tǒng)); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,廣東海洋大學(xué)本科生課程設(shè)計(jì) ResultSet.CONCUR_UPDATABLE); if(xh.equals()|kch.equals()|cj.equ
53、als() JOptionPane.showMessageDialog( null ,輸入框不允許為空); else ResultSet r=s.executeQuery(select * from 成績信息表 where 學(xué)號(hào)=+xh+ and 課程號(hào)=+kch+); r.last(); int i=Integer.parseInt(cj); if(r.getRow()=1) JOptionPane.showMessageDialog( null ,該學(xué)生該科成績已存在); else s.executeUpdate( insert into 成績信息表 values (+xh+,+kch+,
54、+i+); JOptionPane.showMessageDialog( null ,+學(xué)號(hào):+xh+ +課程號(hào):+kch+成績:+cj+ 學(xué)生成績添加成功! ) ; catch (Exception e) JOptionPane.showMessageDialog( null , 成績輸入的學(xué)號(hào)或者課程號(hào)不存在! ) ; public void UpdateScore(String xh,String kch,String cj) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c=DriverManager.getCo
55、nnection(jdbc:odbc:學(xué)生信息系統(tǒng)); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); if(xh.equals()|kch.equals()|cj.equals() JOptionPane.showMessageDialog( null ,輸入框不允許為空); elseint i=Integer.parseInt(cj); ResultSet r=s.executeQuery(select * from 成績信息表 where 學(xué)號(hào)=+xh
56、+ and 課程號(hào)=+kch+); r.last();if(r.getRow()=1) s.executeUpdate(update 成績信息表 set 成績=+i+ where 學(xué)號(hào)=+xh+ and 課程號(hào)=+kch+); JOptionPane.showMessageDialog( null , 學(xué)生成績修改成功! ) ; else JOptionPane.showMessageDialog( null ,成績表中并無相關(guān)記錄! ) ; ; catch(Exception e) JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無相關(guān)記錄! ) ; p
57、ublic void DeleteScore(String xh,String kch) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c=DriverManager.getConnection(jdbc:odbc:學(xué)生信息系統(tǒng)); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,廣東海洋大學(xué)本科生課程設(shè)計(jì) ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(select * from
58、 成績信息表 where 學(xué)號(hào)=+xh+ and 課程號(hào)=+kch+); r.last(); if(r.getRow()=1) s.executeUpdate(delete from 成績信息表 where 學(xué)號(hào)=+xh+ and 課程號(hào)=+kch+); JOptionPane.showMessageDialog( null , 學(xué)生記錄刪除成功! ) ; else JOptionPane.showMessageDialog( null ,學(xué)籍系統(tǒng)中并無相關(guān)記錄! ); catch(Exception e) public void SearchScore(String xh) JFrame m
59、=new JFrame(學(xué)號(hào)+xh+的各科成績); m.setBounds(60,70,326,320); m.setVisible(true); JTextArea aa=new JTextArea(); aa.setBounds(0,0,326,320); Container c1=m.getContentPane(); c1.setLayout(null); c1.add(aa); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c=DriverManager.getConnection(jdbc:odbc:學(xué)生信息
60、系統(tǒng)); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r1= s.executeQuery(select 學(xué)號(hào),課程名稱,成績 from 成績信息表 join 課程信息表 on 成績信息表.課程號(hào)=課程信息表.課程號(hào) + where 學(xué)號(hào)=+xh+); r1.last(); aa.append(查詢到該學(xué)生+r1.getRow()+科成績+n); r1.beforeFirst(); aa.append( 學(xué)號(hào)+t+ 課程名稱 +t+
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五貿(mào)易委托代理合同
- 二零二五版營業(yè)房租賃簡單合同范例
- 全新電影拍攝保密協(xié)議二零二五年
- 二零二五托老院入住服務(wù)協(xié)議書
- 營業(yè)執(zhí)照借用協(xié)議書
- 二零二五全新減免物業(yè)費(fèi)協(xié)議
- 餐飲聯(lián)營合作協(xié)議二零二五年
- 二零二五各國對(duì)于電子合同法律規(guī)定
- 集體土地的租賃合同
- 協(xié)議離婚和起訴哪個(gè)好
- 初中數(shù)學(xué)-圖形的平移教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 12 清貧 課件教學(xué)課件
- 【復(fù)習(xí)資料】01180電視采訪(復(fù)習(xí)提分要點(diǎn))
- 2023年國家工信部信息中心事業(yè)單位招聘筆試參考題庫(共500題)答案詳解版
- JGT266-2011 泡沫混凝土標(biāo)準(zhǔn)規(guī)范
- 合理自我分析報(bào)告RSA
- GB/T 19670-2023機(jī)械安全防止意外啟動(dòng)
- 財(cái)產(chǎn)保險(xiǎn)實(shí)務(wù)-教案項(xiàng)目1、2走進(jìn)財(cái)產(chǎn)保險(xiǎn)、企業(yè)財(cái)產(chǎn)保險(xiǎn)
- 外科學(xué)教學(xué)課件:結(jié)、直腸與肛管疾病
- 2022年廣東高考政治真題及答案
- 化學(xué)動(dòng)力學(xué)基礎(chǔ)(二)課件
評(píng)論
0/150
提交評(píng)論