JAVA數(shù)據(jù)庫(kù)學(xué)籍信息管理系統(tǒng)_第1頁(yè)
JAVA數(shù)據(jù)庫(kù)學(xué)籍信息管理系統(tǒng)_第2頁(yè)
JAVA數(shù)據(jù)庫(kù)學(xué)籍信息管理系統(tǒng)_第3頁(yè)
JAVA數(shù)據(jù)庫(kù)學(xué)籍信息管理系統(tǒng)_第4頁(yè)
JAVA數(shù)據(jù)庫(kù)學(xué)籍信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(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)介

第一章緒論11.1管理信息系統(tǒng)的概述11.2課題背景2第二章需求分析32.1功能需求3第三章相關(guān)技術(shù)介紹43.1前臺(tái)開(kāi)發(fā)工具語(yǔ)言43.2數(shù)據(jù)庫(kù)簡(jiǎn)介4第四章系統(tǒng)模型構(gòu)建54.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì)54.2數(shù)據(jù)庫(kù)設(shè)計(jì)64.2.1SQL數(shù)據(jù)庫(kù)表結(jié)構(gòu)64.2.2學(xué)生信息表7第五章系統(tǒng)實(shí)現(xiàn)85.1主要模塊功能說(shuō)明85.1.1登陸界面85.1.2查詢(xún)界面95.1.3添加界面105.1.4修改界面115.1.5刪除界面125.2問(wèn)題分析12總結(jié)與心得13附錄14源代碼14參考文獻(xiàn)39第一章緒論1.1管理信息系統(tǒng)的概述在計(jì)算機(jī)技術(shù)與信息技術(shù)迅猛開(kāi)展的今天,作為信息系統(tǒng)核心和根底的數(shù)據(jù)庫(kù)技術(shù)得到了越來(lái)越廣泛的應(yīng)用。從小型單項(xiàng)事務(wù)處理系統(tǒng)到大型共享系統(tǒng),從一般商用事務(wù)處理到計(jì)算機(jī)輔助設(shè)計(jì)與制造〔CAD/CAM〕、計(jì)算機(jī)集成制造系統(tǒng)〔CIMS〕、辦公信息系統(tǒng)〔OIS〕等等,越來(lái)越多新的應(yīng)用領(lǐng)域采用數(shù)據(jù)庫(kù)存儲(chǔ)和處理他們的信息資源。正是由于計(jì)算機(jī)的應(yīng)用,才有可能使現(xiàn)代社會(huì)組織和企事業(yè)單位的信息處理能力適應(yīng)現(xiàn)代化管理的要求。隨著學(xué)校規(guī)模的不斷擴(kuò)大,學(xué)生數(shù)量的急劇增加,有關(guān)學(xué)生的各種信息資料也成倍增長(zhǎng)。辦學(xué)者們所頭疼的問(wèn)題,就是如何面對(duì)這龐大的信息量。只有利用計(jì)算機(jī),利用學(xué)生管理信息系統(tǒng)才能解決這一問(wèn)題,才能提高學(xué)生管理的工作效率。通過(guò)這樣的系統(tǒng),可以做到信息的標(biāo)準(zhǔn)管理、科學(xué)統(tǒng)計(jì)和快速的查詢(xún),從而減少管理方面的工作量。在這里首先我們先了解一下管理信息系統(tǒng)。隨著我國(guó)教育體制改革的深入進(jìn)行,教育系統(tǒng)得到了前所未有的開(kāi)展。學(xué)生管理正在逐步邁向管理信息現(xiàn)代化。但是,我國(guó)的學(xué)生管理信息化水平還處在初級(jí)階段,主要表現(xiàn)在對(duì)學(xué)生的根本信息管理、學(xué)生的檔案管理還是采用原有的人工管理方式。這就造成工作效率低、誤差大,也造成了人力、物力、財(cái)力資源的浪費(fèi)。與此同時(shí),學(xué)校是培養(yǎng)國(guó)家棟梁之材的場(chǎng)所,無(wú)論是在教育,還是在管理上都應(yīng)走在最前列,而其中管理又是學(xué)校運(yùn)轉(zhuǎn)良好的關(guān)鍵。如何提高管理,是當(dāng)前學(xué)校管理者所面臨的重要課題。1.2課題背景學(xué)籍管理系統(tǒng)是一個(gè)教育單位不可缺少的局部,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以學(xué)籍管理系統(tǒng)應(yīng)該能夠?yàn)橛脩?hù)提供充足的信息和快捷的查詢(xún)手段。但一直以來(lái)人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要的作用。作為計(jì)算機(jī)應(yīng)用的一局部,使用計(jì)算機(jī)對(duì)學(xué)生學(xué)籍進(jìn)行管理,具有手工管理所無(wú)法比較的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、本錢(qián)低等。這些優(yōu)點(diǎn)能夠極大地提高學(xué)生學(xué)籍管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。在當(dāng)今的時(shí)代,網(wǎng)絡(luò)技術(shù)與計(jì)算機(jī)軟件技術(shù)已經(jīng)愈來(lái)愈廣泛地應(yīng)用到教育系統(tǒng)中各個(gè)方面。使用計(jì)算機(jī)管理系統(tǒng)不僅可以簡(jiǎn)化學(xué)校傳統(tǒng)的管理模式,使學(xué)校管理人員能夠方便地利用學(xué)校內(nèi)部信息對(duì)學(xué)生個(gè)人根本信息進(jìn)行全面管理,對(duì)學(xué)生在校檔案、學(xué)生在校情況進(jìn)行全面管理。更重要的是利用計(jì)算機(jī)的技術(shù)可以使學(xué)生管理標(biāo)準(zhǔn)化。計(jì)算機(jī)技術(shù)在校園中的應(yīng)用順應(yīng)了我國(guó)的國(guó)情,實(shí)現(xiàn)了教育要面向現(xiàn)代化,面向未來(lái)的指導(dǎo)思想,是學(xué)生管理走向現(xiàn)代化的有力武器。第二章需求分析2.1功能需求在一些學(xué)校等機(jī)構(gòu),隨著學(xué)生數(shù)量的不斷增加,學(xué)生的信息不斷增多,人工管理信息的難度也越來(lái)越大。而且效率也是很低的。所以如何自動(dòng)高效地管理信息是這些年來(lái)許多人所研究的。隨著這些年電腦計(jì)算機(jī)的速度質(zhì)的提高,本錢(qián)的下降,IT互聯(lián)網(wǎng)群眾趨勢(shì)的開(kāi)展。我們使用電腦的高效率才處理數(shù)據(jù)信息成為可能。學(xué)生學(xué)籍管理系統(tǒng)的出現(xiàn),正是管理人員與信息數(shù)據(jù),計(jì)算機(jī)的進(jìn)入互動(dòng)時(shí)代的表達(dá)。友好的人機(jī)交互模式,清晰簡(jiǎn)明的圖形界面,高效平安的操作使得我們對(duì)成千上萬(wàn)的信息的管理得心應(yīng)手。學(xué)生學(xué)籍管理系統(tǒng),以SQL數(shù)據(jù)庫(kù)作為后臺(tái)信息存儲(chǔ),Java作為前臺(tái)系統(tǒng)的語(yǔ)言。提供了對(duì)學(xué)生信息添加,查詢(xún),修改,刪除的功能。實(shí)現(xiàn)了最根本的信息管理。第三章相關(guān)技術(shù)介紹3.1前臺(tái)開(kāi)發(fā)工具語(yǔ)言Java編程語(yǔ)言是個(gè)簡(jiǎn)單、面向?qū)ο?、分布式、解釋性、健壯、平安與系統(tǒng)無(wú)關(guān)、可移植、高性能、多線(xiàn)程和動(dòng)態(tài)的語(yǔ)言。Java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言.Java技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和平安性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開(kāi)發(fā)者專(zhuān)業(yè)社群。3.2數(shù)據(jù)庫(kù)簡(jiǎn)介數(shù)據(jù)庫(kù)是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織、存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)。在經(jīng)濟(jì)管理的日常工作中,常常需要把某些相關(guān)的數(shù)據(jù)放進(jìn)這樣的“倉(cāng)庫(kù)〞,并根據(jù)管理的需要進(jìn)行相應(yīng)的處理。例如,企業(yè)或事業(yè)單位的人事部門(mén)常常要把本單位職工的根本情況(職工號(hào)、姓名、年齡、性別、籍貫、工資、簡(jiǎn)歷等)存放在表中,這張表就可以看成是一個(gè)數(shù)據(jù)庫(kù)。有了這個(gè)"數(shù)據(jù)倉(cāng)庫(kù)"我們就可以根據(jù)需要隨時(shí)查詢(xún)某職工的根本情況,也可以查詢(xún)工資在某個(gè)范圍內(nèi)的職工人數(shù)等等。這些工作如果都能在計(jì)算機(jī)上自動(dòng)進(jìn)行,那我們的人事管理就可以到達(dá)極高的水平。此外,在財(cái)務(wù)管理、倉(cāng)庫(kù)管理、生產(chǎn)管理中也需要建立眾多的這種"數(shù)據(jù)庫(kù)",使其可以利用計(jì)算機(jī)實(shí)現(xiàn)財(cái)務(wù)、倉(cāng)庫(kù)、生產(chǎn)的自動(dòng)化管理。第四章系統(tǒng)模型構(gòu)建4.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì)學(xué)生學(xué)籍管理系統(tǒng)學(xué)生學(xué)籍管理系統(tǒng)登錄登錄驗(yàn)證成功退出查詢(xún)添加修改刪除失敗失敗圖4.1系統(tǒng)結(jié)構(gòu)圖學(xué)籍管理系統(tǒng)首先要有用戶(hù)管理系統(tǒng),主要對(duì)用戶(hù)權(quán)限設(shè)置進(jìn)行管理。用戶(hù)名:密碼設(shè)置學(xué)生信息管理模塊主要對(duì)學(xué)生信息〔如學(xué)號(hào)、姓名、性別、班級(jí)、家庭住址等〕進(jìn)行管理,本模塊又分為四個(gè)子模塊。學(xué)生信息添加學(xué)生信息查詢(xún)學(xué)生信息修改④學(xué)生信息刪除4.2數(shù)據(jù)庫(kù)設(shè)計(jì)SQL數(shù)據(jù)庫(kù)表結(jié)構(gòu)圖數(shù)據(jù)表結(jié)構(gòu)管理員表用來(lái)保存管理員登陸的用戶(hù)名及密碼。列名數(shù)據(jù)類(lèi)型及長(zhǎng)度可否為空主鍵用戶(hù)名文本型〔16〕NOTNULL密碼文本型〔16〕NOTNULL表管理員表學(xué)生信息表學(xué)生信息表用來(lái)保存學(xué)生的信息情況。學(xué)生信息包括專(zhuān)業(yè)、班級(jí)、學(xué)號(hào)、姓名、性別、家庭住址、出生年月。表學(xué)生信息表列名數(shù)據(jù)類(lèi)型及長(zhǎng)度可否為空主鍵專(zhuān)業(yè)文本型〔20〕NOTNULL班級(jí)文本型〔20〕NOTNULL學(xué)號(hào)文本型〔8〕NOTNULL主鍵姓名文本型〔8〕NOTNULL性別邏輯型〔2〕NOTNULL籍貫文本型〔8〕NOTNULL出生年月日期型〔8〕NOTNULL家庭住址文本型〔60〕NOTNULL第五章系統(tǒng)實(shí)現(xiàn)5.1主要模塊功能說(shuō)明登陸界面登錄界面輸入“管理員號(hào)〞和“登錄密碼〞,點(diǎn)擊“確定〞,通過(guò)驗(yàn)證那么進(jìn)入主功能菜單。如果輸入錯(cuò)誤那么會(huì)有相應(yīng)的警告!當(dāng)輸入了一個(gè)錯(cuò)誤的管理員號(hào)時(shí),會(huì)出現(xiàn)下列圖!圖登陸界面查詢(xún)界面點(diǎn)擊查詢(xún),出現(xiàn)以下菜單。點(diǎn)擊確定后,會(huì)顯示所有記錄。圖查詢(xún)界面選擇查詢(xún)某一學(xué)生時(shí)。圖個(gè)人查詢(xún)界面添加界面點(diǎn)擊添加,出現(xiàn)下列圖。圖添加界面輸入正確后點(diǎn)添加。圖添加成功界面修改界面點(diǎn)擊添加,進(jìn)行信息修改工作。圖修改界面圖修改成功界面修改其他項(xiàng)同上。刪除界面點(diǎn)擊刪除進(jìn)入刪除界面,進(jìn)行信息的刪除。圖刪除界面圖刪除成功界面5.2問(wèn)題分析此次課程設(shè)計(jì)中遇到了很多問(wèn)題,剛開(kāi)始設(shè)計(jì)時(shí)不知從何下手,最終在圖書(shū)、網(wǎng)絡(luò)、同學(xué)和老師的幫助下得到了解決,是我學(xué)會(huì)了很多書(shū)本上沒(méi)有的東西。程序的編寫(xiě)及運(yùn)行在老師幫助下得到了解決。使我受益頗深??偨Y(jié)與心得課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.本次課程設(shè)計(jì)雖然很辛苦,實(shí)在是受益匪淺。本來(lái)這門(mén)課的知識(shí)學(xué)的就不夠扎實(shí),本次課程設(shè)計(jì),在設(shè)計(jì)過(guò)程中碰到了很多問(wèn)題,剛開(kāi)始要設(shè)計(jì)的時(shí)候,還真不知道從哪里下手但最終在圖書(shū)、同學(xué)和老師的幫助下都得到了解決,讓我學(xué)會(huì)了好多書(shū)本上沒(méi)有的東西,通過(guò)本次課程設(shè)計(jì)我也能將課本上的知識(shí)融會(huì)貫穿,起到了很好的輔助學(xué)習(xí)的效果,但是我發(fā)現(xiàn)我學(xué)到的知識(shí)比整整一個(gè)學(xué)期學(xué)到的都多。理論和實(shí)踐的相結(jié)合是學(xué)習(xí)最有效的方法。在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的缺乏之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,通過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)效勞,從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。附錄源代碼importjavax.swing.*;importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.sql.*;classDataBase{//DataBase類(lèi)publicvoidAdd(Stringxh,Stringxm,Stringxb,Stringxy,Stringbj,Stringjg)throwsSQLException{ try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectionc=DriverManager.getConnection("jdbc:odbc:studentdatabase"); Statements=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);ResultSetr=s.executeQuery("select*from學(xué)籍管理系統(tǒng)where學(xué)號(hào)='"+xh+"'"); r.last(); if(r.getRow()==1) {JOptionPane.showMessageDialog(null,"該學(xué)號(hào)的學(xué)生信息已存在");} elseif(xh.equals("")){ JOptionPane.showMessageDialog(null,"學(xué)號(hào)不能為空");} else{s.executeUpdate("insertinto學(xué)籍管理系統(tǒng)values('"+xh+"','"+xm+"','"+xb+"','"+xy+"','"+bj+"','"+jg+"')"); s.close(); c.close(); JOptionPane.showMessageDialog(null,"<html>"+"學(xué)號(hào):"+xh+"<br>" +"姓名:"+xm+"<br>"+"性別:"+xb+"<br>"+"學(xué)院:"+xy+"<br>"+"班級(jí):"+bj+"<br>"+"籍貫:"+jg+"<br>學(xué)生記錄添加成功!");} }catch(Exceptione) {JOptionPane.showMessageDialog(null,"數(shù)據(jù)添加異常!");} }PublicvoidDisplayAll(ResultSetr){ try{ r.last(); System.out.println("數(shù)據(jù)庫(kù)表共有"+r.getRow()+"行記錄");r.beforeFirst(); while(r.next()) { System.out.print("第"+r.getRow()+"行記錄:"); System.out.print("學(xué)號(hào)為:"+r.getString("學(xué)號(hào)")); System.out.print("姓名為:"+r.getString("姓名")); System.out.print("性別為:"+r.getString("性別")); System.out.print("學(xué)院為:"+r.getString("學(xué)院")); System.out.print("班級(jí)為:"+r.getString("班級(jí)")); System.out.println("籍貫為:"+r.getString("籍貫")); } } catch(Exceptione) { } } publicvoidDisplayOne(Stringstr22)throwsException { try { Connectionc=DriverManager.getConnection("jdbc:odbc:studentdatabase"); Statements=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);ResultSetr=s.executeQuery("select*from學(xué)籍管理系統(tǒng)where學(xué)號(hào)='"+str22+"'");r.last(); intcc=r.getRow();if(cc==0){ JOptionPane.showMessageDialog(null,"未查詢(xún)到相關(guān)信息!");}else{r.beforeFirst(); while(r.nex{JOptionPane.showMessageDialog(null,"<html>"+"學(xué)號(hào):"+r.getString("學(xué)號(hào)")+"<br>" +"姓名:"+r.getString("姓名")+"<br>" +"性別:"+r.getString("性別")+"<br>" +"學(xué)院:"+r.getString("學(xué)院")+"<br>" +"班級(jí):"+r.getString("班級(jí)")+"<br>" +"籍貫:"+r.getString("籍貫")+"<br>已查詢(xún)到相關(guān)記錄!"); } }} catch(Exceptione) {} }publicvoidDeleteXh(Stringstr11){ try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectionc=DriverManager.getConnection("jdbc:odbc:studentdatabase"); Statements=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSetr=s.executeQuery("select*from學(xué)籍管理系統(tǒng)where學(xué)號(hào)='"+str11+"'"); r.last(); if(r.getRow()==1){ s.executeUpdate("deletefrom學(xué)籍管理系統(tǒng)where學(xué)號(hào)='"+str11+"'"); JOptionPane.showMessageDialog(null,"學(xué)生記錄刪除成功!"); }else{JOptionPane.showMessageDialog(null,"學(xué)籍系統(tǒng)中并無(wú)相關(guān)記錄!");}} catch(Exceptione) {} }publicvoidDeleteXm(Stringstr13){ try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectionc=DriverManager.getConnection("jdbc:odbc:studentdatabase"); Statements=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);ResultSetr=s.executeQuery("select*from學(xué)籍管理系統(tǒng)where姓名='"+str13+"'"); r.last(); if(r.getRow()==1){s.executeUpdate("deletefrom學(xué)籍管理系統(tǒng)where姓名='"+str13+"'");JOptionPane.showMessageDialog(null,"學(xué)生記錄刪除成功!");} else{JOptionPane.showMessageDialog(null,"學(xué)籍系統(tǒng)中并無(wú)相關(guān)記錄!");} }catch(Exceptione) {}}publicvoidUpdateXh(Stringxg,Stringstr15,Stringstr16){ try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectionc=DriverManager.getConnection("jdbc:odbc:studentdatabase"); Statements=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSetr=s.executeQuery("select*from學(xué)籍管理系統(tǒng)where學(xué)號(hào)='"+xg+"'");r.last(); if(r.getRow()==1) {s.executeUpdate("update學(xué)籍管理系統(tǒng)set"+str15+"='"+str16+"'where學(xué)號(hào)='"+xg+"'");JOptionPane.showMessageDialog(null,"學(xué)生記錄修改成功!");} else{JOptionPane.showMessageDialog(null,"學(xué)籍系統(tǒng)中并無(wú)相關(guān)記錄!"); }; } catch(Exceptione) {JOptionPane.showMessageDialog(null,"學(xué)籍系統(tǒng)中并無(wú)相關(guān)記錄!"); }}publicvoidUpdateXm(Stringstr18,Stringstr19,Stringstr20){ try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectionc=DriverManager.getConnection("jdbc:odbc:studentdatabase"); Statements=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSetr=s.executeQuery("select*from學(xué)籍管理系統(tǒng)where姓名='"+str18+"'");r.last(); if(r.getRow()==1) {s.executeUpdate("update學(xué)籍管理系統(tǒng)set"+str19+"='"+str20+"'where姓名='"+str18+"'");//直接執(zhí)行SQL語(yǔ)句修改 JOptionPane.showMessageDialog(null,"學(xué)生記錄修改成功!"); } else{JOptionPane.showMessageDialog(null,"學(xué)籍系統(tǒng)中并無(wú)相關(guān)記錄!"); };} catch(Exceptione){JOptionPane.showMessageDialog(null,"學(xué)籍系統(tǒng)中并無(wú)相關(guān)記錄!");}}}classJ_ActionListener1extendsJFrameimplementsActionListener//創(chuàng)立J_ActionListener1類(lèi)監(jiān)聽(tīng)功能選項(xiàng)面板"顯示已有學(xué)生信息"的按鈕{publicvoidactionPerformed(ActionEvente){JButtonb1=(JButton)e.getSource();Objectaa=JOptionPane.showInputDialog(null,"請(qǐng)選擇按何種方式查詢(xún)","選擇",JOptionPane.QUESTION_MESSAGE,null,newString[]{"顯示所有學(xué)生記錄","查詢(xún)某個(gè)學(xué)生記錄"},"顯示所有學(xué)生記錄");if(aa=="顯示所有學(xué)生記錄"){ try{Connectionc=DriverManager.getConnection("jdbc:odbc:studentdatabase"); Statements=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);ResultSetr=s.executeQuery("select*from學(xué)籍管理系統(tǒng)");DataBasea=newDataBase();DisplayAll(r);}catch(SQLExceptione1){} } else{ try{Connectionc=DriverManager.getConnection("jdbc:odbc:studentdatabase"); Statements=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);DataBasea=newDataBase();Stringstr11=JOptionPane.showInputDialog("請(qǐng)輸入要查詢(xún)的記錄的學(xué)號(hào)");a.DisplayOne(str11); } catch(Exceptione1){}} }}classJ_ActionListener2extendsJFrameimplementsActionListener{PublicvoidactionPerformed(ActionEvente){ JButtonb2=(JButton)e.getSource(); try{ newJ_ActionListener6(); } catch(Exceptione2){}}}ClassJ_ActionListener6extendsJ_ActionListener2implementsActionListener{ DataBasea=newDataBase(); JTextFieldjtf1=newJTextField(); JTextFieldjtf2=newJTextField(); JTextFieldjtf3=newJTextField(); JTextFieldjtf4=newJTextField();JTextFieldjtf5=newJTextField();JTextFieldjtf6=newJTextField();JButtonbtn=null;J_ActionListener6(){ this.setTitle("請(qǐng)輸入數(shù)據(jù):");//創(chuàng)立框架的標(biāo)題this.setBounds(250,100,220,320);//框架的大小和坐標(biāo)this.setResizable(false);this.setVisible(true);this.setLayout(null); JLabeljlb1=newJLabel("學(xué)號(hào):");//創(chuàng)立"學(xué)號(hào)"的標(biāo)簽 jlb1.setBounds(43,23,100,25); this.add(jlb1); JLabeljlb2=newJLabel("姓名:"); jlb2.setBounds(43,58,100,25); this.add(jlb2); JLabeljlb3=newJLabel("性別:"); jlb3.setBounds(43,93,100,25); this.add(jlb3); JLabeljlb4=newJLabel("學(xué)院:"); jlb4.setBounds(43,128,100,25); this.add(jlb4); JLabeljlb5=newJLabel("班級(jí):"); jlb5.setBounds(43,163,100,25); this.add(jlb5); JLabeljlb6=newJLabel("籍貫:"); jlb6.setBounds(43,198,100,25); this.add(jlb6); jtf1.setBounds(80,25,100,25); this.add(jtf1); jtf2.setBounds(80,60,100,25); this.add(jtf2); jtf3.setBounds(80,95,100,25); this.add(jtf3); jtf4.setBounds(80,130,100,25); this.add(jtf4); jtf5.setBounds(80,165,100,25); this.add(jtf5); jtf6.setBounds(80,200,100,25); this.add(jtf6); btn=newJButton("添加"); btn.setBounds(68,245,80,30);//設(shè)置按鈕的大小和位置 this.add(btn);//將按鈕添加進(jìn)面板里btn.addActionListener(this); ((JComponent)this.getContentPane()).setOpaque(false);.URLurl=JavaSql.class.getResource("背景1.jpg"); ImageIconimg=newImageIcon(url); JLabelbackground=newJLabel(img); this.getLayeredPane().add(background,newInteger(Integer.MIN_VALUE)); background.setBounds(0,0,img.getIconWidth(),img.getIconHeight()); } publicvoidactionPerformed(ActionEvente){ JButtonbtn=(JButton)e.getSource(); Stringxh=jtf1.getText();Stringxm=jtf2.getText(); Stringxb=jtf3.getText(); Stringxy=jtf4.getText(); Stringbj=jtf5.getText(); Stringjg=jtf6.getText(); try{ a.Add(xh,xm,xb,xy,bj,jg); this.setVisible(false); } catch(SQLExceptione1){ }}}classJ_ActionListener3extendsJFrameimplementsActionListener//創(chuàng)立J_ActionListener3監(jiān)聽(tīng)功能面板〞修改已有學(xué)生信息“的按鈕{finalDataBasea=newDataBase(); JFramexiugai=newJFrame(); Stringb=null; publicvoidjiemian(){//在J_ActionListener3類(lèi)里添加jiemian()方法,創(chuàng)立按學(xué)號(hào)修改數(shù)據(jù)的界面 this.setTitle("請(qǐng)輸入數(shù)據(jù):");this.setSize(230,320);this.setLocation(200,130);this.setResizable(false);this.setVisible(true); JLabeljlb1=newJLabel("請(qǐng)輸入要修改的學(xué)生的"+b);//設(shè)置3個(gè)標(biāo)簽 JLabeljlb2=newJLabel("請(qǐng)輸入要修改的屬性"); JLabeljlb3=newJLabel("請(qǐng)輸入新的數(shù)據(jù)"); finalJTextFieldjtf1=newJTextField();//設(shè)置三個(gè)文本框 finalJTextFieldjtf2=newJTextField(); finalJTextFieldjtf3=newJTextField(); JButtonxg=newJButton("修改");//創(chuàng)立〞修改“按鈕 Containerc=getContentPane(); c.setLayout(null); jlb1.setBounds(20,15,170,30); c.add(jlb1); jlb2.setBounds(20,80,170,30); c.add(jlb2); jlb3.setBounds(20,145,170,30); c.add(jlb3); jtf1.setBounds(20,45,170,30); c.add(jtf1); jtf2.setBounds(20,110,170,30); c.add(jtf2); jtf3.setBounds(20,180,170,30); c.add(jtf3); xg.setBounds(80,230,60,35); c.add(xg); xg.addActionListener(newActionListener()//為〞修改“按鈕添加事件觸發(fā) { publicvoidactionPerformed(ActionEvente)//當(dāng)修改的按鈕被點(diǎn)擊時(shí)執(zhí)行 { JButtonxg=(JButton)e.getSource(); Stringxuehao=jtf1.getText();//獲取文本框的數(shù)據(jù) Stringshuxin=jtf2.getText(); Stringxinshuju=jtf3.getText(); a.UpdateXh(xuehao,shuxin,xinshuju); setVisible(false);;}}); ((JComponent)this.getContentPane()).setOpaque(false);//設(shè)置背景圖片 .URLurl=JavaSql.class.getResource("背景2.jpg"); ImageIconimg=newImageIcon(url); JLabelbackground=newJLabel(img); this.getLayeredPane().add(background,newInteger(Integer.MIN_VALUE)); background.setBounds(0,0,img.getIconWidth(),img.getIconHeight()); }publicvoidjiemian2(){//在J_ActionListener3類(lèi)里添加jiemian2()方法,創(chuàng)立按姓名修改數(shù)據(jù)的界面 this.setTitle("請(qǐng)輸入數(shù)據(jù):");this.setSize(230,320);this.setLocation(200,130);this.setResizable(false);this.setVisible(true); JLabeljlb1=newJLabel("請(qǐng)輸入要修改的學(xué)生的"+b);//設(shè)置3個(gè)標(biāo)簽 JLabeljlb2=newJLabel("請(qǐng)輸入要修改的屬性"); JLabeljlb3=newJLabel("請(qǐng)輸入新的數(shù)據(jù)"); finalJTextFieldjtf1=newJTextField();//設(shè)置三個(gè)文本框 finalJTextFieldjtf2=newJTextField(); finalJTextFieldjtf3=newJTextField(); JButtonxg=newJButton("修改");//創(chuàng)立〞修改“按鈕 Containerc=getContentPane(); c.setLayout(null); jlb1.setBounds(20,15,170,30); c.add(jlb1); jlb2.setBounds(20,80,170,30); c.add(jlb2); jlb3.setBounds(20,145,170,30); c.add(jlb3); jtf1.setBounds(20,45,170,30); c.add(jtf1); jtf2.setBounds(20,110,170,30); c.add(jtf2); jtf3.setBounds(20,180,170,30); c.add(jtf3); xg.setBounds(80,230,60,35); c.add(xg); xg.addActionListener(newActionListener()//為〞修改“按鈕添加事件觸發(fā) { publicvoidactionPerformed(ActionEvente)//當(dāng)修改的按鈕被點(diǎn)擊時(shí)執(zhí)行 { JButtonxg=(JButton)e.getSource(); Stringxinming=jtf1.getText();//獲取文本框的數(shù)據(jù) Stringshuxin=jtf2.getText(); Stringxinshuju=jtf3.getText(); a.UpdateXm(xinming,shuxin,xinshuju); setVisible(false);;}}); ((JComponent)this.getContentPane()).setOpaque(false);//設(shè)置背景圖片 .URLurl=JavaSql.class.getResource("背景2.jpg"); ImageIconimg=newImageIcon(url); JLabelbackground=newJLabel(img); this.getLayeredPane().add(background,newInteger(Integer.MIN_VALUE)); background.setBounds(0,0,img.getIconWidth(),img.getIconHeight()); }publicvoidactionPerformed(ActionEvente) {JButtonb3=(JButton)e.getSource();//當(dāng)主功能選項(xiàng)面板的〞修改已有學(xué)生信息“的按鈕被點(diǎn)擊時(shí)執(zhí)行 Objectaa=JOptionPane.showInputDialog(null,"請(qǐng)選擇按何種方式修改","選擇",//彈出窗口讓用戶(hù)選擇按何種方式進(jìn)行修改JOptionPane.QUESTION_MESSAGE,null,newString[]{"學(xué)號(hào)","姓名"},"學(xué)號(hào)"); if(aa=="學(xué)號(hào)"){//當(dāng)用戶(hù)選擇按〞學(xué)號(hào)“修改時(shí)執(zhí)行 b="學(xué)號(hào)"; this.jiemian(); } if(aa=="姓名"){//當(dāng)用戶(hù)選擇按〞姓名“修改時(shí)執(zhí)行 b="姓名"; this.jiemian2(); } } }classJ_ActionListener4implementsActionListener{//創(chuàng)立J_ActionListener2類(lèi)監(jiān)聽(tīng)功能選項(xiàng)面板"添加新的學(xué)生信息"的按鈕publicvoidactionPerformed(ActionEvente) {JButtonb4=(JButton)e.getSource(); DataBasea=newDataBase();//實(shí)例化DataBase類(lèi) Objectaa=JOptionPane.showInputDialog(null,"請(qǐng)選擇按何種方式刪除","選擇",JOptionPane.QUESTION_MESSAGE,//彈出窗口讓用戶(hù)選擇按何種方式進(jìn)行刪除 null,newString[]{"學(xué)號(hào)","姓名"},"學(xué)號(hào)");if(aa=="學(xué)號(hào)"){Stringstr11=JOptionPane.showInputDialog("請(qǐng)輸入要?jiǎng)h除的記錄的學(xué)號(hào)");//當(dāng)用戶(hù)選擇按〞學(xué)號(hào)“刪除時(shí)執(zhí)行 a.DeleteXh(str11);//執(zhí)行DataBase類(lèi)的DeleteXh方法} else{Stringstr13=JOptionPane.showInputDialog("請(qǐng)輸入要?jiǎng)h除的記錄的姓名");//當(dāng)用戶(hù)選擇按〞姓名“修改時(shí)執(zhí)行 a.DeleteXm(str13);//執(zhí)行DataBase類(lèi)的DeleteXm方法} }}classJ_ActionListener5implementsActionListener{//創(chuàng)立J_ActionListener2類(lèi)監(jiān)聽(tīng)功能選項(xiàng)面板"關(guān)于學(xué)籍管理系統(tǒng)"的按鈕 publicvoidactionPerformed(ActionEvente)//按鈕被點(diǎn)擊執(zhí)行 {JButtonb5=(JButton)e.getSource(); JOptionPane.showMessageDialog(null,"******本系統(tǒng)由吳曉陽(yáng)陳秀麗制作******\n************日期:2023年12月************");}}classJavaSqlextendsJFrameimplementsActionListener{//主類(lèi)JavaSql //添加設(shè)置用戶(hù)名和密碼輸入的圖形界面JFramedenglu=newJFrame("登錄");//創(chuàng)立〞登錄“的框架JButtonquedin=newJButton("確定");//創(chuàng)立〞確定“按鈕JLabelt1=newJLabel("管理員號(hào):");//創(chuàng)立標(biāo)簽〞管理員號(hào)“JTextFieldt2=newJTextField(null,15);//創(chuàng)立管理員號(hào)的輸入欄JLabelt3=newJLabel("登錄密碼:");//創(chuàng)立標(biāo)簽"登錄密碼"JTextFieldt4=newJPasswordField(null,15);//創(chuàng)立登錄密碼的輸入欄 publicvoidinit(){//在數(shù)據(jù)庫(kù)中創(chuàng)立一張〞學(xué)籍管理系統(tǒng)“表 try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connectionc=DriverManager.getConnection("jdbc:odbc:studentdatabase"); Statements=c.createStatement(); s.executeUpdate( "createtable學(xué)籍管理系統(tǒng)("+ "學(xué)號(hào)char(15)CONSTRAINTauthIndexPRIMARYKEY,"+ "姓名char(10),"+ "性別char(4),"+ "學(xué)院char(8),"+ "班級(jí)char(8),"+ "籍貫char(5))"); s.close(); c.close(); System.out.println("********歡送使用學(xué)籍管理系統(tǒng)**********"); } catch(Exceptione)//該表已存在 { System.out.println("********歡送使用學(xué)籍管理系統(tǒng)**********"); } } publicvoidzhujiemian()//定義jiemian()的方法,創(chuàng)立主功能的圖形界面 { Containerc=getContentPane();//設(shè)置主功能界面的按鈕的大小和坐標(biāo)位置 c.setLayout(null); JButtonb1=newJButton("顯示已有學(xué)生信息"); b1.setBounds(10,10,160,30); JButtonb2=newJButton("添加新的學(xué)生信息"); b2.setBounds(10,45,160,30); JButtonb3=newJButton("修改已有學(xué)生信息"); b3.setBounds(10,80,160,30); JButtonb4=newJButton("刪除已有學(xué)生信息"); b4.setBounds(10,115,160,30); JButtonb5=newJButton("關(guān)于學(xué)籍管理系統(tǒng)"); b5.setBounds(10,150,160,30); JButtonb6=newJButton("退出學(xué)籍管理系統(tǒng)");b6.setBounds(10,185,163,30); J_ActionListener1a1=newJ_ActionListener1();//實(shí)例化各個(gè)按鈕監(jiān)聽(tīng)的類(lèi) J_ActionListener2a2=newJ_ActionListener2(); J_ActionListener3a3=newJ_ActionListener3(); J_ActionListener4a4=newJ_ActionListener4(); J_ActionListener5a5=newJ_ActionListener5(); b1.addActionListener(a1); b2.addActionListener(a2); b3.addActionListener(a3); b4.addActionListener(a4); b5.addActionListener(a5); b6.addActionListener(newActionListener()//為〞退出學(xué)籍管理系統(tǒng)“的按鈕添加事件監(jiān)聽(tīng)觸發(fā) { publicvoidactionPerformed(finalActionEvente) { System.exit(0);//該按鈕點(diǎn)擊時(shí),退出學(xué)籍管理系統(tǒng) } }); c.add(b1);//將按鈕逐個(gè)添加到面板里 c.add(b2); c.add(b3); c.add(b4); c.add(b5); c.add(b6); } publicvoiddenglumenu(){ denglu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設(shè)置登錄界面的按鈕標(biāo)簽的的大小和具體坐標(biāo)位置 denglu.setSize(680,530); denglu.setVisible(false); denglu.setLocation(200,200);

溫馨提示

  • 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)論