Java程序課程設(shè)計(jì)_第1頁(yè)
Java程序課程設(shè)計(jì)_第2頁(yè)
Java程序課程設(shè)計(jì)_第3頁(yè)
Java程序課程設(shè)計(jì)_第4頁(yè)
Java程序課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

揚(yáng)州大學(xué)數(shù)學(xué)科學(xué)學(xué)院java程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告姒課題:一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理信息系統(tǒng)姓名:學(xué)號(hào):-班級(jí):指導(dǎo)教師:時(shí)間:12月20日?qǐng)F(tuán)隊(duì)完成:考核結(jié)果

緒論

(內(nèi)容:要求小四號(hào)字體)此次課題是一個(gè)簡(jiǎn)單的學(xué)生管理系統(tǒng),該課題涉及數(shù)據(jù)庫(kù)、Java等領(lǐng)域。要求達(dá)到以下功能:能夠根據(jù)學(xué)生姓名、學(xué)號(hào)、班級(jí)、課程名稱查詢具體內(nèi)容。能夠?qū)崿F(xiàn)按照單科成績(jī)、總成績(jī)、平均成績(jī)、學(xué)號(hào)排序。能夠?qū)崿F(xiàn)學(xué)生信息的插入、刪除和修改。能夠查詢每個(gè)課程的最高分、最低分及相應(yīng)學(xué)生姓名、班級(jí)和學(xué)號(hào)。能夠查詢每個(gè)班級(jí)某門課程的優(yōu)秀率(90分及以上)、不及格率,并進(jìn)行排序。能夠使用圖形界面進(jìn)行操作。要實(shí)現(xiàn)這些功能需要熟練使用數(shù)據(jù)庫(kù)和Java編程語(yǔ)言,并且能夠?qū)崿F(xiàn)數(shù)據(jù)庫(kù)和Java的連接。設(shè)計(jì)思路(內(nèi)容:要求小四號(hào)字體)?數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)成績(jī)查詢系統(tǒng)1)建立數(shù)據(jù)庫(kù)表格:將班級(jí)、姓名、學(xué)號(hào)、成績(jī)等具體信息錄入數(shù)據(jù)庫(kù)。?數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)成績(jī)查詢系統(tǒng)學(xué)號(hào)姓名班級(jí)語(yǔ)文數(shù)學(xué)英語(yǔ)?系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)學(xué)生成績(jī)信息表字段名屬性類型空值約束條件學(xué)號(hào)ID文本notnull主鍵姓名name文本從鍵班級(jí)class文本從簡(jiǎn)語(yǔ)文Chinese長(zhǎng)整數(shù)英語(yǔ)English長(zhǎng)整數(shù)數(shù)學(xué)Maths長(zhǎng)整數(shù)

?數(shù)據(jù)庫(kù)截圖學(xué)號(hào)姓名班綴語(yǔ)文英語(yǔ)數(shù)學(xué)12070111901&9.089.009.0120702101陳麗芳166.077.0SS.0120702102陳美排01S9.CS9.0S9.0120702114吳誠(chéng)誠(chéng)0139.089.039.0120702203陳秋蕃0290.0go.ogo.o120702211差國(guó)慧0266.C66.066.0利用Java實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接,使其可以調(diào)用數(shù)據(jù)庫(kù)表格中的內(nèi)容。具體截圖如下:iProblemsiProblems即Javadoc燧Declaration妥ConsoleSSQLResults町DEBrowser£3QMyEclipseDerby0MySQL或R.eierencedLib-rsrie5i雖:mysql-connector-java-S.l.S-Catalog;|jsdl4O7fo]neurfile.sql笠、M前nFrwrr巳jav日]仙[盹珪r(shí)tjmv?]場(chǎng)Mod曲)紳a]■Catalog;|jsdl4O7CmdSep;;AConne-ction;MySQLCmdSep;;-last.nrisnt:<Java程序編寫思路:主要編寫了5個(gè)類:將添加數(shù)據(jù)、查詢數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)四個(gè)功能分別為四個(gè)類來(lái)實(shí)現(xiàn),此外還有一個(gè)主類用于實(shí)現(xiàn)面板。Insert類:功能組件6個(gè)文本域、6個(gè)標(biāo)簽、1個(gè)按鈕功能實(shí)現(xiàn)添加數(shù)據(jù)實(shí)現(xiàn)過(guò)程對(duì)按鈕添加監(jiān)控,實(shí)現(xiàn)按鈕事件為獲取文本域中的信息,并執(zhí)行SQL的INSERT語(yǔ)句。Delete類:功能組件1個(gè)單行文本、1個(gè)標(biāo)簽、1個(gè)按鈕、1個(gè)多行文本功能實(shí)現(xiàn)刪除數(shù)據(jù)實(shí)現(xiàn)過(guò)程與修改數(shù)據(jù)類似,對(duì)按鈕添加監(jiān)控,實(shí)現(xiàn)按鈕事件為獲取文本域中的學(xué)號(hào)信息,并執(zhí)行SQL的DELETE語(yǔ)句;不同的是以學(xué)號(hào)為主鍵進(jìn)行查找并將刪除信息輸出到文本框中。Modify類:功能組件6個(gè)單行文本、6個(gè)標(biāo)簽、1個(gè)按鈕功能實(shí)現(xiàn)修改數(shù)據(jù)實(shí)現(xiàn)過(guò)程與添加數(shù)據(jù)類似,對(duì)按鈕添加監(jiān)控,實(shí)現(xiàn)按鈕事件為獲取文本域中的信息,并執(zhí)行SQL的UPDATE語(yǔ)句;不同的是以學(xué)號(hào)為主鍵進(jìn)行查找并更新。Query類:功能組件5個(gè)按鈕、三個(gè)單行文本組件、1個(gè)下拉框、1個(gè)多行文本功能實(shí)現(xiàn)按學(xué)號(hào)查詢、按姓名查詢、按班級(jí)查詢、按課程查詢、顯示全部實(shí)現(xiàn)過(guò)程對(duì)按鈕添加監(jiān)控,共有五個(gè)監(jiān)控事件,前三個(gè)實(shí)現(xiàn)按鈕事件為先獲取文本域中的信息,根據(jù)對(duì)應(yīng)查詢的要求執(zhí)行相應(yīng)的SQL的SELLECT語(yǔ)句;按課程查詢通過(guò)在下來(lái)框中選擇對(duì)應(yīng)的選項(xiàng),即查詢相應(yīng)的課程;第五個(gè)查詢按鈕將全部信息在多行文本框中輸出。MyFrame類:主類,實(shí)現(xiàn)面板,可在其上進(jìn)行對(duì)插入、刪除、修改、查詢等方法的調(diào)用,并且對(duì)界面進(jìn)行了設(shè)計(jì)和規(guī)劃。4)界面設(shè)計(jì):功能組件4個(gè)按鈕、1個(gè)背景、1個(gè)標(biāo)簽文本、1個(gè)面板功能實(shí)現(xiàn)查詢數(shù)據(jù)、添加數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)實(shí)現(xiàn)過(guò)程對(duì)按鈕添加監(jiān)控,共有4個(gè)監(jiān)控事件,實(shí)現(xiàn)按鈕事件為創(chuàng)建對(duì)應(yīng)得得得得得得得功能的類對(duì)象,出現(xiàn)相應(yīng)的功能窗口。截圖如下:?—___"圖學(xué)朝演理熟IDI回密添加敦?fù)?jù)萱間戮據(jù)修改敦is刪蹄教據(jù)算法實(shí)現(xiàn)及分析(內(nèi)容:要求小四號(hào)字體)1.主界面1Corn2.添加數(shù)據(jù)提示X握痘?①.6士學(xué)生成績(jī)管理系統(tǒng)□nsoleESQLRequite修改數(shù)據(jù)確走

刪除數(shù)據(jù)1.主界面1Corn2.添加數(shù)據(jù)提示X握痘?①.6士學(xué)生成績(jī)管理系統(tǒng)□nsoleESQLRequite修改數(shù)據(jù)確走查詢數(shù)據(jù)按學(xué)號(hào)查詢'圖查詢數(shù)指推學(xué)號(hào)亶何120702203技雄名查旬技珈級(jí)查間學(xué)號(hào)120702203娃名陳秋春班如語(yǔ)文0290.0英語(yǔ)法學(xué)90.090.0按姓名查詢按學(xué)號(hào)查間.|1叫網(wǎng)些咯.技姓名查間帆三|成班袈;學(xué)號(hào)姓名嚇級(jí),語(yǔ)女英語(yǔ)教學(xué)120702105聯(lián)三0590.090.090.0按班級(jí)查詢二《]蒲推學(xué)號(hào)查間120702203技姓名查間乖三技踮級(jí)查H學(xué)號(hào)1207011191207021021207021U姓名班級(jí)語(yǔ)立葉依0189.0陳美琳0189.0吳誠(chéng)誠(chéng)01&9.0英語(yǔ)數(shù)學(xué)89.009.009.089.089.039.Q按課程名稱查詢

按學(xué)號(hào)查何枝口網(wǎng)2203按姓名查問(wèn)|張三I摧h急查間”I投課程名將查聞n語(yǔ)安*120701113120702102120702106120702114120702203120702211(5)顯示所有信息I公斂淚底秋國(guó)交.O.O.O.G1FC按學(xué)號(hào)查何枝口網(wǎng)2203按姓名查問(wèn)|張三I摧h急查間”I投課程名將查聞n語(yǔ)安*120701113120702102120702106120702114120702203120702211(5)顯示所有信息I公斂淚底秋國(guó)交.O.O.O.G1FC0909061■8I896Q-DDD9^1122wo-JooOJJ15oO4盂學(xué)與垣囪了02203|吐右斑M(jìn)l||弓長(zhǎng)三技跛嫁直囪學(xué)號(hào)120701"I~1□-1ZD7OZ1OZ12070210512OTD^d1^12CTO^2O31SOT05211幅散笑三誠(chéng)秋圖蚯象i吾立□rss.oe曰日.口OS90.DOdsa.og^0.002SS.Q英語(yǔ)教學(xué)BQ.OSO.OB9.0S9.D90.090089.083.C90.0SO.O6B.0BB.O運(yùn)行與調(diào)試過(guò)程中遇到的如下的問(wèn)題(1)數(shù)據(jù)庫(kù)的鏈接出現(xiàn)問(wèn)題,導(dǎo)致表格找不到。解決方法:重新建表(2)編譯時(shí)系統(tǒng)沒(méi)有提示錯(cuò)誤,但是運(yùn)行的界面中某些接口不能實(shí)現(xiàn)。解決方法:經(jīng)檢查發(fā)現(xiàn)是連接數(shù)據(jù)庫(kù)的密碼錯(cuò)誤,改正后可以運(yùn)行。此程序還存在下列不完善的地方(1)面板設(shè)計(jì)較為單調(diào),欠缺調(diào)色,還可以在面板上添加制作人等信息。(2)在添加信息時(shí),光標(biāo)可以依靠鍵盤上下移動(dòng),不需要鼠標(biāo)點(diǎn)擊,這樣可以更方便快捷。(3)修改數(shù)據(jù)的界面比例不是很協(xié)調(diào)(4)修改數(shù)據(jù)的源代碼不能實(shí)現(xiàn)選擇性的修改:例如根據(jù)學(xué)號(hào)修改姓名。(5)顯示信息不能做到數(shù)據(jù)的對(duì)齊,使得界面不美觀。(6)第一次查詢用的信息不能自動(dòng)更新,導(dǎo)致后面的查詢給人一種凌亂感:例如先使用學(xué)號(hào)120702119查詢,再使用姓名“張三”查詢,此時(shí)上一個(gè)學(xué)號(hào)的信息還保留,并不能更新到“張三”的學(xué)號(hào)。沒(méi)有退出的按鈕,尚未實(shí)現(xiàn)退出語(yǔ)句。設(shè)計(jì)體會(huì)與小結(jié)(內(nèi)容:要求小四號(hào)字體)選擇“一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng)”作為這一次的課題,是因?yàn)檫@個(gè)課題主要運(yùn)用的是Java與數(shù)據(jù)庫(kù)的相關(guān)知識(shí),而這個(gè)學(xué)期,我們正好學(xué)習(xí)了這兩門課程,在這個(gè)課題中Java與數(shù)據(jù)庫(kù)知識(shí)的結(jié)合,是對(duì)這兩個(gè)課程理解學(xué)習(xí)成果的一個(gè)雙重考察。第一步,我們確定了課程的整體思路。首先在數(shù)據(jù)庫(kù)中建好相關(guān)表格,然后將數(shù)據(jù)庫(kù)連接到Java,最后運(yùn)用Java編程實(shí)現(xiàn)相關(guān)界面與系統(tǒng)功能。思路確定后,在具體實(shí)現(xiàn)過(guò)程中,我們遇到了一些問(wèn)題。首先我們對(duì)Java連接數(shù)據(jù)庫(kù)的相關(guān)知識(shí)不是特別清楚,其次應(yīng)用Java編程實(shí)現(xiàn)相關(guān)界面不是彳艮熟練。為了解決這些問(wèn)題,順利完成課題,我們查閱了相關(guān)的資料并且請(qǐng)教了上一屆的學(xué)長(zhǎng),了解了什么叫做架包,知道了怎么實(shí)現(xiàn)數(shù)據(jù)庫(kù)與myeclipse的連接,如何在myeclipse的環(huán)境中使用建表語(yǔ)句以及實(shí)現(xiàn)相關(guān)界面。有了這些知識(shí)作為基礎(chǔ),我們的課程設(shè)計(jì)便走上了正軌。首先,我們?cè)跀?shù)據(jù)庫(kù)中建立了包含學(xué)生學(xué)號(hào)、姓名、班級(jí),語(yǔ)文、數(shù)學(xué)、英語(yǔ)成績(jī)的數(shù)據(jù)的表格,然后Java中建立了架包,建立ConnectionUtil類,獲得與數(shù)據(jù)庫(kù)的連接,最后就是在myeclipse環(huán)境下,運(yùn)用Java語(yǔ)句,將添加數(shù)據(jù)、查詢數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)四個(gè)功能分為四個(gè)類來(lái)實(shí)現(xiàn),另外用一個(gè)主類實(shí)現(xiàn)面板,可在其上進(jìn)行插入、刪除、修改、查詢等功能,并且對(duì)界面進(jìn)行了設(shè)計(jì)和規(guī)劃。在這個(gè)過(guò)程中,我們遇到了許多問(wèn)題,如數(shù)據(jù)庫(kù)連接不上,程序編譯沒(méi)有錯(cuò)誤,但功能無(wú)法實(shí)現(xiàn)等,學(xué)長(zhǎng)都給了我們很大幫助,一次次修改嘗試,最終得到了現(xiàn)在的版本,雖然有許多不足與缺點(diǎn),但是課題順利完成仍是給了我們很大的滿足感,也讓我們體會(huì)到了程序員的辛苦。通過(guò)這次課題的研究,讓我充分認(rèn)識(shí)到了自己距離一個(gè)合格的程序員還很遠(yuǎn),認(rèn)識(shí)到自己相關(guān)知識(shí)的的儲(chǔ)備量還很少,對(duì)現(xiàn)在所學(xué)的Java及數(shù)據(jù)庫(kù)課程的掌握程度還不夠,但是在這個(gè)過(guò)程中我也學(xué)習(xí)到了很多相關(guān)知識(shí),充分的認(rèn)識(shí)到要想學(xué)好編程語(yǔ)言,就必須勤動(dòng)手,要經(jīng)常練習(xí),才能熟練掌握每一種方法,光靠大腦的記憶是遠(yuǎn)遠(yuǎn)不夠的,只能是紙上談兵。在以后的課程學(xué)習(xí)中,我一定會(huì)更加重視實(shí)踐練習(xí),養(yǎng)成良好的編程習(xí)慣,這樣才能做一個(gè)合格的程序員。剛看到這個(gè)課題的時(shí)候,就先大體確定了整體思路,這個(gè)課題要求熟悉數(shù)據(jù)庫(kù),Java編程。實(shí)現(xiàn)過(guò)程中我們需要先在數(shù)據(jù)庫(kù)中建立好表,再進(jìn)行好與Java的連接,再運(yùn)用myeclipse編程。思路有了,但真正實(shí)施的時(shí)候出現(xiàn)了很多問(wèn)題。通過(guò)相關(guān)資料的查詢和請(qǐng)教上一屆的學(xué)長(zhǎng),在Java中建立了架包,建立ConnectionUtil類,獲得與數(shù)據(jù)庫(kù)JSD1407的連接,在編程語(yǔ)言環(huán)境下寫好建表語(yǔ)言,添加包含學(xué)生學(xué)號(hào)、姓名、班級(jí),語(yǔ)文、數(shù)學(xué)、英語(yǔ)成績(jī)的數(shù)據(jù)。與數(shù)據(jù)庫(kù)的連接出現(xiàn)了表丟失的現(xiàn)象、要實(shí)現(xiàn)這個(gè)學(xué)生成績(jī)管理系統(tǒng),需要一個(gè)主類,以及涉及插入,刪除,查詢,修改的子類,在主類中調(diào)用,達(dá)到效果。由于對(duì)Java語(yǔ)句沒(méi)有很熟悉的掌握,導(dǎo)致很多代碼顯得累贅?lè)爆崱T诮缑嫔?,建立?個(gè)按鈕、1個(gè)背景、1個(gè)標(biāo)簽文本、1個(gè)面板,參考文獻(xiàn)(內(nèi)容:要求五號(hào)字體)數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ)教程(第三版)機(jī)械工業(yè)出版社Java程序設(shè)計(jì)(第三版)清華大學(xué)出版社附錄(源代碼)(內(nèi)容:要求小五號(hào)字體)一、架包packagecom.tarena.util;importjava.sql.Connection;importjava.sql.DriverManager;publicclassConnectionUtil{publicstaticConnectiongetConnection()throwsException{Class.forName("com.mysql.jdbc.Driver");Stringurl="jdbc:mysql://localhost:3306/JSD1407";Stringuser="root";Stringpassword="1234";Connectionconn=DriverManager.getConnection(url,user,password);returnconn;}publicstaticvoidmain(String[]args)throwsException{System.out.println(getConnection());}//s通過(guò)打印看一下是否連接上了}//將獲得連接的方法封裝二、建表語(yǔ)言createtablestudent(novarchar(10)notnull,namevarchar(50)notnull,class_novarchar(2)notnull,chinesedouble(3,1)notnull,mathdouble(3,1)notnull,englishdouble(3,1)notnull,primarykey(no));descstudent;insertintostudent(no,name,class_no,chinese,math,english)values(120702101,陳麗芳',1,66,77,88);select*fromstudent;三、Java編程MainFrame類importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassMainFrameextendsJFrame{JButtoninsert,query,delete,modify;JPanelpanel,panel1,panel2;publicMainFrame(){//TODOAuto-generatedmethodstubImageIconimg=newImageIcon("1.gif");JLabeltext1,text2,picture=newJLabel(img);JFrameframe=newJFrame("學(xué)生成績(jī)管理系統(tǒng)");insert=newJButton("添加數(shù)據(jù)");insert.setBackground(Color.green);insert.addActionListener(newinsertActionPerformed());query=newJButton("查詢數(shù)據(jù)");query.addActionListener(newqueryActionPerformed());query.setBackground(Color.green);modify=newJButton("修改數(shù)據(jù)");modify.setBackground(Color.green);modify.addActionListener(newmodifyActionPerformed());delete=newJButton("刪除數(shù)據(jù)");delete.setBackground(Color.green);delete.addActionListener(newdeleteActionPerformed());frame.setSize(360,200);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);ContainercontentPane=frame.getContentPane();contentPane.setLayout(newBorderLayout());text1=newJLabel("歡迎使用學(xué)生成績(jī)管理系統(tǒng)“,JLabel.CENTER);text1.setFont(newFont("宋體",F(xiàn)ont.BOLD,24));text1.setForeground(Color.blue);text2=newJLabel("192091班羅斌制作");text2.setFont(newFont("TimesRoman",Font.ROMAN_BASELINE,14));panel1=newJPanel();panel1.add(insert);panel1.add(query);panel2=newJPanel();panel2.add(modify);panel2.add(delete);panel1.setOpaque(false);panel2.setOpaque(false);panel=newJPanel();panel.add(text2,BorderLayout.NORTH);panel.add(panel1,BorderLayout.NORTH);panel.add(panel2,BorderLayout.SOUTH);panel.setOpaque(false);contentPane.add(text1,BorderLayout.NORTH);contentPane.add(panel,BorderLayout.CENTER);frame.getLayeredPane().add(picture,newInteger(Integer.MIN_VALUE));Toolkitkit=Toolkit.getDefaultToolkit();DimensionscreenSize=kit.getScreenSize();intscreenWidth=screenSize.width/2;intscreenHeight=screenSize.height/2;intheight=this.getHeight();intwidth=this.getWidth();picture.setBounds(0,0,360,360);((JPanel)contentPane).setOpaque(false);frame.setLocation(screenWidth-width/2,screenHeight-height/2);frame.setVisible(true);}publicclassinsertActionPerformedimplementsActionListener{publicvoidactionPerformed(ActionEvente){newInsert().setVisible(true);}}publicclassmodifyActionPerformedimplementsActionListener{publicvoidactionPerformed(ActionEvente){newModify().setVisible(true);}}publicclassqueryActionPerformedimplementsActionListener{publicvoidactionPerformed(ActionEvente){newQuery().setVisible(true);}}publicclassdeleteActionPerformedimplementsActionListener{publicvoidactionPerformed(ActionEvente){newDelete().setVisible(true);}}publicstaticvoidmain(String[]args){newMainFrame();}}Insert類importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.sql.*;publicclassInsertextendsJFrame{JTextFieldinput1,input2,input3,input4,input5,input6;JLabellabel1,label2,label3,label4,label5;JButtonbutton;staticStatementst;static(try{Class.forName("com.mysql.jdbc.Driver");Connectioncon=DriverManager.getConnection("jdbc:mysql://localhost:3306/jsd1407","root","123456");st=con.createStatement();}catch(Exceptione){}}ResultSetrs;publicInsert(){input1=newJTextField(15);input2=newJTextField(15);input3=newJTextField(15);input4=newJTextField(15);input5=newJTextField(15);input6=newJTextField(15);JPanelpanel=newJPanel();panel.setLayout(newGridLayout(6,2));panel.add(newJLabel("學(xué)號(hào)"),BorderLayout.CENTER);panel.add(input1);panel.add(newJLabel("姓名"),BorderLayout.CENTER);panel.add(input2);panel.add(newJLabel("班級(jí)"),BorderLayout.CENTER);panel.add(input3);panel.add(newJLabel("語(yǔ)文"),BorderLayout.CENTER);panel.add(input4);panel.add(newJLabel("英語(yǔ)"));panel.add(input5);panel.add(newJLabel("數(shù)學(xué)"));panel.add(input6);button=newJButton("添加");button.addActionListener(newmysql());Containercontainer=getContentPane();container.add(panel,BorderLayout.CENTER);container.add(button,BorderLayout.SOUTH);setTitle("添加數(shù)據(jù)窗口");setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setSize(250,250);Toolkitkit=Toolkit.getDefaultToolkitO;DimensionscreenSize=kit.getScreenSize();intscreenWidth=screenSize.width/2;intscreenHeight=screenSize.height/2;intheight=this.getHeight();intwidth=this.getWidth();setLocation(screenWidth-width/2,screenHeight-height/2);setVisible(true);}classmysqlimplementsActionListener{publicvoidactionPerformed(ActionEvente){try{Stringnumber=input1.getText().trim();Stringname=input2.getText().trim();Stringclas=input3.getText().trim();Stringtemp=input4.getText();doublechinese=Integer.parseInt(temp);temp=input4.getText();doubleenglish=Integer.parseInt(temp);temp=input4.getText();doublemaths=Integer.parseInt(temp);if(number.equals("")|name.equals("")|clas.equals("")|temp.equals("")){JOptionPane.showMessageDialog(Insert.this,"請(qǐng)重新輸入","提示對(duì)話框",1);}else{Stringsql="insertintoStudent(no,name,class_no,chinese,english,math)values('"+number+"','"+name+"','"+clas+"',"+chinese+","+english+","+maths+");";st.executeUpdate(sql);JOptionPane.showMessageDialog(Insert.this,"數(shù)據(jù)添加成功“,"提示對(duì)話框",1);input1.setText("");input2.setText("");input3.setText("");input4.setText("");input5.setText("");input6.setText("");}}catch(Exceptionee){}}}}Modify類importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.sql.*;publicclassModifyextendsJFrame(JTextFieldinput1,input2,input3,input4,input5,input6;JLabellabel1,label2,label3,label4,label5;JButtonbutton;staticStatementst;static(try{Class.forName("com.mysql.jdbc.Driver");Connectioncon=DriverManager.getConnection("jdbc:mysql://localhost:3306/jsd1407","root","123456");st=con.createStatement();}catch(Exceptione){}}ResultSetrs;publicModify(){input1=newJTextField(15);input2=newJTextField(15);input3=newJTextField(15);input4=newJTextField(15);input5=newJTextField(15);input6=newJTextField(15);JPanelpanel=newJPanel();panel.setLayout(newGridLayout(6,2));panel.add(newJLabel("學(xué)號(hào)"));panel.add(input1);panel.add(newJLabel("姓名"));panel.add(input2);panel.add(newJLabel("班級(jí)"));panel.add(input3);panel.add(newJLabel("語(yǔ)文"));panel.add(input4);panel.add(newJLabel("英語(yǔ)"));panel.add(input5);panel.add(newJLabel("數(shù)學(xué)"));panel.add(input6);button=newJButton("修改");button.addActionListener(newmysql());Containercontainer=getContentPane();container.add(panel,BorderLayout.CENTER);container.add(button,BorderLayout.SOUTH);setTitle("修改數(shù)據(jù)窗口”);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setSize(300,150);Toolkitkit=Toolkit.getDefaultToolkitO;DimensionscreenSize=kit.getScreenSize();intscreenWidth=screenSize.width/2;intscreenHeight=screenSize.height/2;intheight=this.getHeight();intwidth=this.getWidth();setLocation(screenWidth-width/2,screenHeight-height/2);setVisible(true);}classmysqlimplementsActionListener{publicvoidactionPerformed(ActionEvente){try{Stringnumber=input1.getText().trim();Stringname=input2.getText().trim();Stringclas=input3.getText().trim();Stringtemp=input4.getText();doublechinese=lnteger.parselnt(temp);temp=input4.getText();doubleenglish=Integer.parseInt(temp);temp=input4.getText();doublemaths=Integer.parseInt(temp);if(number.equals("")){JOptionPane.showMessageDialog(Modify.this,"學(xué)號(hào)不能為空!","提示對(duì)話框",1);}else{try{Stringsql="updateStudentsetname='"+name+"',class_no='"+clas+"',chinese="+chinese+",english="+english+",math="+maths+"whereno='"+number+"'";st.executeUpdate(sql);JOptionPane.showMessageDialog(Modify.this,"數(shù)據(jù)修改成功","提示對(duì)話框",1);input1.setText("");input2.setText("");input3.setText("");input4.setText("");input5.setText("");input6.setText("");}catch(Exceptionee){JOptionPane.showMessageDialog(Modify.this,"請(qǐng)確認(rèn)需要修改的學(xué)號(hào)是否存在","提示對(duì)話框“,1);System.out.println(ee);}}}catch(Exceptioneee){System.out.println(eee);}Query類importjava.awt.*;importjavax.swing.event.*;importjava.awt.event.*;importjavax.swing.*;importjava.sql.*;publicclassQueryextendsJFrame{JTextAreashow;JButtonbutton1,button2,button3,button4,button5;JTextFieldfield1,field2,field3;JComboBoxcomoBox;staticStatementst;static{try{Class.forName("com.mysql.jdbc.Driver");Connectioncon=DriverManager.getConnection("jdbc:mysql://localhost:3306/jsd1407","root","123456");st=con.createStatement();}catch(Exceptione){}}publicQuery(){show=newJTextArea(5,10);button1=newJButton("顯示所有信息");button1.addActionListener(newMysql1());Containercontainer=getContentPane();container.setLayout(newBorderLayout());JPanelpanel=newJPanel();JPanelmainpanel=newJPanel();button2=newJButton("按學(xué)號(hào)查詢");button2.addActionListener(newMysql2());panel.add(button2);field1=newJTextField(7);panel.add(field1);panel.setVisible(true);mainpanel.add(panel);button3=newJButton("按姓名查詢");button3.addActionListener(newMysql3());panel.add(button3);field2=newJTextField(6);panel.add(field2);panel.setVisible(true);mainpanel.add(panel);button4=newJButton("按班級(jí)查詢");button4.addActionListener(newMysql4());panel.add(button4);field3=newJTextField(6);panel.add(field3);panel.setVisible(true);mainpanel.add(panel);Stringitems[]={"請(qǐng)選擇","語(yǔ)文","英語(yǔ)","數(shù)學(xué)"};comoBox=newJComboBox(items);button5=newJButton("按課程名稱查詢");button5.addActionListener(newMysql5());panel.add(button5);panel.add(comoBox);panel.setVisible(true);mainpanel.add(panel);panel=newJPanel();panel.add(button1);container.add(mainpanel,BorderLayout.NORTH);container.add(panel,BorderLayout.SOUTH);container.add(newJScrollPane(show),BorderLayout.CENTER);setTitle("查詢數(shù)據(jù)");setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setSize(750,400);Toolkitkit=Toolkit.getDefaultToolkitO;DimensionscreenSize=kit.getScreenSize();intscreenWidth=screenSize.width/2;intscreenHeight=screenSize.height/2;intheight=this.getHeight();intwidth=this.getWidth();setLocation(screenWidth-width/2,screenHeight-height/2);setVisible(true);}classMysql1implementsActionListener{publicvoidactionPerformed(ActionEvente)語(yǔ)文語(yǔ)文try{Stringsql="select*fromStudent";ResultSetrs=st.executeQuery(sql);show.setText("");show.append("學(xué)號(hào)英語(yǔ)數(shù)學(xué)"+"\n");while(rs.next()){show.append(rs.getString(1)+"show.append(rs.getString(2)+“show.append(rs.getString(3)+"show.append(rs.getDouble(4)+“show.append(rs.getDouble(5)+"show.append(rs.getDouble(6)+"\n");}}catch(Exceptionee){}}classMysql2implementsActionListener{publicvoidactionPerformed(ActionEvente){try{姓名");");");");");Stringss=field1.getText().trim();Stringsql="select*fromStudentwhereno='"+ss+"'";ResultSetrs=st.executeQuery(sql);show.setText("");show.append("學(xué)號(hào)英語(yǔ)數(shù)學(xué)"+"\n");while(rs.next()){show.append(rs.getString(1)+"show.append(rs.getString(2)+"show.append(rs.getString(3)+"show.append(rs.getDouble(4)+"show.append(rs.getDouble(5)+"show.append(rs.getDouble(6)+"\n");}}catch(Exceptionee){}姓名");“);");");");班級(jí)班級(jí)classMysql3implementsActionListenerpublicvoidactionPerformed(ActionEvente)班級(jí){try{Stringss=field2.getText().trim();Stringsql="select*fromStudentwherename='"+ss+"'";ResultSetrs=st.executeQuery(sql);show.setText("");show.append("學(xué)號(hào)姓名語(yǔ)文英語(yǔ)數(shù)學(xué)"+"\n");TOC\o"1-5"\h\zwhile(rs.next()){show.append(rs.getString(1)+"");班級(jí)show.append(rs.getString(2)+"");show.append(rs.getString(3)+"");show.append(rs.getDouble(4)+"");show.append(rs.getDouble(5)+"");show.append(rs.getDouble(6)+"\n");}}catch(Exceptionee){}}}classMysql4implementsActionListener{publicvoidactionPerformed(ActionEvente){try{Stringss=field3.getText().trim();Stringsql="select*fromStudentwhereclass_no='"+ss+"'";ResultSetrs=st.executeQuery(sql);show.setText("");show.append("學(xué)號(hào)姓名班級(jí)語(yǔ)文英語(yǔ)數(shù)學(xué)"+"\n");while(rs.next()){TOC\o"1-5"\h\zshow.append(rs.getString(1)+"");show.append(rs.getString(2)+"");show.append(rs.getString(3)+"");

show.append(rs.getDouble(4)+"");show.append(rs.getDouble(5)+"");班級(jí)班級(jí)班級(jí)show.append(rs.getDouble(6)+"\n");}}catch(Exceptionee){}}}classMysql5implementsActionListener{publicvoidactionPerformed(ActionEvente){try{Stringsql="";Stringss=comoBox.getSelectedItem().toString();if(ss.equals("語(yǔ)文")){sql="selectno,name,class_no,chinesefromStudent";show.setText("");show.append("學(xué)號(hào)姓名語(yǔ)文"+"\n");}elseif(ss.equals("英語(yǔ)")){sql="selectno,name,class_no,englishfromStudent";show.setText("");show.append("學(xué)號(hào)姓名英語(yǔ)"+"\n");}elseif(ss.equals("數(shù)學(xué)")){sql="selectno,name,class_no,mathfromStudent";show.setText("");show.append("學(xué)號(hào)姓名數(shù)學(xué)"+"\n");}ResultSetrs=st.executeQuery(sql);while(rs.next()){show.append(rs.getString(1)+"");show.append(rs.getString(2)+"");")

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論