




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一、開發(fā)背景3二、系統(tǒng)描述3三、詳細(xì)設(shè)計(jì)51模塊功能51.1系統(tǒng)人員管理模塊512、運(yùn)動(dòng)員管理模塊613、運(yùn)動(dòng)員成績(jī)管理模塊62、數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)73、界面及代碼設(shè)計(jì)93.1、登錄子系統(tǒng)開發(fā)93.2、系統(tǒng)用戶管理模塊113.3、運(yùn)動(dòng)員信息管理模塊153.4、運(yùn)動(dòng)員成績(jī)管理模塊17四、心得體會(huì)20五、參考文獻(xiàn)2120一、開發(fā)背景當(dāng)前,運(yùn)動(dòng)會(huì)已經(jīng)在全國(guó)普遍開展,許多學(xué)校每年都定期的舉行不同規(guī)模的 田徑運(yùn)動(dòng)會(huì)。但是,在運(yùn)動(dòng)會(huì)舉行過程中一直存在著參賽人數(shù)多, 項(xiàng)目設(shè)置復(fù)雜, 時(shí)間安排緊湊等問題,而且這些問題能否解決直接關(guān)系著運(yùn)動(dòng)會(huì)的成功與否。另一方面,人們對(duì)于比賽結(jié)果的實(shí)時(shí)性、準(zhǔn)確性、安全性、可靠性的要
2、求也越來越 高,而這些要求是人工操作很難實(shí)現(xiàn)的。同時(shí)競(jìng)賽組織者要盡量減少人為因素的 干擾,減少賽場(chǎng)作弊行為的發(fā)生,還要為參賽的教練員和運(yùn)動(dòng)員及時(shí)準(zhǔn)確地提供 競(jìng)賽的相關(guān)信息,輔助進(jìn)行競(jìng)賽的決策指導(dǎo)。因此,計(jì)算機(jī)技術(shù)的融入就成為一 種必然,而且逐漸成為運(yùn)動(dòng)會(huì)信息管理的核心所在。根據(jù)調(diào)查,現(xiàn)在全國(guó)已經(jīng)有不少學(xué)校在田徑運(yùn)動(dòng)會(huì)舉辦過程中采用了現(xiàn)代化 的計(jì)算機(jī)技術(shù)進(jìn)行運(yùn)動(dòng)會(huì)的系統(tǒng)管理, 有的已經(jīng)達(dá)到了一個(gè)相當(dāng)高的水平。 但是 我們發(fā)現(xiàn)這些運(yùn)動(dòng)會(huì)管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)標(biāo)準(zhǔn)不一,參差不齊,而且更多的情況下這些系統(tǒng)只是實(shí)現(xiàn)了對(duì)運(yùn)動(dòng)會(huì)的分?jǐn)?shù)統(tǒng)計(jì)等功能,在提供運(yùn)動(dòng)會(huì)的整個(gè)舉辦 過程中的人性化、自動(dòng)化服務(wù)等方面還有許多
3、不足和欠缺。 我們小組根據(jù)當(dāng)前學(xué) 校運(yùn)動(dòng)會(huì)的開展組織情況,結(jié)合運(yùn)動(dòng)會(huì)的組織原則和相關(guān)規(guī)定, 運(yùn)用現(xiàn)代計(jì)算機(jī) 技術(shù),以全新的模式設(shè)計(jì)開發(fā)了適合田徑運(yùn)動(dòng)會(huì)的校級(jí)運(yùn)動(dòng)會(huì)管理系統(tǒng)。采用了本運(yùn)動(dòng)會(huì)管理系統(tǒng)后,運(yùn)動(dòng)員在比賽前由院系統(tǒng)一輸入個(gè)人信息即 可,這樣就方便了運(yùn)動(dòng)員的報(bào)名,有錯(cuò)誤時(shí)可以及時(shí)匯報(bào)修改。裁判員單獨(dú)對(duì)各 自的項(xiàng)目進(jìn)行管理,保證上了比賽的公正、公平。每個(gè)項(xiàng)目都有單獨(dú)的帳號(hào)和密 碼對(duì)應(yīng),以保證成績(jī)錄入人員對(duì)自己管轄范圍的唯一性和確定性。在成績(jī)查詢界面中可以準(zhǔn)確及時(shí)的查詢到各參賽隊(duì)伍、 各項(xiàng)目、各運(yùn)動(dòng)員的個(gè)人信息、比賽成 績(jī)、排名、和團(tuán)體加分的情況。以上運(yùn)動(dòng)會(huì)中各環(huán)節(jié)組織和編排工作的系統(tǒng)實(shí)現(xiàn),
4、使大量繁瑣的人工組織編排任務(wù)通過簡(jiǎn)單方便的操作便可以實(shí)現(xiàn),大大減輕了運(yùn)動(dòng)會(huì)組織人員的勞動(dòng)強(qiáng)度,節(jié)省了大量物力、人力、財(cái)力,提高了工作效率,保 證了數(shù)據(jù)的實(shí)時(shí)性、準(zhǔn)確性、安全性、可靠性,充分體現(xiàn)出了現(xiàn)代化的計(jì)算機(jī)技 術(shù)在信息采集、處理、和管理等方面的無可比擬的優(yōu)越性。二、系統(tǒng)描述本系統(tǒng)采用軟件工程原理,使用面向?qū)ο蟮?Java編程環(huán)境編寫校級(jí)運(yùn)動(dòng)會(huì) 管理系統(tǒng),利用SQL Server數(shù)據(jù)庫技術(shù),對(duì)數(shù)據(jù)庫進(jìn)行了全面的開發(fā)。系統(tǒng)主 要包括前臺(tái)應(yīng)用程序的開發(fā)以及后臺(tái)數(shù)據(jù)庫的建立和維護(hù)兩個(gè)方面,實(shí)現(xiàn)了運(yùn)動(dòng)員成績(jī)數(shù)據(jù)庫的創(chuàng)建及運(yùn)動(dòng)員成績(jī)的輸入、統(tǒng)計(jì)、瀏覽和維護(hù),使得系統(tǒng)具有界 面友好,功能強(qiáng)大,易于維護(hù)的
5、特點(diǎn)。本校級(jí)運(yùn)動(dòng)會(huì)管理系統(tǒng)在功能實(shí)現(xiàn)方面主要分為以下幾點(diǎn):1)運(yùn)動(dòng)員個(gè)人信息管理模塊。運(yùn)動(dòng)員管理與普通的用戶管理基本類似,包 括用戶的添加、修改、編輯和刪除功能,參賽項(xiàng)目的維護(hù)。例如有的運(yùn)動(dòng)員臨時(shí)因傷不能參寒,有的又調(diào)整為可以參加某個(gè)項(xiàng)目(雖然嚴(yán)格說來,不允許運(yùn)動(dòng)員 臨時(shí)更改參賽項(xiàng)目,但需要在系統(tǒng)中留有余地)。2)運(yùn)動(dòng)員成績(jī)管理模塊。操作員可以對(duì)成績(jī)進(jìn)行錄入,一旦提交則只能查 看不能修改管理員可以查看成績(jī)并調(diào)整成績(jī), 因?yàn)榍皥?chǎng)工作人員可能犯錯(cuò),需要 管理員進(jìn)行更改,但日志中要對(duì)此更改進(jìn)行記錄。運(yùn)動(dòng)員可以通過終端查看運(yùn)動(dòng) 成績(jī)。3)權(quán)限管理模塊。管理員可以對(duì)操作人員進(jìn)行信息維護(hù),如增加前場(chǎng)成績(jī)
6、錄入人員,或者某位成績(jī)錄入人員調(diào)離崗位則取消其權(quán)限。對(duì)于運(yùn)動(dòng)員可以匿名 查詢某個(gè)項(xiàng)目的成績(jī)。綜合以上情況,設(shè)計(jì)系統(tǒng)體系結(jié)構(gòu)如圖 1所示。應(yīng)用層提供諸如GUI的顯示、事件的處理等;代理層是分離上層和具體數(shù) 據(jù)庫訪問層的,也可以稱為業(yè)條層,這樣的目的是當(dāng)數(shù)據(jù)庫發(fā)生變更時(shí), 可以將 程序的改動(dòng)縮減到最小。數(shù)據(jù)庫接口層是與具體的數(shù)據(jù)庫進(jìn)行交互, 對(duì)數(shù)據(jù)進(jìn)行 提取、存入操作。模塊包是與數(shù)據(jù)庫實(shí)體相對(duì)應(yīng)的類定義,也可以說與數(shù)據(jù)庫中的每條記錄相對(duì)應(yīng)。三、詳細(xì)設(shè)計(jì)1模塊功能1.1系統(tǒng)人員管理模塊該模塊實(shí)現(xiàn)系統(tǒng)人員的添加、修改、查詢和刪除,先在數(shù)據(jù)庫中添加管 理員帳戶。管理員在用戶管理方面擁有一切權(quán)限,而普通用
7、戶只有修改個(gè)人密碼、 查詢個(gè)人信息、運(yùn)動(dòng)會(huì)比賽信息、比賽成績(jī)及獲獎(jiǎng)情況的權(quán)限。如圖 2所示。系統(tǒng)人員 管理模塊_*系系系系統(tǒng)統(tǒng)統(tǒng)統(tǒng)操操操操作作作作員員員員信信信信息息息息的的的的輸修刪查入改除詢1.2、運(yùn)動(dòng)員管理模塊該模塊由管理員對(duì)運(yùn)動(dòng)員個(gè)人信息的錄入、修改及刪除功能。普通用戶可以實(shí)現(xiàn)對(duì)運(yùn)動(dòng)員個(gè)人信息的查詢功能。其功能層次如圖3所示。圖31.3、運(yùn)動(dòng)員成績(jī)管理模塊該模塊實(shí)現(xiàn)管理員錄入運(yùn)動(dòng)員的成績(jī)、查詢成績(jī)、修改成績(jī)刪除查詢到的成績(jī)信息以及普通用戶查詢成績(jī)。其功能層次圖如圖4所示。2、數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)表1 運(yùn)動(dòng)會(huì)項(xiàng)目表(Sportitems)列名數(shù)據(jù)類型可否為空說明ItemidVARCHAR(20
8、)NOT NULL體育項(xiàng)目編號(hào)ItemNameVARCHAR(50)NOT NULL項(xiàng)目名稱ItemTypeVARCHAR(50)所屬的運(yùn)動(dòng)類別voidVARCHAR(1)是否有效表2 運(yùn)動(dòng)員參賽項(xiàng)目表(ItemAttend)列名數(shù)據(jù)類型可否為空說明SportorIdVARCHAR(20)NOT NULL運(yùn)動(dòng)員編號(hào)ItemIdVARCHAR(20)NOT NULL體育項(xiàng)目編號(hào)ScoreVARCHAR(50)成績(jī)voidVARCHAR(1)本條記錄是否有效表3運(yùn)動(dòng)員個(gè)人信息表(Sportor)列名數(shù)據(jù)類型可否為空說明SportorldVARCHAR(20)NOT NULL運(yùn)動(dòng)員編號(hào)NameVAR
9、CHAR(50)NOT NULL運(yùn)動(dòng)員名稱Gen derVARCHAR(1)性別。M男,F(xiàn)女WeightFLOAT體重,單位KgHeigthFLOAT身高,單位cmAgeINT年齡GradeINT等級(jí)voidVARCHAR(1)是否參賽標(biāo)志。丫 為無效,已經(jīng)被刪 除。N為有效,參 加本次比賽表4系統(tǒng)用戶信息(SysUser)列名數(shù)據(jù)類型可否為空說明SysUserldVARCHAR(20)NOT NULL系統(tǒng)用戶的編號(hào)NameVARCHAR(20)NOT NULL姓名PasswordVARCHAR(50)NOT NULL密碼Gen derVARCHAR(1)性別RoleldVARCHAR(20)
10、所屬于的角色voidVARCHAR(1)用戶是否有效表5系統(tǒng)用戶角色(Roles)列名數(shù)據(jù)類型可否為空說明RoleldVARCHAR(20)NOT NULL角色編號(hào)RoleNameVARCHAR(50)角色名稱voidVARCHAR(1)是否生效3、界面及代碼設(shè)計(jì)3.1、登錄子系統(tǒng)開發(fā)由于每個(gè)系統(tǒng)中都涉及登錄子系統(tǒng),因此在這里并不進(jìn)行過多介紹, 只提供一個(gè)登錄子系統(tǒng)的框架,登錄成功后程序的流程應(yīng)根據(jù)登錄用戶的身份來 區(qū)別對(duì)待。登錄系統(tǒng)的界面如圖 5所示。言運(yùn)動(dòng)會(huì)管理系st用戶名: 密碼:主要代碼如下:public static void main( Stri ng args) / TODO A
11、uto-ge nerated method stub/*根據(jù)需要,打開下面運(yùn)行開關(guān)*/*主登錄窗口界面StartApp mainForm = new StartApp(); mainForm.ln itUI();*/運(yùn)動(dòng)員管理模塊/new SportorMa nageme nt();/運(yùn)動(dòng)員成績(jī)管理模塊new SportorScoreMa nageme nt();/系統(tǒng)人員管理模塊new SysUserMa nageme nt();/public class Log in EvtHa ndle impleme nts Actio nListe nerpublic void actio nPef
12、ormed(Actio nEvent e)tryif( (JButt on )e.getSource() = jbtLogi n )根據(jù)用戶登錄身份,轉(zhuǎn)向?qū)?yīng)的界面Stri ng UserName = jtxtUser.getText().trim();Stri ng Password = jtxtPass.getText().toStri ng();Enu mRolerole=UserRole.getUserRole( jcmblde ntify.getSelectedltem().toStri ng().trim();System.out.pri ntln (UserName: + Use
13、rName + Password: +Password + + Role : + role);if( role = Enu mRole.NOROLE )JOptionPane.showMessageDialog(null,用戶角色未設(shè)定,請(qǐng)單擊 匿名登錄訪問系統(tǒng)!,”錯(cuò)誤 ”,JOptionPane.ERROR_MESSAGE);return;else if( role = Enu mRole.NOTSUPPORT )JOptionPane.showMessageDialog(null,用戶角色不支持,請(qǐng)聯(lián)系管理員!,”錯(cuò)誤,JOptionPane.ERROR_MESSAGE);return;
14、else if( role = Enu mRole.SYSADMINISTRA TOR )連接數(shù)據(jù)庫,驗(yàn)證是否管理人員RoleAccessProxy roleProxy = new RoleAccessProxy();if( roleProxy.ValidateUserExist(UserName,Password,RoleldMapRoleName.SYSADMIN)= true )JOptionPane.showMessageDialog(null,登錄成功!,” 正 確 ,JOptionPane.INFORMA TION_MESSAGE);elseJOptionPane.showMess
15、ageDialog(null,用戶角色不支持,請(qǐng)聯(lián)系管理員!,” 錯(cuò)誤,JOptionPane.ERROR_MESSAGE);System.exit( - 1 );else if( role = Enu mRole.SYSOPERATOR )連接數(shù)據(jù)庫,驗(yàn)證是否系統(tǒng)操作人員并轉(zhuǎn)到相應(yīng)界面 RoleAccessProxy roleProxy = new RoleAccessProxy();if( roleProxy.ValidateUserExist(UserName,Password,RoleldMapRoleName.SYSOPERATOR)=true )JOptionPane.showMe
16、ssageDialog(null,登錄成功!,” 正 確”,JOptionPane.INFORMA TION_MESSAGE);elseJOptionPane.showMessageDialog(null,用戶角色不支持,請(qǐng)聯(lián)系管理員!,” 錯(cuò)誤,JOptionPane.ERROR_MESSAGE);return;elseJOptionPane.showMessageDialog(null,發(fā)生未知 錯(cuò)誤!,” 錯(cuò)誤,JOptio nPan e.ERROR_MESSAGE );return;else if( (JButt on )e.getSource() = jbtA nonym ous )
17、System.out.pri ntln (A nonym ous);elseSystem.out.pri ntl n(” Un supported!);catch(Excepti on ex)System.out.pri ntl n(” Unknow Excepti on: + ex.getMessage();當(dāng)用戶輸入用戶名、密碼和登錄身份后,會(huì)通過RoleAccessProxy類進(jìn)行底層訪問,查看用戶登錄信息是否正確!代碼如下:RoleAcessProxy roleProxy=new RoleAccessProxy();lf(roleProxy.ValidateUserExist(User
18、Name,Password,RoleldMapRoleName.SYSADMIN)=true)JOptio nPan e.showMessageDialog( null,登 錄 成 功 !, 正 確,JOptionPane.INFORMA TION_MESSAGE);Else JOptio nPa ne.showMessageDialog( null,用戶 角色不支持,請(qǐng)聯(lián)系管理員!,”錯(cuò) 誤 ,JOptio nPan e.ERROR_MESSAGE);System.exi(-1);3.2、系統(tǒng)用戶管理模塊系統(tǒng)用戶管理模塊是實(shí)現(xiàn)對(duì)本系統(tǒng)中的操作人員一一管理人員的權(quán)限分6所示。人扇紳電:人報(bào)牲名
19、:adminSYSOPER U8ER000性JM :回殺卿1尸首理配、個(gè)人信息修改、密碼設(shè)定、刪除等功能,其運(yùn)行界面如圖系統(tǒng)用戶管理的界面相對(duì)復(fù)雜一些,其中最左邊是一個(gè)列表框,用來顯示列表式的數(shù)據(jù),在這里就是本系統(tǒng)中的用戶。右側(cè)面板主要是當(dāng)選中左側(cè)列表中的某個(gè) 用戶時(shí)顯示該用戶的對(duì)應(yīng)信息,可以對(duì)用戶數(shù)據(jù)進(jìn)行編輯、刪除等操作。主要代碼如下:/為用戶列表提取數(shù)據(jù)SysUserProxy sysUserProxy = new SysUserProxy();vecSysUsers = sysUserProxy.getAIISysUsers();trysysUserProxy.closeDbC onne
20、ction();catch(SQLExceptio n ex)for( int i = 0; i vecSysUsers.size(); i + )lstUserList.add(SysUser)vecSysUsers.eleme ntAt(i).getName() +(SysUser)vecSysUsers.eleme ntAt(i).getSysUserld();/*為控件注冊(cè)事件*/this .l stUserList.addltemListe ner( new ListItemCha nge();UserOperActio n bt nEvtHa ndle = new UserOper
21、Actio n();this.bt nDelSysUser.addActio nListe ner(bt nEvtHa ndle);this.bt nU pdateUser.addAct ion Liste ner(bt nEvtHa ndle);class ListltemCha nge impleme nts ItemListe nerpublic void itemStateCha nged(ltemEve nt e)java.awt.List lstCtrl = (java.awt.List)e.getSource();Stri ng str = lstCtrl.getSelected
22、ltem();if( str = n ull | str =)return;String result = str.split(s); / 分解成 TokenString sysUserId = result2;SysUserProxy sysUserProxy = new SysUserProxy();SysUser in sta nceSysUser = sysUserProxy.getUserByld(sysUserld); txtSysUserld.setText( in sta nceSysUser.getSysUserld(); txtSysUserName.setText( in
23、 sta nceSysUser.getName();if( in sta nceSysUser.getGe nder().equals( M)cmbGe nder.setSelectedl ndex(O);else if( in sta nceSysUser.getGe nder().equals(F)cmbGe nder.setSelectedl ndex(1);txtSysUserPassword.setText( in sta nceSysUser.getPassword(); txtRetrySysUserPassword.setText( in sta nceSysUser.getP
24、assword();if( in sta nceSysUser.getRoleld().equals(RoleldM apRoleName.SYSADMIN ) cmbSysUserRole.setSelectedl ndex(O);elseif(in sta nceSysUser.getRoleld().equals(RoleldMapRoleName.SYSOPERATOR)cmbSysUserRole.setSelectedl ndex(1);elsecmbSysUserRole.setSelectedl ndex(2);if( in sta nceSysUser.getVoid().e
25、quals(Y) chkSysUserVoid.setSelected(true);elsechkSysUserVoid.setSelected(false);trysysUserProxy.closeDbC onn ecti on();catch(SQLExcepti on ex)class UserOperActio n impleme nts Actio nListe nerpublic void actio nPerformed(Actio nEvent e)if( e.getSource() = (JButto n)bt nDelSysUser )刪除系統(tǒng)用戶Stri ng user
26、id = txtSysUserld.getText();Stri ngfin alSql = DELETEFROM SysUser WHERESYSUSERID=+userld+;SysUserProxy sysUserProxy = new SysUserProxy(); sysUserProxy.UpdateUserByld(fi naISql);JOptio nPan e.showMessageDialog( null,刪除成功! ,” 成功 ,JOptionPane.INFORMA TION_MESSAGE);else if( e.getSource() = (JButt on )bt
27、 nU pdateUser )/更新現(xiàn)有用戶Stri ng userld = txtSysUserld.getText();Stri ng userName = txtSysUserName.getText();String Gen der;if( cmbGender.getSelectedltem().toString().equals(男)Gen der = M;elseGen der = F;String Pass;if( txtSysUserPassword.getText().equals(txtRetrySysUserPassword.getText()Pass = txtSysU
28、serPassword.getText();elseJOptionPane.showMessageDialog(null,密碼不匹配,錯(cuò)誤 ,JOptio nPan e.ERROR_MESSAGE);return;String userRole;if( cmbSysUserRole.getSelectedltem().toString().equals(” 系統(tǒng)管理員) userRole = RoleldMapRoleName.SYSADMlN;else if(cmbSysUserRole.getSelectedltem().toString().equals(系統(tǒng)操作員)userRole =
29、 RoleldMapRoleName.SYSOPERA TOR;elseuserRole =;Stri ng Void;if( chkSysUserV oid.isSelected() = true)Void = Y;elseVoid = N;Stri ng fin alSql = UPDATE SYSUSER SET NAME= + userName + , + PASSWORD = + Pass + , GENDER* + Ge nder + , + ROLElD= + userRole + , VOlD= + V oid + WHERE + SYSUSERlD= + userld + ;
30、SysUserProxy sysUserProxy = new SysUserProxy(); sysUserProxy.UpdateUserByld(fi naISql);JOptio nPan e.showMessageDialog( null,更新成功! ,成功”,JOptionPane.INFORMA TION_MESSAGE);單擊“更新用戶”按妞,則觸發(fā)相應(yīng)事件,調(diào)用SysUserProx y類實(shí)現(xiàn)更新操作。與登錄子系統(tǒng)中的RoleAccessProxy類相類似,SysUserProxy也是對(duì)數(shù)據(jù)訪問進(jìn) 行了封包,使上層應(yīng)用無須與底層直接接。這樣增強(qiáng)了系統(tǒng)的可移植性和可擴(kuò)展 性。關(guān)
31、于SysUserProxy類的代碼在此處省略。3.3、運(yùn)動(dòng)員信息管理模塊運(yùn)動(dòng)員信息管理模塊主要實(shí)現(xiàn)對(duì)人員個(gè)人信息的維護(hù),其界面布局與系統(tǒng)用戶管理模塊類似,如圖7所示。SPTSMANOO 耳手 OISPTSMANQOOt 時(shí)手 02SPTSkWJ0(?Q二 0 Afitt 號(hào);人 KttS-賽鞄手出.II男一小17S0年an,71 ni ifiiiiiiUILUiIMJ1 HtMAN 00002舉主手 SPTSMANDOOD WSPTSMANOQOOl圖7實(shí)現(xiàn)此模塊的主要代碼如下:class UserOperActio n impleme nts Actio nListe nerpublic v
32、oid actio nPerformed(Actio nEvent e)if( e.getSource() = (JButto n)bt nAddUser )/增加系統(tǒng)用戶/*課后作業(yè)*/JOptio nPan e.showMessageDialog( null,新增成功! ,” 成功 ,JOptionPane.INFORMA TION_MESSAGE);return;else if( e.getSource() = (JButt on )bt nU pdateUser )/更新現(xiàn)有用戶Stri ng userid = txtUserld.getText();Stri ng userName
33、= txtUserName.getText();String Gen der;if( cmbGender.getSelectedltem().toString().equals(男)Gen der = M;elseGen der = F;float weight = O.Of;if( txtUserWeight.getText() != null & txtUserWeight.getText() !=)weight = Float.parseFloat(txtUserWeight.getText();float height = O.Of;if( txtUserHeight.getText(
34、) != null & txtUserHeight.getText() !=)height = Float.parseFloat( txtUserHeight.getText();int age = 0;if( txtUserAge.getText() != n ull & txtUserAge.getText() !=)age = In teger.parse lnt( txtUserAge.getText();int grade = 0;if( txtUserGrade.getText() != n ull & txtUserGrade.getText() !=)grade = In te
35、ger.parse lnt( txtUserGrade.getText();Stri ng Void;if( chkSysUserV oid.isSelected() = true)Void = Y;elseVoid = N;Stri ng fin alSql =;fin alSql = UPDATE sportor +SET NAME= + userName +,GENDER=”+Ge nder + , +WEIGHT= + weight + , HEIGHT = + height + , +AGE = + age +, + GRADE = + grade + ,VOID= +Void +
36、+WHERE SPORTORID=+ userId + ;SportorProxy UserProxy = new SportorProxy();UserProxy .UpdateUserByld(fi naISql);JOptio nPan e.showMessageDialog( null,更新成功! ,成功,JOptionPane.INFORMA TION_MESSAGE);return;else if(e.getSource() = (JButto n)bt nDelUser)Stri ng userld = txtUserId.getText();Stri ngfin alSql=
37、DELETEFROM sportor WHERESPORTORID=+userId+”;SportorProxy UserProxy = new SportorProxy();UserProxy.UpdateUserByld(fi naISql);lstUserList.removeAII();Ini tCtlData();JOptio nPa ne.showMessageDialog( null,刪除成功!”,JOptionPane.INFORMA TION_MESSAGE);return;3.4、運(yùn)動(dòng)員成績(jī)管理模塊這一功能模塊在結(jié)構(gòu)上采用三級(jí)連動(dòng)方式,即一級(jí)菜單的動(dòng)作觸發(fā)二級(jí)菜單的響應(yīng),二
38、級(jí)菜單的動(dòng)作影響三級(jí)菜單的顯示基于這個(gè)依據(jù),設(shè)計(jì)界面如圖8所示。*100*ITEM(M005MisrnEiwQaooeWe MOOO 09 S4r;ttrTEMOODlD1:1典科3:W5c 睨箱有蝕性:無處主要代碼如下:class ListItemCha nge impleme nts ItemListe nerpublic void itemStateCha nged(ltemEve nt e)if( e.getSource() = (java.awt.List)lstSportItems )初始化界面txtScore1.setText();txtScore2.setText();txtS
39、core3.setText();txtScore4.setText();txtScore5.setText();txtScore6.setText();chkValid.setSelected(false);java.awt.List lstCtrl = (java.awt.List)e.getSource();Stri ng str = lstCtrl.getSelectedltem();if( str = n ull | str =)return;String result = str.split(s); / 分解成 TokenString itemId = result2;Stri ng
40、 sqlQuery = SELECT a.n ame, a.sportorid +FROM sportor a,itemAtte nd b +WHERE b.itemid = + itemId + and + b.sportorid = a.sportorid ;SportorProxy sportProxy = new SportorProxy();Vector vecSportor = sportProxy.getSportUsersBySql(sqlQuery); lstSportors.removeAII();for( int i = 0; i vecSportor.size(); i
41、 + ) lstSportors.add(SportsMa n)vecSportor.eleme ntAt(i).getName() + + (SportsMa n)vecSportor.eleme ntAt(i).getSportorld();trysportProxy.closeDbC onnection();catch(SQLExcepti on sqlEx)else if( e.getSource() = (java.awt.List)lstSportors )初始化界面txtScore1.setText();txtScore2.setText();txtScore3.setText(
42、);txtScore4.setText();txtScore5.setText(); txtScore6.setText();chkValid.setSelected(false);顯示成績(jī)Stri ng str = lstSportors.getSelectedltem();if( str = n ull | str =)return;String result = str.split(s); / 分解成 TokenStri ng SportorId = result2;str = lstSportltems.getSelectedltem();if( str = n ull | str =
43、)return;result = str.split(s);Stri ng Sportltemld = result2;ItemAtte ndProxy itemAtte ndProxy = new ItemAtte ndProxy();ItemAtte nditemAtte nditemAtte ndProxy.getSportltemByld(Sportltemld,Sportorld);tryitemAtte ndProxy.closeDbC onnection();catch(SQLExcepti on ex)if( itemAttend.getV oid().equals(Y) )c
44、hkValid.setSelected(true);elsechkValid.setSelected(false);Strin g scores = itemAtte nd.getScore().split(s); switch(scores .len gth)case 1:txtScore1.setText( scores0);break;case 3:txtScore1.setText( scores0);txtScore2.setText( scores2); break;case 5:txtScore1.setText( scores0);txtScore2.setText( scores2);txtScore3.setText( scores4);break;case 7:tx
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 慢性結(jié)腸炎治療
- 植皮手術(shù)護(hù)理配合要點(diǎn)解析
- 高一暑假作業(yè):三角函數(shù)二
- 《溫室氣體 產(chǎn)品碳足跡量化方法與要求 砌體材料產(chǎn)品》標(biāo)準(zhǔn)文本
- 兒科練習(xí)題(含答案)
- 色素痣的治療
- 婦科腫瘤護(hù)理常規(guī)
- 【2025中考復(fù)習(xí)】任務(wù)型閱讀解題步驟及練習(xí)題
- 操作系統(tǒng)考試題庫及答案
- 薄層液基細(xì)胞檢測(cè)技術(shù)應(yīng)用
- 給飯店供貨協(xié)議書
- 修理廠清潔合同協(xié)議書
- 2025年河北省啟光二模語文
- 2025-2030沉香木行業(yè)市場(chǎng)深度調(diào)研及前景趨勢(shì)與投資研究報(bào)告
- 安徽省黃山市區(qū)縣2025屆七年級(jí)生物第二學(xué)期期末聯(lián)考試題含解析
- 2025國(guó)開電大《管理英語1》綜合測(cè)試形考任務(wù)答案
- 靜脈治療考試試題及答案
- 2025年四川省成都市青羊區(qū)中考二診化學(xué)試題(原卷版+解析版)
- 2024初級(jí)注冊(cè)安全工程師筆試模擬題帶答案
- 2025年濱州國(guó)有資本投資運(yùn)營(yíng)集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- PVC拆除施工方案
評(píng)論
0/150
提交評(píng)論