




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、JAVA程序設(shè)計(jì)報(bào)告學(xué)生信息管理系統(tǒng)輔導(dǎo)老師:張松敏 系別:計(jì)算機(jī)系 專業(yè):軟件技術(shù)學(xué)號:0640836姓名:夏中成日期:2008-6-13目錄 需求分析 O O O O O O O O O O O O O O O O O O O O O O O O O 3 二功能分析.3三模塊設(shè)計(jì)。 。 。 。 。 。 。3 四軟件設(shè)計(jì)分析。 。 O O。o 。 O O 。 O O 。 O O O o 。 3(一) 數(shù)據(jù)庫設(shè)計(jì). .3(二) 模塊及窗體設(shè)計(jì).31數(shù)據(jù)庫模塊設(shè)計(jì)。. .32用戶登錄識別模塊 ooooooooooooooooooooo.ooooo.ooooooooooo. 53用1s思T理?xiàng)蕢K0
2、000000000000000000000000000000004000000006(1)密碼修改. .6(2)用戶信息添加和刪除.84學(xué)生息管理模塊.10(1)添加信息。 。 。 。 。 。 。10(2)f jqltrioooooooooooooooooooooooooooooooooeooooooooooooooo 11 (3 ) (S .Uil-Zooooooooooooooooooooooooooooooooooooooooooooooo 12(4)刪除信息.145系統(tǒng)管理模塊.156主窗體菜單設(shè)計(jì)。 。 。15五總結(jié)。.15參考資料:.1 5一需求分析本系統(tǒng)的主要目的就是實(shí)現(xiàn)學(xué)生信息
3、管理,使學(xué)生信息管理工作更加容易,從而提高工作 效率,降低管理成本.系統(tǒng)中需要對擁護(hù)身份進(jìn)行管理,釆取登陸進(jìn)入系統(tǒng)的形式. 二功能分析1用戶登錄信息管理2用戶信息管理3學(xué)生信息管理4系統(tǒng)管理三模塊設(shè)計(jì)1234下表是他的基本屈性文件名成員變量成員方法database javapublic static Connectioncn;public static Statement st;public static ResultSet rs;public static boolean joinDB0public static boolean executeSQL(StringsqlString)publ
4、icstaticbooleanquery(StringsqlString)代碼如下:import java. sql. *;/引入包public class database public static Connection cn;/圧義一個連接對象public static Statement st;/泄義一個SQL語句對象public static ResultSet :rs;/泄義一個數(shù)據(jù)集public static boolean joinDBO/用來判斷是否連接成功boolean joinFlag; try joinFlag = true;廠系統(tǒng)首、頁數(shù)據(jù)庫設(shè)汁模塊 用戶登錄識別模塊
5、 用戶信息管理模塊-戶陸息理用登信管里模塊計(jì)分析 :據(jù)庫設(shè)爾:StL廠用戶信息管理廠學(xué)生信、息管理系統(tǒng)管、理3丿通過身份添加L刪除r用戶r嗎戶名和密甲x z;修改 ,密碼TTsorrniI、J、i/以巴 ”(i據(jù)庫連接代碼。Caboc退出登陸6表uuser, stlier:存放犁出lb的且修改刪除重新登陸添加/通過調(diào)用java, lang中的Class類的forName方法來實(shí)現(xiàn)JDBC一ODBC橋接器cn = DriverManager getConnection(/zjdbc :odbc: student,W、“) ;/倉J建一個連接對象cn. setCatalog(student*) ;
6、/加載數(shù)據(jù)庫st = cn. createStatement (ResultSet. TYPESCROLSENSITBE, ResultSet.CONCUR.READ.ONLY);/返回一個可滾動的結(jié)果集,數(shù)據(jù)庫變化時結(jié)果集跟著變化:不能用結(jié)果集更新數(shù)據(jù) 庫中的表return joinFlag; catch (SQLException sqlEx) joinFlag = false;return joinFlag; catch (ClassNotFoundException notfoundEX) joinFlag = false;return joinFlag;public static b
7、oolean executeSQL(String sqlString) boolean executeFlag;try st. execute(sqlString); executeFlag = true; catch (Exception e) executeFlag = false;return executeFlag;public static boolean query(String sqlString) try rs = null;rs = st.executeQuery(sqlString); catch (Exception Ex) return false;return tru
8、e;2用戶登錄識別模塊代碼封裝在類Land里,所用到的信息保存在表user里下表是他的基本屬性文件名控件成員方法Land javaJLabel:labelname=newJLabelC用 戶k)labelmima=new JLabel(密碼)Jbutton:btenter=new JButton(確左btcancel=new JButton(淸空privatevoidJudge(StringsqlString)3;判斷用戶名和密碼是否正確的成員方法代碼:private void Judge(String sqlString) if (database. joinDBO) /如果數(shù)據(jù)庫連接成功i
9、f (database, query (sqlString)/如果SQL語句執(zhí)行成功try如果指向記錄集的在第一條記錄的前而jf. setVisible(false) ;/窗體不可見關(guān)閉數(shù)據(jù)庫連接new MainO ;/主窗體else new JOptionPane 0. showMessageDialog(null,用戸 名或 密碼錯 誤! :, z/,, JOptionPane.ERROR.MESSAGE);catch(Exception ex) else按鈕“確定”的監(jiān)聽事件代碼:public void actionPerformed (ActionEvent e) if(textnam
10、e getText() equals() new JOptionPane 0. showMessageDialog(null,/z用戶名 不能為空!);else if(textmima getText() equals() new JOptionPane(). showMessageDialog(null,密碼不能為空!);elseString sql二select * from user where user_id二 +textname getText() + and password二+ textmima getText()+Judge(sql) ;/調(diào)用成員方法,判斷是否用戶名和密碼正確
11、3用戶信息管理模塊(1)密碼修改用戶軻將自動從表user里檢索出來,供用戶選擇以下是它的基本屬性文件名控件爼稱xgmima javaJlabel: lbe2. Ibe3. Ibe4、lbe5JcomboBox: tfJpasswordField:paslx pas2、pas3 Jbutton:bl=new JButtonC確立”);b2=new JButtonC淸空);將所有用用戶名讀出來database. joinDBO ;/連接數(shù)據(jù)庫String sql二select * from user;tryif(database query (sql)/依次將用戶需讀出tf additem(nam
12、e);catch(Exception e) 確定“按鈕”的監(jiān)聽事件代碼:bl addActionListener(new ActionListener0 public void actionPerformed(ActionEvent e)String name=,/z,+ tf getSelectedltemO ;String sql二select * from user where user_id二+name tryif(database query (sql) String psl=pasl getText();if(psi equals(password)if(pas2 getText
13、0 equals(pas3 getText 0) String supdate=/,update user set password=,+ pas3 getText ()+,z* where user_id=* + name+;database executeSQL(supdate);new JOptionPane 0. showMessageDialog(null,密碼更改成功! “);else new JOpt ionPane (). showMessageDialog(null,兩次密碼不同!”);elsenew JOptionPane (). showMessageDialog(nul
14、l,舊密碼不j匸確!”);catch(Exception el) );(2)用戶信息添加和刪除上半部分用來添加用戶,下半部分用來刪除用戶 基本屬性如下文件名控件名AddDeleteUser javaprivate JButton butACancel, butDCancel, butDelete, butOk;private JComboBox cbUserName;privateJLabeljLabell,jLabel2,jLabel3,jLabel4,jLabel5;private JPasswordField pasl,pas2,pas3;private JTextField txtna
15、me;將所有用用戶名讀出來database joinDBO ;String sql二select * from user;tryif(database query (sql)記錄集若有記錄則通過循環(huán)將數(shù)據(jù)依次讀出cbUserName additem(name);catch(Except ion e) /為添加按鈕加事件-butOk addActionListener (new ActionListener0 public voidactionPerformed(ActionEvent e)if (txtname. getTextO. equals (,/z) /判斷是否為空new JOptio
16、nPane 0. showMessageDialog(null,用戶名 不能為 空!);else if (pasl getText() equals() new JOptionPane(). showMessageDialog(null,密碼不能為空!);else if (pasl getText 0 equals(pas2 getText()String sql二insert into user values(*,z+ txtname getTextO pasl. getTextO+);tryif (database. executeSQL(sql) /若SQL執(zhí)行成功new JOption
17、Pane0. showMessageDialog(null,添加成功!”);cbUserName additem(txtname getText 0);catch(Exception ea) );刪除按鈕監(jiān)聽事件代碼butDelete addActionListener(new ActionListener0 public void actionPerformed(ActionEvent e)String name=,/z,+ cbUserName. getSelectedltemO ;/得到用戶名String sql二select * from user where user_id二+nam
18、e tryif(database query(sql) String pas=pas3 getTixt();if (pas. equals (password) /比較密碼是否與記錄集里對應(yīng)一 致String sdelete=z/delete from user where user_id二+name +;if(database executeSQL(sdelete) new JOptionPane 0. showMessageDialog (nul 1,刪除成功!”);pas3. setText ();cbUserName. removeAllItems 0 ;/將刪除的條目從JcomboB
19、ox中 刪除String sqll二select * from user;if(database query(sqll) /更新JcomboBox條目cbUserName additem (name 1); elsenew JOptionPane () showMessageDialog(null,確!”); catch(Exception el) );4學(xué)生息管理模塊(1)添加信息該添加是按照先添加學(xué)生信息,再添加學(xué)生成績的次序進(jìn)行的當(dāng)學(xué)生信息添加完后,添加學(xué) 生成績窗口的學(xué)號會自動將學(xué)生信息里沒有添加過成績的成績顯示岀來 添加學(xué)生信息中的“添加“按鈕代碼:butOk addActionLi
20、stener(new ActionListener0 public void actionPerformed(ActionEvent e)if(jtf1. getText 0 equals () new JOptionPane0. showMessageDialog(null,學(xué)號不能為空);else if(jtf2 getText() equals() new JOptionPane(). showMessageDialog(null,姓名不能為空);else if(jtf3 getText() equals() new JOpt ionPane 0. showMe s sageDi a l
21、og (nul 1,性別不能為空);else String sql二insert into stud values(* + jtf 1 getText () + jtf2 getText 0jtf3. getText () +,,,+ jtf4. getTextjtf5. getTextjtf6. getText ()+, + jtf7. getText()+);tryif(database executeSQL(sql) new JOptionPane0. showMessageDialog(null,添加成功!”);catch(Exception ea) );添加學(xué)生成績信息讀取學(xué)號信息d
22、atabase joinDBO ;String sql二select學(xué)號from stud where學(xué)號NOT IN(select學(xué)號from grade);tryif(database query (sql)jnum additem(name);catch (Exception ea) 添加學(xué)生成績信息“添加“按鈕代碼:butOk addActionListener(new ActionListener0 public void actionPerformed(ActionEvent e)String name二+jnum getSelectedltemO;String sql二inser
23、t into grade valuesz?+ name+, jtf2 getText 0jtf3. getText () +,,,+ jtf4. getTextjtf5. getTextjtf6. getText 0 +, + jtf7. getText ()tryif (database executeSQL(sql) new JOptionPane 0. showMessageDialog (nul 1,添加成功!”);catch(Exception ea) );(2)信息查看分為查看學(xué)生基本信息和查看學(xué)生成績信息,因?yàn)榇a和窗體大致相識,進(jìn)取其一講述 下面是他的屬性文件需稱控件名稱v i
24、ewstud javaJtextArea:te=newJTextAreaO :代碼為:class viewstud extends JInternalFrame viewstud ()super(查看學(xué)生基本信息0 ;/窗體顯示得需稱Container con=getContentPane0 ;/創(chuàng)建JinternalFrame的容器對象con. setLayout (newBorderLayout 0);/設(shè)定窗體布局JTextArea te=new JTextAreaO ;JScrollPane croll=new JScrollPane(te);/加載垂直水平滾動條con add(cro
25、ll, BorderLayout CENTER);database. joinDBO ;/連接數(shù)據(jù)庫String sql二SELECT * FROM stud;try if(database query(sql) te. append(n);catch(SQLException ex)this. setClosable(true) ;/關(guān)閉窗口可用setVis讓le(true) ;/窗體可見setBounds (20, 70, 600, 350);(3)信息修改信息修改分為學(xué)生基本信息修改,學(xué)生成績信息修改,由于原理相似就以修改學(xué)生基本信息 作為例子進(jìn)行介紹下面是他的屬性信息文件爼稱控件名稱x
26、 iugai javaprivate JButton butCancel, butOk, butShow;privateJLabeljLabell,jLabel2, jLabel3, jLabel4, jLabelS, jLabel6, jLabel7;private JTextField jtfl, jtf2,jtf3, jtf4, jtf5, jtf6, jtf7;顯示信息按鈕的監(jiān)聽事件代碼如下:database joinDBO ;butShow addActionListener(new ActionListener0 public voidactionPerformed(ActionE
27、vent e) if (jtf1 getText 0 equals() new JOptionPane0. showMessageDialog(null,詰輸入學(xué)號);else String sql二select * from grade where學(xué)號二+”+jtfl. getText ()tryif(database, query(sql)/此處用 了 個database. executeSQL(sql)提示resultset關(guān)閉JOptionPane. showMessageDialog(null,沒有該學(xué)生信息);下而是用來顯示其他文本框里的內(nèi)容else butOk setEnable
28、d(true); catch(NulIPointerException upe)catch(SQLException sqle)catch (Exception ex);(4)刪除信息刪除時可以如果表grade里有該生成績信息,則一并刪除,如果沒有則只刪除表stud里的 信息下面是窗口屬性文件需稱控件需稱shanchu. javaprivate JButton butCancel, butOk;private JLabel jLabell; privateJTextField jtfl;private JPanel p; but0k=new JButtonC刪除”); butCancel=ne
29、w JButton(淸空)刪除按鈕監(jiān)聽事件代碼如下:butOk addActionListener(new ActionListener0 public void actionPerformed(ActionEvent e) if (jtf 1. getText () equals C) new JOptionPane(). showMessageDialog(null,詰輸入學(xué)號); else String sql二select * from stud where學(xué)號二+jtfl. getText ()tryif(database, query (sql)/此處用了個database. executeSQL(sql)提示resultset關(guān)閉JOptionPane. showMessageD
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南旅游職業(yè)學(xué)院《中國音樂史與名作欣賞Ⅱ》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣西民族大學(xué)《生物技術(shù)創(chuàng)新創(chuàng)業(yè)》2023-2024學(xué)年第二學(xué)期期末試卷
- 遠(yuǎn)程教育中的英語聽力提升實(shí)踐
- 天津醫(yī)科大學(xué)《體育教學(xué)設(shè)計(jì)與實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025浙江寧波市余姚市公共交通有限公司招聘25人筆試參考題庫附帶答案詳解
- 勃利縣2024-2025學(xué)年六年級數(shù)學(xué)小升初摸底考試含解析
- 2025屆甘肅省蘭州市城關(guān)區(qū)五年級數(shù)學(xué)第二學(xué)期期末綜合測試試題含答案
- 領(lǐng)導(dǎo)力與大學(xué)生自我品牌的塑造
- 西安航空職業(yè)技術(shù)學(xué)院《SU》2023-2024學(xué)年第二學(xué)期期末試卷
- 鋁合金隔斷合同范本
- 高中雷雨完整省公開課金獎全國賽課一等獎微課獲獎?wù)n件
- 施工現(xiàn)場安全標(biāo)準(zhǔn)化施工手冊(匯編)
- 《串珠》教案-2024鮮版
- 藥物超敏反應(yīng)綜合征并人類免疫缺陷病毒感染1例及文獻(xiàn)復(fù)習(xí)
- 經(jīng)濟(jì)數(shù)學(xué)(高等職業(yè))全套教學(xué)課件
- 口腔種植學(xué)試題
- 網(wǎng)絡(luò)傳播概論(彭蘭第5版) 課件全套 第1-8章 網(wǎng)絡(luò)媒介的演變-網(wǎng)絡(luò)傳播中的“數(shù)字鴻溝”
- 口服止痛藥物健康宣教
- 超載限位器調(diào)試報(bào)告
- 智能微電網(wǎng)應(yīng)用技術(shù)
- 被執(zhí)行人生活費(fèi)申請書范文
評論
0/150
提交評論