高校學(xué)生學(xué)籍管理系統(tǒng)制作指南_第1頁
高校學(xué)生學(xué)籍管理系統(tǒng)制作指南_第2頁
高校學(xué)生學(xué)籍管理系統(tǒng)制作指南_第3頁
高校學(xué)生學(xué)籍管理系統(tǒng)制作指南_第4頁
高校學(xué)生學(xué)籍管理系統(tǒng)制作指南_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

某高校學(xué)生學(xué)籍管理系統(tǒng)設(shè)計與開發(fā)

1.引言

1.1項目來源:采用計算機(jī)化管理系統(tǒng)能提高操作員的操作效率,減少出錯

的也許性,并且計算機(jī)可以自己自動完畢某些常用的記錄功能,可以極大地節(jié)省

時間,其經(jīng)濟(jì)效益和社會效益是很明顯的。

1.2.任務(wù)目的:本系統(tǒng)是對一種學(xué)校H勺學(xué)生學(xué)籍進(jìn)行管理,它重要包括多種

信息的錄入,修改,刪除等操作,并能對多種信息口勺查詢生成多種圖來形象顯示

成果

1.3應(yīng)用價值:此系統(tǒng)便于管理人員一目了然地掌握學(xué)生的學(xué)籍狀況。

2.項目規(guī)劃

2.1項目資源:

.硬件規(guī)定:P41.0或更高。

內(nèi)存:128MB或更高。

硬盤空間:20MBo

.軟件環(huán)境

操作系統(tǒng):windows2023/windowsNT/windowsXP0

數(shù)據(jù)庫:access2023;

開發(fā)工具:eclipse;

辨別率:1024像素*768像素;

2.2.項目進(jìn)程:

.任務(wù)描述:

.1學(xué)籍信息管理:對學(xué)生學(xué)籍的基本信息進(jìn)行管理。

.2查詢:按姓名、學(xué)號或班級查詢學(xué)生的學(xué)籍信息。

.4.記錄:對學(xué)生基本信息進(jìn)行記錄。

.進(jìn)度安排:

進(jìn)度完畢任務(wù)所需時間

系統(tǒng)設(shè)計總體籌劃2周

系統(tǒng)資料搜集和整頓1周

軟件模塊、接口設(shè)計、數(shù)據(jù)庫定義1周

數(shù)據(jù)庫設(shè)計1周

軟件代碼設(shè)計2周

軟件代碼測試1周

系統(tǒng)確認(rèn)及驗收1周

2.3項目可行性評估

2.3.1技術(shù)可行性:本系統(tǒng)采用eclipse+access構(gòu)架而成,eclipse是一種

相稱著名的開源Java二DE,由IBM企業(yè)開源。Eclipse重要以其開放性、極為高

效口勺GUI、先進(jìn)的代碼編輯器等著稱,其項目包括許多多種各樣的子項目組,包

括Eclipse插件、功能部件等。任何人都可以輕易的將自己口勺軟件做成Eclipse

的插件、并且這些插件只需簡樸的復(fù)制到Eclipse的插件文獻(xiàn)夾下就可以被集

成。重要采用SWT界面庫,支持多種本機(jī)界面風(fēng)格。eclipse是當(dāng)今java最佳

的開發(fā)平臺,它能自動生成諸多代碼,大大提高了代碼的輸入效率,因此,能很

好的縮短系統(tǒng)開發(fā)所需時間,以更好的減少系統(tǒng)開發(fā)成本,而access為

Microsoft企業(yè)生產(chǎn)的數(shù)據(jù)庫產(chǎn)品,有很好的穩(wěn)定性和兼容性,它是桌面型數(shù)據(jù)

庫,操作靈活、轉(zhuǎn)移以便、運行環(huán)境簡樸,對于小型網(wǎng)站的數(shù)據(jù)庫處理能力效果

很不錯,它提供了表、查詢、窗體、報表、頁、宏、模塊7種用來建立數(shù)據(jù)庫系

統(tǒng)日勺對象;提供了多種向?qū)?、生成器、模板,把?shù)據(jù)存儲、數(shù)據(jù)查詢、界面設(shè)計、

報表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了以便,也使得

一般顧客不必編寫代碼,就可以完畢大部分?jǐn)?shù)據(jù)管理的任務(wù)。這兩種技術(shù)都屬于

當(dāng)今流行技術(shù),兩者日勺組合將更能使系統(tǒng)的功能發(fā)揮出來。

2.3.2計劃可行性:此系統(tǒng)所需時間不是諸多,環(huán)節(jié)相對于某些別H勺大型系

統(tǒng)來說,是比較簡樸的,因此,強(qiáng)度也不是很大,按照估計的進(jìn)度的話,在兩個

月左右內(nèi)應(yīng)當(dāng)能很順利的完畢任務(wù)。

2.3.3應(yīng)用可行性:本系統(tǒng)合用于windows操作系統(tǒng),windows操作系統(tǒng)為

當(dāng)今社會最流行的操作系統(tǒng),重要長處為人機(jī)交互性好,而本系統(tǒng)對應(yīng)于此操作

系統(tǒng)而設(shè)計開發(fā),也將能很好地做到這一點。此外,本系統(tǒng)采用日勺是java和

ACCESS技術(shù)。這兩種技術(shù)都能很好地在windows操作系統(tǒng)上運行,因此此系統(tǒng)

能很好日勺應(yīng)用于學(xué)校日勺學(xué)生學(xué)籍日勺管理,能做到以便,高效日勺管理好學(xué)生的學(xué)籍

信息。

3.系統(tǒng)需求分析

3.1業(yè)務(wù)需求

3.1.1業(yè)務(wù)組織:高校學(xué)生學(xué)籍管理中心

3.1.2業(yè)務(wù)定義:管理高校的學(xué)生學(xué)籍信息。

3.2功能需求

3.2.1功能構(gòu)成:本系統(tǒng)是對學(xué)生日勺學(xué)籍信息進(jìn)行管理,重要包括添加、修

改和刪除學(xué)生的基本信息,對基本信息進(jìn)行查詢、排序及記錄等操作,從而實現(xiàn)

學(xué)生管理的自動化與計算機(jī)化。

3.2.2功能定義:系統(tǒng)管理是便于后來系統(tǒng)升級;對學(xué)生學(xué)籍信息的操作在信

息管理模塊中完畢,包括錄入、修改、刪除等操作;查詢和記錄分別在各自H勺模

塊中。

流程圖設(shè)計(系統(tǒng)管理員);

模塊定義:

主模塊:

輸入:操作系統(tǒng)傳遞日勺多種信息以及顧客輸入日勺多種數(shù)據(jù)。

輸出:系統(tǒng)啟動界面顯小。

系統(tǒng)登錄模塊:

輸入:選擇顧客并輸入口令V

輸出:確認(rèn)后顯示主菜單。

系統(tǒng)設(shè)置模塊:

輸入:數(shù)據(jù)并確認(rèn)

輸出:彈出對話框顯示設(shè)置成功與否

修改口令模塊:

輸入:兩次新口令并確認(rèn)

輸出:口令修改成功與否

學(xué)生學(xué)籍操作模塊:

1).錄入模塊:

輸入:學(xué)號等信息

輸出:確認(rèn)并提醒錄入成功與否。

2).修改模塊:

輸入:需要修改日勺信息

輸出:確認(rèn)并提醒修改成功與否。

3)刪除模塊:

輸入:需要刪除的信息。

輸出:確認(rèn)并提醒刪除成功與否。

數(shù)據(jù)查詢模塊:

輸入:選擇查詢方式并確認(rèn)

輸出:顯示查詢成果

數(shù)據(jù)記錄模塊:

輸入:選擇需要記錄的數(shù)據(jù)并確認(rèn)

輸出:顯示記錄成果

3.3數(shù)據(jù)需求

3.3.1靜態(tài)數(shù)據(jù)定義如下表所示:

名稱字段名稱數(shù)據(jù)類型主鍵非空

標(biāo)識ID自動編號YesYes

學(xué)號Num數(shù)字NoYes

姓名Name文本NoYes

性別Sex文本NoYes

民族Ehtnic文本NoNo

班級Class文本NoNo

生日Birthday文本NoNo

籍貫Home文本NoNo

3.3.2數(shù)據(jù)ER圖:

學(xué)生基本信息ER圖

學(xué)生學(xué)籍管理ER圖

數(shù)據(jù)查詢ER圖

記錄ER圖

3.4其他需求:界面友好,易于操作,數(shù)據(jù)傳播迅速高效。

4.系統(tǒng)構(gòu)造設(shè)計

4.1系統(tǒng)總體框架如圖所示:

4.2軟件構(gòu)造設(shè)計

重要劃分為三個模塊:

1).信息管理模塊:對學(xué)生學(xué)籍日勺基本信息進(jìn)行綜合管理,可以添加、修改

及刪除基本信息。

2).查詢模塊:查詢學(xué)生的基本學(xué)籍信息。

3).記錄模塊:根據(jù)不一樣特性對學(xué)生日勺狀況進(jìn)行記錄。

顧客

本系統(tǒng)的顧客可分為三類,系統(tǒng)管理員、教師、學(xué)生。

1).系統(tǒng)管理員:可以添加學(xué)生檔案資料、修改學(xué)生檔案資料、查詢學(xué)生檔

案資料。

2).教師:可以查詢學(xué)生學(xué)生的檔案資料,并可以查看系統(tǒng)開放給老師看時

信息。

3).學(xué)生:可以查詢自身檔案的開放信息,例如姓名、出生年月、政治面貌

等,不過不可以查詢自身檔案的不開放信息。

接口設(shè)計:

1).顧客接口:

按windows應(yīng)用軟件操作界面口勺規(guī)范來設(shè)計,使用以對話框為主的顧客界

面,便于顧客操作。

1.主對話框:由五個功能按鈕構(gòu)成:

系統(tǒng)管理、信息管理、查詢、記錄、協(xié)助。

2.信息管理添加對話框:

學(xué)號編輯框:用于輸入學(xué)生學(xué)號;

姓名編輯框:用于輸入學(xué)生姓名;

性別編輯框:用于輸入學(xué)生性別;

民族編輯框:用于輸入學(xué)生所屬民族;

所在班級編輯框:用于輸入學(xué)生所在班級;

出生日期編輯框:用于輸入學(xué)生出生日期;

籍貫編輯框:用于輸入學(xué)生的籍貫信息、;

保留按鈕:用于將在上面所述日勺編輯框內(nèi)輸入信息后將此學(xué)生信息存入

數(shù)據(jù)庫。

取消按鈕:用于取消本次輸入;

退出按鈕:用于退出錄入對話框;

3.信息管理修改信息對話框:

學(xué)號編輯框:用于輸入學(xué)生學(xué)號;

姓名編輯框:用于輸入學(xué)生姓名;

性別編輯框:用于輸入學(xué)生性別;

民族編輯框:用于輸入學(xué)生所屬民族;

所在班級編輯框:用于輸入學(xué)生所在班級;

出生日期編輯框:用于輸入學(xué)生出生日期;

籍貫編輯框:用于輸入學(xué)生的籍貫信息;

查詢按鈕:用于查詢輸入日勺學(xué)生信息,以修改其中日勺信息;

退出按鈕:用于退出信息修改對話框;

4.信息管理刪除信息對話框:

學(xué)號編輯框:用于輸入學(xué)生學(xué)號;

姓名編輯框:用于輸入學(xué)生姓名;

性別編輯框:用于輸入學(xué)生性別;

民族編輯框:用于輸入學(xué)生所屬民族;

所在班級編輯框:用于輸入學(xué)生所在班級;

出生日期編輯框:用于輸入學(xué)生出生日期;

籍貫編輯框:用于輸入學(xué)生的籍貫信息;

查詢按鈕:用于查詢輸入日勺學(xué)生信息,以便于管理員確認(rèn)其信息以決定

與否刪除此學(xué)生信息。

退出按鈕:用于退出刪除信息對話框;

5.查詢對話框:

請選擇查詢方式:用于選擇查詢方式,有按姓名、按學(xué)號、按班級三種

方式。選擇后,就會出現(xiàn)對應(yīng)的對話框。

按姓名查詢編輯框:用于輸入想要查詢的學(xué)生姓名;

按學(xué)號查詢編輯框:用于輸入想要查詢『、J學(xué)生學(xué)號;

按班級查詢編輯框:用于輸入想要查詢向?qū)W生班級;

確定按鈕:查詢信息日勺人員確認(rèn)輸入無誤后點確承認(rèn)獲取查詢成果;

取消按鈕:用于取消本次查詢

6.記錄對話框:

請選擇記錄選項:用于選擇需要記錄日勺數(shù)據(jù),有按學(xué)號、按性別、按班

級、按出生年月四種方式,選擇后,將會出現(xiàn)對應(yīng)的對話框。

按性別記錄編輯框:可選擇男或女,用于查詢學(xué)生H勺性別數(shù)據(jù);

按班級記錄編輯框:用于查詢每個班的數(shù)據(jù);

按出生年月記錄編輯框:用于查詢學(xué)生的年齡段分布狀況;

確定按鈕:記錄人員確認(rèn)輸入無誤后點確承認(rèn)獲取記錄成果;

取消按鈕:用于取消本次記錄;

2).軟件接口:

使用access的驅(qū)動程序。

4.3數(shù)據(jù)構(gòu)造:

4.3.1:數(shù)據(jù)庫與程序的聯(lián)絡(luò):

1).主模塊:連接數(shù)據(jù)庫

2).信息管理模塊:

信息錄入模塊:讀入學(xué)號、姓名、性別、民族、所在班級、出生日

期、籍貫等信息。

信息修改模塊:讀入對應(yīng)的輸入信息,顯示學(xué)生信息;

信息刪除模塊:讀入對應(yīng)的輸入信息,顯示學(xué)生信息。

3).查詢模塊:

對應(yīng)于多種查詢方式輸出對應(yīng)的I學(xué)生信息。

4).記錄模塊:

對應(yīng)于多種記錄方式輸出對應(yīng)的學(xué)生記錄信息。

5).系統(tǒng)操作模塊:

系統(tǒng)操作權(quán)限查驗?zāi)K:讀入帳號,口令,輸出對應(yīng)H勺信息。

學(xué)籍信息操作模塊:增長,修改,刪除圖書表中H勺信息。

數(shù)據(jù)查詢模塊:制定查詢條件,輸出對應(yīng)的信息。

數(shù)據(jù)記錄模塊:指定記錄條件,輸出對應(yīng)的信息。

數(shù)據(jù)備份模塊:復(fù)制學(xué)生學(xué)籍信息表,系統(tǒng)操作員登記表。

數(shù)據(jù)恢復(fù)模塊:讀取學(xué)生學(xué)籍信息表,系統(tǒng)操作員登記表。

5.系統(tǒng)詳細(xì)設(shè)計:

5.1:功能模塊詳細(xì)設(shè)計:

:定義對象:

〃定義內(nèi)容面板

JpnelcontentPane;

〃定義布局格式

XYLayoutxYLayoutl=newXYLayout();

〃定義菜單欄

JMcnuBarmainMenu=newJMenuBar();

〃定義系統(tǒng)管理菜單及其菜單項

JMenumenuSystem=newJMenuItemO;

JmenuItemitemExit=newJmenuitem();

〃定義信息管理菜單及其菜單項

JMenumenuinfo=newJMenu();

JMenuTtemitemShow=newJMenuItemO;

JMenuIternitemAdd=newJMenuItemO;

JMenuItomitemEdit=ncwJMenuItemO;

JmenulternitemDelcte=ncwJMenuItemO;

〃定義查詢菜單及其菜單項

JMenumenuSearchAll=newJMenu();

〃人員查詢菜單是查詢下日勺一種二級菜單

JMenumenuSearch=newJMenu();

JMenuItemitemSearchByName=newJMenuItemO;

JMenuItemitemSearchByNum=newJMenuItemO;

JMenuItemitemSearchByC1ass=newJMenuItemO;

JMenuTtemitemSearchGrade=newJMenuItemO;

〃定義記錄菜單及其菜單項

JMenumenuSum=newJMenu();

JMenuItomitemSumPcop1c=ncwJMenuItemO;

JMenuItcmitemSuniGrade=newJMenuItemO;

〃定義協(xié)助菜單及其菜單項

.(Menumenullelp=newJMenuO;

JMenuItemitemAbout=newJMenuItemO;

ResultSetrs;

Stringsql=newString();

DatabaseDB=newDatabase();

publicstaticstulnfoSIFall=newstuInfoO;

publicstaticeditStuInfoeditInfo=newcditStuInfoO;

publicstaticdelStuInfodellnfo=newdelStuInfoO;

publicstaticgradeinfogralnfo=newgradelnfoO;

〃設(shè)定contentPane為窗體默認(rèn)面板

contentPane=(JPanel)this.getContentPane();

〃設(shè)定contentPane布局為xYLayoutl

contentPane.setLayout(xYLayoutl);

〃設(shè)定窗體大小

this.setSize(newDimension(400,300));

〃設(shè)置窗體的名稱

this.setTitle(〃學(xué)生學(xué)籍管理系統(tǒng)〃);

mcnuSystcm.setTcxt(〃系統(tǒng)管理”);

menuinfo.sttText]〃信息管理");

menuSearchAll.setText(〃查詢〃);

menuSum.setText("查詢?nèi)藛T〃);

menuHelp.setText協(xié)助〃);

itemShow.setText「信息綜合管理”);

itemAdd.setText("添加信息〃);

itemEdit.setText1〃修改信息〃);

itcmDcletc.setText("刪除信息");

itemExit.setText("退出〃);

itemSearchByName.setText(〃按姓名〃);

itemSearchByNum.setText("按學(xué)號”);

itemSearchB)<lass.setText(〃按班級〃);

itemSumPeople.setText(〃〃);

iteinAbout.setText(〃〃);

〃設(shè)置主窗體的菜單欄為mainMenu

this,setJmenuBar(mainMenu);

〃窗體關(guān)閉按鈕日勺響應(yīng)動作

protectedvoidprocessWindowEvent(WindowEvente){

super.processWindowEvent(e);

if(e.getID()=Windowevent.WIND0W_CL0SING){

System,exit(0);

}

〃退出應(yīng)用程序

voiditemExitactionPerformed(ActionEvente){

System,exit(0);

)

〃人員信息綜合管理

voiditemShowactionPerformed(ActionEvente){

SIFall.setLocation(200,160);

SIFall.pack();

SIFall.show();

SIFall.setNull();

SIFall.setAvled(false);

SIFall.setButton(true,false,false,false,false);

)

//添加人員信息

voiditemAddactionPerformed(ActionEvente){

addStuInfodig=newaddStuInfoO;

DimensiondlgSizc=dlg.getPrcferredSize0;

DimensionfrmSize=getSize();

Pointloc=getLocation();

dig.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.he

ight-dlgSize.height;/2+loc.y);

dig.pack();

dig.show();

dig.setExeType(^addnew^);

)

〃修改人員信息

voiditemEdit_actionPerformed(ActionEvente){

DimensiondlgSize=editInfo.getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

editinfo.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSi

ze.height-dlgSize.height)/2+loc.y);

editinfo.pack();

editinfo,show();

)

〃刪除人員信息

voiditemDcletc_actionPcrformed(ActionEvcnte){

DimensiondlgSize=delInfo.getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

dellnfo.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSiz

e.height-dlgSize.height)/2+loc.y);

delInfo,pack();

dellnfo.show();

)

〃顯示按姓名查詢

voiditemSearchByName_actionPerformed(ActionEvente){

classsearchByNameextendssearch{

publicsearchByName()(

jRByName.setVisible(false);

jRByNum.setVisible(false);

jRByClass.setVisible(false);

xYLayoutl,setHeight(110);

)

}

searchByNamebyName=newsearchByName0;

DimensiondlgSizc=byName.gctPrcferrcdSizc();

DimensionrrmSize=getSize();

Pointloc=getLocation();

byName.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize

.height-dlgSize.height)/2+loc.y);

byName,pack();

byName.setLabelText(〃請輸入要查詢?nèi)藛T的名字:〃);

byName.setType(,/Name,/);

byNamc.show();

}

〃顯示按學(xué)號查詢

voiditemSearchByNumactionPerformed(ActionEvente){

classsearchByNumextendssearch{

publicsearchByNum(){

jRByName.setVisible(false);

jRByNum.setVisible(false);

jRByClass.setVisible(false);

xYLayoutl.setHeight(110);

}

)

searchByNumbyNum=ncwsearchByNum();

DimensiondlgSize=byNum.getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

byNum.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.

height-dlgSize.height)/2+loc.y);

byNum.pack();

byNum.selLabelText(〃請輸入要查詢?nèi)藛T『、J學(xué)號〃);

byNum.sctTyppc(〃NunT);

byNum.show();

)

〃顯示按班級查詢

voiditemSearchByC1ass_actionPerformed(ActionEvente){

classsearchB5<lassextendssearch{

publicsearchByClass(){

jRByName.setVisible(false);

jRByNum.setVisible(false);

jRByClass.setVisible(false);

xYLayoutl.setHeight(110);

}

searchByClassbyClass=newsearchByClass();

DimensiondlgSize=byClass.getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

byClass.setLocation;(frmSize.width-dlgSize.width)/2+loc.x,(frmSize.he

ight-dlgSize.height)/2+loc.y);

byClass,pack();

byClass.setLabclTcxt(〃請輸入要查詢?nèi)藛T歐|班級:〃);

byClass.setType("Class");

byClass.show();

}

〃人員記錄

voiditemSumPeopleactionPerformed(ActionEvente){

sumPeoplepeople=newsumPeople0;

DimensiondlgSize=pcople.getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

people.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize

.height-dlgSize.height)/2+loc.y);

people,pack();

people,show();

}

5.1.2:信息管理模塊詳細(xì)設(shè)計:

.1綜合模塊

〃定義窗體中所用到日勺對象

JPaneljPanell=newJPanel0;

XYLayoutxYLayoutl=ncwXYLayout0;

XYLayoutxYLayoutl=newXYLayout0;

JLabeljLabell=newJLableO;

JLabeljLabel2=newJLableO;

.(LabeljLabe13=newJLableO;

JLabeljLabel4=newJLableO;

JLabeljLabe15=newJLableO;

JLabeljLabel6=newJLableO;

JLabeljLabel7=newJLableO;

JTextFieldjTNum=newJTextFieldO;〃輸入學(xué)號

JTextFieldjTName=newJTextField();〃輸入姓名

JTextFieldjTSex二newJTextFieldO;〃輸入性別

JTextFieldjTHome=newJTextFieldO;〃輸入籍貫

JTextFieldjTBirth=newJTextField();〃輸入生日

JTextFieldjTEthnic=newJTextField();〃輸入民族

JTextFieldjTClass二newJTextField。;〃輸入班級

JButtonjBAdd=newJButtonO;〃添加

JButtonjBModify:newJButtonO;〃修改

JButtonjBDelete二newJButtonO;〃刪除

JButtonjBCancel二newJButton();〃取消

JButtonjBSavc=newJButtonO;〃保留

JButtonjBExit=newJButton();〃退出

JButtonjBSearch:newJButtonO;〃查詢

JButtonjBSum二newJButtonO;〃人員記錄

StringextType=newString。;〃標(biāo)識操作類型

DatabaseDB=newDatabase();〃連接數(shù)據(jù)庫

ResultSetrs;〃返回成果

Stringsql=newString。"/SQL語句

〃初始化時設(shè)置文本框不可編輯

setAbled(false);

〃初始化時除添加按鈕外,其他操作信息日勺按鈕均不可用

setButton(true,false,false,false,false);

〃設(shè)置文本框與否可編輯

voidsetAbled(booleanlogic){

jTNum.setEnabled(logic);

jTEthnic.setEnabled(logic);

jTName.setEnabled(logic);

jTClass.setEnabled(logic);

jTSex.setEnabled(logic);

jTBirth.setEnabled(logic);

jTHomc.setEnabled(logic);

}

〃設(shè)置按鈕的I狀態(tài)

voidsetButton(booleanadd,booleanxiugai,booleandel,boolean

save,booleancanceE(

jBAdd.setEnabled(add);

jBModify.setEnabled(xiugai);

jBDelete.setEnabled(del);

jBSave.setEnabled(save);

jBCancel.setEnabled(cancel);

)

〃將文本框清空

voidsetNulll(){

jTNum.setText(null);

jTEthnic.setText(null);

jTName.setText(null);

jTClass.setText(null);

jTSex.setText(null);

jTBirth.setText(nul1);

jTHome.setText(null);

)

〃設(shè)置操作類型

voidsetExtType(Stringtype){

extType=type;

}

〃新增人員基本信息

voidJBAdd_actionPerformed(ActionEvente){

setExtType(,,addnew,/);

setNull();

this.set/\bled(true);

this.setButton(false,false,false,true,true);

}

//修改目前人員信息

voidjBModify_actionPerformed(ActionEvente){

setExeType("edit");

setAbled(true);

setButton(false,false,false,true,true);

)

〃刪除目前人員信息

voidjBDeleteactionPerformed(ActionEvente){

Stringsql;

sql="deletefromstuTablewhere

Num=,,+Integer.parselnt(jTNum.getText());

if(DB.executeSql(sql)){

JOptionPane.showMessageDialog(null,"成功刪除信息!”);

)

else{

JOptionPane.showMessageDialog(null,"刪除信息失??!〃);

)

)

〃保留信息

voidjBSaveactionPerformed(ActionEvente){

〃判斷操作類型,若是新增,則插入信息,若是編輯,則更新信息

if(cxeType二="addncw〃){

〃檢查新增的學(xué)號在數(shù)據(jù)庫中與否已經(jīng)存在

sql=/,selectNumfromstuTablewhere

Num=〃+Integer.parseZnt(jTNum.getText());

rs=DB.getResult(sql);

try(

〃從數(shù)據(jù)庫中查詢目前學(xué)號,若不為空,闡明此學(xué)號已存在

if(rs.first0){

JOptionPane.showMessagcDialog(null,〃學(xué)號不能反復(fù)!〃;;

setNull();

)

else(

〃若不反復(fù),生成SQL語句

sql二〃insertinto

stuTable(Num,Name,Sex,Ethnic,Class,Birthday,Home)values(〃;

sql=sql+〃〃+Integer.parselnt(jTNum.getText())+〃,〃;

sql=sql+〃'"+jTName.getText()一〃',〃;

sql=sql+"'〃+jTSex.gelText()+”',〃;

sql=sql+〃'〃+jTElhnic.getText:)+〃',〃;

sql=sql+''"+jTClass.getTextC+〃',〃;

sql=sql+///z+Integer.parselnt(jTBirth.getText())+〃,

sql=sql+"'/z+jTHome.getText。-“'〃;

sql=sql+〃)〃;

if(DB.executeSql(sql)){

setAbled(false);

JOptionPane.showMessageDialog(nul1,〃成功添加信息!

〃);

sctButton(true,true,true,false,false);

}

else{

JOptionPane.showMessageDialog(null,“添加信息失敗!

〃);

)

)

}

catch(SQLExceptionex){

JOptionPane.showMessageDialog(nul1,〃添加信息失??!〃);

}

)

〃假如操作類型為編輯,則執(zhí)行更新操作

elseif(extType=,/edit/z){

sql=,,updatestuTableSETName=,z,+jTName.getTextO.toStringD;

sql=sql+z,Sex=,z,+jTSex.getText().toString()+〃',〃;

sql=sql+〃Ethnic='〃+jTEthnic.getText;).toString()+〃',〃;

sql=sql+“Class='〃+jTClass.getText().toString()+〃,,";

sql=sql+〃Birthday=〃+Integer.parselnt(jTbirth.getText())+〃,

sql=sql+〃Home='〃+jTHome.getText().toString()+"'

sql=sql+〃whcrcNum=〃+Intcgcr.parselnt(jTNum.getText0)+〃”;

if(DB.execute(Sql)){

JOptionPane.showMessageDialog(null,〃成功更新信息!〃);

setButton(true,true,true,false,false);

setAbled(false);

)

else{

JOptionPane.showMessageDialog(null,〃更新信息失敗!〃);

}

)

)

〃取消,放棄目前操作

voidjBCancel_actionPerformcd(ActionEvcnte){

this.setAbled(false);

if(exeType二二〃addne'v〃){

this.setNull;);

}

this.setButton(true,true,true,false,false);

)

〃退出,關(guān)閉目前窗口

voidjBExit_actionPcrformcd(ActionEvcntc){

this,dispose();

)

〃查詢

voidjBSearch_actionPerformed(ActionEvente){

searchby=newsearch();

DimensiondlgSize=by.getPreferredSize();

DimensionfrmSize=getSize();

Pointloc=getLocation();

by.seLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.heig

ht-dlgSize.height)/2+loc.y);

by.pack();

by.sctLablcTcxt(〃請選擇查詢方式:〃);

by.jTContent.setEnabled(false);

by.show();

}

〃切換到人員記錄

voidjBSumactionPerfonned(ActionEvente){

sumPeoplepeople=newsumPeople();

DimensiondlgSize=people.getPreferredSize();

DimensionfrmSizc=getSizc0;

Pointloc=getLocation();

people.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize

.height-dlgSize.height)/2+loc.y);

people,pack();

people,show();

this.disposeO;

}

?2添加信息模塊

publicclassaddStuInfoextendsstuTnfo{

publicaddStuTnfoO{

〃設(shè)置修改、刪除、查詢、人員記錄按鈕為不可見

jBModify.setVisiblc(false);

jBDelete.setVisible(false);

jBSearch.setVisible(false);

jBSum.setVisible(false);

this.getContentPaneO.add(JPanel1,new

XYConstraints(3,-20,363,251));

JPanel1.add(jBAdd,newXYComstraints(102,218,53,23));

jPanell.add(jBSave,newXYConstraints(163,218,53,23));

jPancll.add(jBCanccl,newXYConstraints(224,218,53,23));

jPanell.add(jBExit,newXYConstraints(284,218,53,23));

xYLayoutl.setWidth(384);

xYLayoutl.setHeight(240);

this.setTitle("添加信息〃);

this.setExeType(,,addnew,/);

this.setAbled(true);

this.jBAdd.setEnabled(false);

this.jBSave.setEnabled(true);

this.jBCancel.setEnabled(true);

}

)

.3:修改信息模塊

publicclasseditStuInfoextendsstulnfo{

publiceditStuInfoO{

〃設(shè)置按鈕的可見性

JBAdd.setVisible(false);

jBModify.setVisible(false);

JBDelete.setVisible(false);

JBSum.setVisible(false);

〃重設(shè)按鈕和窗體的大小及位置

jBScarch.setTcxt("查詢”);

jBSearch.setMargin(newInsets(2,2,2,2));

this.getContentPaneO.add(JPanell,new

XYConstraints⑶-20,363,251));

jPanell.add(jBsearch,newXYConstraints(102,218,53,23));

jPanell.add(jBSave,newXYConstraints(163,218,53,23));

jPanell.add(jBCancel,newXYConstraints(224,218,53,23));

jPanell.add(jBExit,newXYConstraints(284,218,53,23));

xYLayout1.setWidth(384);

xYLayoutl.selHeight(240);

this.setAbled(false);

jBSave.setEnabled(false);

jBCancel.setEnaled(false);

this.setTitle("修改信息〃);

〃操作類型設(shè)為編輯

this.setExeType(,,edit,/);

}

voidJBSearchactionPerformed(ActionEvente){

searchby=newsearch();

DimensiondlgSizc=by.gctPrcferrcdSizc0;

DimensionfrnSizc=getSize0;

Pointloc=getLocation();

by.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.hei

ght-dlgSize.height)/2+loc.y);

by.pack();

by.setLableText(〃請選擇查詢方式:〃);

by.jTContent.setEnablcd(false);

by.show();

〃設(shè)置成果集返回類型

by.setShowType(^edit^);

.4:刪除信息模塊:

publicclassdelStulnfoextendsstulnfo{

publicdelStuInfoO{

〃設(shè)置按鈕日勺可見性

JBAdd.setVible(false);

JBModify.setVisible(false);

jBSavc.setVisible(false);

jBCancel.setVisible(false);

jBSum.setVisible(false);

jBSearch.settext(〃查詢〃);

jBSearch.setMargin(newInsets(2,2,2,2));

this.getContentPaneO.add(jPanel1,new

XYConstraints⑶-20,363,251));

jPanel.add(jBSearch,newXYConstraints(163,218,53,23));

jPanel.add(jBDelete,newXYConstraints(224,218,53,23));

jPanel.add(jBExit,newXYConstraints:284,218,53,23));

xYLayoutl.selWidth(384);

xYLayoutl.setHeight(240);

this.setAbled(false);

this.setTitle(〃刪除信息〃);

〃初始化時尚無人員信息,因此刪除按鈕設(shè)為不可用

jBDelete.setEnabled(false);

}

voidjBSearchactionPerformed(ActionEvente){

searchby=newsearch();

DimensiondlgSize=by.getPreferredSizeO;

DimensionfrnSizc=getSize0;

Pointloc=gctLocation();

by.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.hei

ght-dlgSize.height)/2+loc.y);

by.pack();

by.setLabelText(〃請選擇查詢方式:〃);

by.JTContent.setEnabled(false);

by.show();

by.setShowType("del〃);

}

)

5.1.3:查詢模塊詳細(xì)設(shè)計:

〃定義窗體所用到歐I本象

XYLayoutxYLayoutl=newXYLayout();

JLabeljLabe11=newjLabel():

〃輸入待查詢值

JTextField"Content=newJTextFieldO;

JButtonjB0K=newJButtonO;

JButtonjBCancel=newJButton0;

〃標(biāo)識查詢類別

StringsearchTyp=newStringO;

〃記錄查詢值

StringsearchValue=newStringO;

StringinfoShowType=newStringO;

〃定義用于數(shù)據(jù)庫操作日勺對象

DatabaseDB=newDatabase();

ResultSetrs;

Stringsql=newStringO:

〃定義單項選擇按鈕及一種按鈕組

JRadioButtonjRByName=newJRadioButton0:

JRadioButtonjRByNum=newJRadioButton();

JRadioButtonjRByClass=newJRadioButtonO:

ButtonGroupgroup=newButtonGroup():

jLabell.seFont(newJava.awt.Font("Dialog”,0,12));

xYLayoutl.setWidth(298);

xYLayoutl.setHeight(130);

this.getContentPane().setLayout(xYLayoutl);

jBOK.setText(〃確定〃);

jBOK.addActionListcncr(newsearchjBOKactionAdapter(this));

jBCancel.setFont(newJava.wat.Font(〃Dilog”,0,12));

jBCancel.setText(〃取消〃);

jBCancel.addActionListener(new

search_jBCancel_actionAdapter(this));

jTContent.setFont(newJava.awt.Font("Dialog”,0,12));

jTContent.setText(〃〃);

this.setTitle(〃人員查詢〃);

jRByName.setFont(newJava.awt.Font("Dialog”,0,12));

jRByName.setText(〃按姓名〃);

jRByName.addActionListener(new

searchjRByName_actionAdcipter(this));

jRByNum.setFont(newJava.awt.Font("Dilog”,0,12));

jRByNum.setText(〃按學(xué)號〃);

jRByNum.addActionListener(newsearch_jRByNum_actionAdapter(this));

jRByClass.setFont(newJava.awt.Font("Dialog”,0,12));

jRByClass.setText(〃按班級〃);

jRByClass.addActionListener(new

searchJRByClassactionAdapter(this));

group.add(jRByNamc);

group,add(jRByNum);

group,add(jRByClass);

this.getContentPane().add(JLabeli,new

XYConstraints(26,23,161,23));

this.getContentPane().add(JTContent,new

XYConstraints(30,57,130,25));

this.getContentPane().add(JBOK,newXYConstraints(200,23,66,24));

this.getContentPane().add(JBCancel,new

XYConstraints(200,59,66,24));

this.getContentPane().add(JRByName,new

XYConstraints(24,103,66,17));

this.getContentPane0.add(JRByNum,new

XYConstraints(95,103,-1,16));

this.getContentPane().add(JRByClass,new

XYConstraints(168,103,69,16));

voidsetLabelText(Stringcontent){

jLabel1.setText(content);

}

〃設(shè)置查詢類型

voidsetType(Stringi){

infoShowType=i;

)

〃設(shè)置要顯示的I人員信息窗體

voidsetShowT)rpe(Stringtype){

infoShowType=type;

}

voidlistShowO{

stuShowstuList=newstuShowO;

DimensiondlgSize=stuList.getPerferredSize();

DimensionfrnSize=getSize();

Pointloc=getLocation();

stuList.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSiz

e.height-dlgSize.height)/2+loc.y);

stuList.pack:);

stuList.show:);

stuList.resultShow(rs);

}

voidsetContent(stulnforesult){

try(

result.jTNum.setText(rs.getString(,,Num,/));

result.jTName.setText(rs.getString(〃Name〃));

result.jTSex.setText(rs.getString("Sex"));

result.jTHome.setText(rs.getString(〃Home〃));

result.jTClass.setText(rs.getString("Class")j;

result.jTEthnic.setText(rs.getString(,,Ehinic,/));

result.jTBirth.setText(rs.getString("Birthday"));

}

catch(SQLExceptionex){}

voidshowResult0{

〃在修改人員信息模塊中調(diào)用查詢

if(infoShowType二二〃edit〃){

setContent(menuClass.editlnfo);

menuClass.editinfo.setAbled(false);

menuClass.editlnfo.setButton(true,true,true,false,false);

)

〃在刪除人員模塊中調(diào)用查詢

elseif(infoShowType二二〃del〃){

setContent(menuClass.dellnfo);

menuClass.dellnfo.setAbled(false);

menuClass.dellnfo.setButton(true,true,true,false,false);

}

else{

menuClass.STFal1.setLocation(200,160);

menuClass.STFal1.pack();

menuClass.SIFall.show();

setContent(me

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論