JAVA程序設計報告學生信息管理系統(20210110005510)_第1頁
JAVA程序設計報告學生信息管理系統(20210110005510)_第2頁
JAVA程序設計報告學生信息管理系統(20210110005510)_第3頁
JAVA程序設計報告學生信息管理系統(20210110005510)_第4頁
JAVA程序設計報告學生信息管理系統(20210110005510)_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、JAVA 程序設計報告學生信息管理系統輔導老師:張松敏系別:計算機系專業:軟件技術學號:0640836姓名:夏中成日期:2008-6-13目錄需求分析。功能分析。模塊設計。軟件設計分析。數據庫設計。模塊及窗體設計。數據庫模塊設計用戶登錄識別模塊用戶信息管理模塊1) 密碼修改2)用戶信息添加和刪除104 學生息管理模塊1)添加信息102)信息查看113)信息修改124)刪除信息1415155 系統管理模塊6 主窗體菜單設計五 總結。ooooooooooooooooo15參考資料:一 需求分析本系統的主要目的就是實現學生信息管理,使學生信息管理工作更加容易 ,從而提高工作效率,降低管理成本 .系統

2、中需要對擁護身份進行管理,采取登陸進入系統的形式功能分析1用戶登錄信息管理2用戶信息管理3學生信息管理4系統管理模塊設計數據庫設計模塊 用戶登錄識別模塊 用戶信息管理模塊 息管理模塊 理模塊 計分析 數據庫設計stude nt學生5用統四用(信息,戶管 件設用戶信息管理數據庫名稱:J: use吊tuq,grdde表user:存放登陸用戶的用戶名和密碼系統首頁學生信息管理系統管理,生基本信息 添加成績修改息,一 I密碼修改退出登陸重新登陸添加(請份庫模塊及用除設計將數據庫的連接包裝在一個dat/bOse類中,e:其目h塊、1模塊厶,避Sst庫連接代碼。F表是他的基本屬性文件名成員變量成員方法da

3、tabase.javapublic static Conn ecti on cn; public static Statement st; public static ResultSet rs;public static boolea n join DB()public static boolean executeSQL(String sqlString)public static boolean query(String sqlString)代碼如下:import java.sql.*;/ 引入包public class database public static Connection c

4、n; / 定義一個連接對象public static Statement st;/ 定義一個 SQL 語句對象public static ResultSet rs;/ 定義一個數據集public static boolean joinDB() /用來判斷是否連接成功boolea n joinF lag;try joinF lag = true;通過調用java.lang中的Class類的forName方法來實現JDBC ODBC橋接器cn = DriverMa nager.getCo nn ectio n(jdbc:odbc:stude nt,sa,);/ 創建一個連接對 象cn.setCat

5、alog(student);/ 加載數據庫st = cn.createStateme nt(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONL Y);返回一個可滾動的結果集,數據庫變化時結果集跟著變化;不能用結果集更新數據庫中的表return joi nF lag; catch (SQLExcepti on sqlEx) joinF lag = false; return joi nF lag; catch (ClassNotF oun dExcepti on notfoun dEX) joinF lag = false; ret

6、urn joi nF lag;public static boolean executeSQL(String sqlString) boolea n executeFlag;try st.execute(sqlStri ng); executeFlag = true; catch (Excepti on e) executeFlag = false;retur n executeFlag;public static boolean query(String sqlString) try rs = n ull;rs = st.executeQuery(sqlStri ng); catch (Ex

7、cepti on Ex) return false;return true;2用戶登錄識別模塊代碼封裝在類Land里,所用到的信息保存在表user里F表是他的基本屬性文件名控件成員方法Lan d.javaJLabel:labelname=newJLabel(用戶名) labelmima=new JLabel(密碼) Jbutton: btenter= new JButton(確定); btcancel=new JButton(清空);private void Judge(String sqlString)判斷用戶名和密碼是否正確的成員方法代碼:private void Judge(String

8、 sqlString) if (database.joi nDB() /如果數據庫連接成功if (database.query(sqlString)如果 SQL 語句執行成功try/如果指向記錄集的在第一條記錄的前面jf.setVisible(false);/ 窗體不可見/關閉數據庫連接new Main();/ 主窗體else newJOptio nPa ne().showMessageDialog( null,用戶名或密碼錯誤!,JOptio nPan e.ERROR_MESSAGE);catch(Excepti on ex) else按鈕“確定”的監聽事件代碼:public void ac

9、ti on Performed (Actio nEvent e)if(text name.getText().equals()new JOptionPane().showMessageDialog(null,用戶名不能為空!);else if(textmima.getText().equals()new JOptionPane().showMessageDialog(null,密碼不能為空!);elseString sql=select * from user where user_id = + text name.getText() +and password = + textmima.ge

10、tText()+ ;Judge(sql);/調用成員方法,判斷是否用戶名和密碼正確3用戶信息管理模塊(1)密碼修改用戶名將自動從表 user里檢索出來,供用戶選擇 以下是它的基本屬性文件名控件名稱xgmima.javaJlabel: lbe2、lbe3、lbe4、lbe5JcomboBox: tfJpasswordField:pas1、pas2、pas3Jbutton: b1= new JButton(確定); b2=new JButton(清空);將所有用用戶名讀出來database.joi nDB(); 連接數據庫String sql=select * from user; tryif(d

11、atabase.query(sql)依次將用戶名讀出 tf.addltem (n ame);catch(Excepti on e)確定“按鈕”的監聽事件代碼:bl.addAct ion Liste ner(new Actio nListe ner()public void action Performed(Acti onEvent e)String name= + tf.getSelectedltem();Stri ng sql=select * from user where user_id=+ n ame +;tryif(database.query(sql)String ps1=pas1

12、.getText();if(ps1.equals(password)if(pas2.getText().equals(pas3.getText()String supdate=update user set password=+ pas3.getText()+ where user_id=+ n ame +;database.executeSQL(supdate);new JOptionPane().showMessageDialog(null,密碼更改成功!);elsenew JOptionPane().showMessageDialog(null,兩次密碼不同!);elsenew JOpt

13、ionPane().showMessageDialog(null,舊密碼不正確!);catch(Excepti on el);(2)用戶信息添加和刪除上半部分用來添加用戶,下半部分用來刪除用戶 基本屬性如下文件名控件名AddDeleteUser.javaprivate JButton butACa ncel,butDCa ncel,butDelete,butOk; private JComboBox cbUserName;private JLabel jLabel1,jLabel2,jLabel3,jLabel4,jLabel5; private JPasswordField pas1,pas

14、2,pas3;private JTextField txtn ame;/將所有用用戶名讀出來database.jo in DB();String sql=select * from user;tryif(database.query(sql)/記錄集若有記錄則通過循環將數據依次讀出cbUserName.addItem(name);catch(Exception e)/為添加按鈕加事件 butOk.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)if(txtname.getText()

15、.equals()/判斷是否為空new JOptionPane().showMessageDialog(null, 用戶名不能為空 !);else if(pas1.getText().equals()new JOptionPane().showMessageDialog(null, 密碼不能為空 !);else if(pas1.getText().equals(pas2.getText()String sql=insert into user values(+ txtname.getText() +,+ pas1.getText() +);tryif(database.executeSQL(s

16、ql)/ 若 SQL 執行成功new JOptionPane().showMessageDialog(null, 添加成功! ); cbUserName.addItem(txtname.getText();catch(Exception ea);刪除按鈕監聽事件代碼butDelete.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)String name= + cbUserName.getSelectedItem();/ 得到用戶名String sql=select * from u

17、ser where user_id=+ name +;tryif(database.query(sql)String pas=pas3.getText();if(pas.equals(password)/ 比較密碼是否與記錄集里對應一致String sdelete=delete from user where user_id=+ name +;if(database.executeSQL(sdelete)new JOptionPane().showMessageDialog(null, 刪除成功! ); pas3.setText();cbUserName.removeAllItems();/

18、將刪除的條目從 JcomboBox 中刪除String sql1=select * from user;if(database.query(sql1)/ 更新 JcomboBox 條目 cbUserName.addItem(name1); elsenew JOptionPane().showMessageDialog(null, 密碼不正確! ); catch(Exception el) );4 學生息管理模塊(1)添加信息該添加是按照先添加學生信息, 再添加學生成績的次序進行的當學生信息添加完后, 添加學 生成績窗口的學號會自動將學生信息里沒有添加過成績的成績顯示出來 添加學生信息中的“添加

19、“按鈕代碼:butOk.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) if(jtf1.getText().equals()new JOptionPane().showMessageDialog(null, 學號不能為空 ); else if(jtf2.getText().equals()new JOptionPane().showMessageDialog(null, 姓名不能為空 );else if(jtf3.getText().equals()new JOptionPane(

20、).showMessageDialog(null, 性別不能為空 );else String sql=insert into stud values(+ jtf1.getText() +,+ jtf2.getText() +,+ jtf3.getText()+,+ jtf4.getText()+,+ jtf5.getText()+,+ jtf6.getText()+,+ jtf7.getText()+);try if(database.executeSQL(sql) new JOptionPane().showMessageDialog(null, 添加成功! ); catch(Excepti

21、on ea) );添加學生成績信息讀取學號信息database.joinDB();String sql=select 學號 from stud where 學號 NOT IN(select 學號 from grade); tryif(database.query(sql)jnu m.addltem( name);catch(Excepti on ea)添加學生成績信息“添加“按鈕代碼:butOk.addAct ion Liste ner(new Actio nListe ner()public void actio nPerformed(Actio nEvent e)String n ame=

22、 + jnu m.getSelectedltem();String sql=insert into grade values(+ name+,+ jtf2.getText() +,+ jtf3.getText()+,”+ jtf4.getText()+,+ jtf5.getText()+,+ jtf6.getText()+,+ jtf7.getText()+);tryif(database.executeSQL(sql)new JOptionPane().showMessageDialog(null,添加成功!);catch(Excepti on ea);(2 )信息查看分為查看學生基本信息和

23、查看學生成績信息,因為代碼和窗體大致相識,進取其一講述F面是他的屬性文件名稱控件名稱v iewstud.javaJtextArea: te=new JTextArea();代碼為:class viewstud exte nds Jin ternalFrame viewstud()super(”查看學生基本信息);/窗體顯示得名稱Container con=getContentPane(); 創建 JinternalFrame 的容器對象 con.setLayout(new BorderLayout(); 設定窗體布局JTextArea te=new JTextArea();JScrollPan

24、e croll=new JScrollPane(te); / 加載垂直水平滾動條con .add(croll,BorderLayout.CENTER);database.joi nDB(); / 連接數據庫Stri ng sql=SELECT * FROM stud;try if(database.query(sql)te.appe nd(n);catch(SQLExcepti on ex) this.setClosable(true);/ 關閉窗口可用setVisible(true);/ 窗體可見setBou nds(20,70,600,350);(3 )信息修改信息修改分為學生基本信息修改

25、,學生成績信息修改,由于原理相似就以修改學生基本信息作為例子進行介紹F面是他的屬性信息文件名稱控件名稱x iugai.javaprivate JButton butCancel,butOk,butShow;private JLabel jLabel1,jLabel2,jLabel3,jLabel4,jLabel5,jLabel6,jLabel7; private JTextField jtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf7;顯示信息按鈕的監聽事件代碼如下:database.jo in DB();butShow.addActio nListe ner(new Act

26、io nListe ner()public void action Performed(Acti onEvent e)if(jtf1.getText().equals()new JOptionPane().showMessageDialog(null,請輸入學號);else Stri ng sql=select * from grade where 學號=+ +jtf1.getText() +; tryif(database.query(sql)/ 此處用了個 database.executeSQL(sql)提示 resultset 關閉JOptionPane.showMessageDialo

27、g(null,沒有該學生信息.);下面是用來顯示其他文本框里的內容else butOk.setE nabled(true); catch(NullPo in terExceptio n upe)catch(SQLExcepti on sqle)catch(Excepti on ex);(4 )刪除信息刪除時可以如果表grade里有該生成績信息,則一并刪除,如果沒有則只刪除表 stud里的信息F面是窗口屬性文件名稱控件名稱sha nchu.javaprivate JButton butCancel,butOk;private JLabel jLabell;private JTextField j

28、tfl;private JPa nel p; butOk=new JButton(刪除);butCancel=new JButton(” 清空)刪除按鈕監聽事件代碼如下:butOk.addAct ion Liste ner(new Actio nListe ner()public void action Performed(Acti onEvent e) if(jtf1.getText().equals()new JOptionPane().showMessageDialog(null,請輸入學號);else Stri ng sql=select * from stud where 學號=+ +jtf1.getText() +; tryif(database.query(sql) 此處用了個 database.executeSQL(sql)提示 resultset 關閉 JOptionPane.showMessageDialog(null,沒有該學生信息.);else Stri ng sqq=delete from stud w

溫馨提示

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

評論

0/150

提交評論