數(shù)據(jù)庫(kù)與網(wǎng)站開發(fā)課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩40頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  《數(shù)據(jù)庫(kù)與網(wǎng)站開發(fā)設(shè)計(jì)》</p><p><b>  課程設(shè)計(jì)</b></p><p>  題目:學(xué)生信息管理系統(tǒng)</p><p>  院、 系: 經(jīng)濟(jì)管理學(xué)院</p><p>  學(xué)科專業(yè): 信息管理與信息系統(tǒng) </p><p>  班 級(jí): 信管1001

2、</p><p>  2013年01月16日</p><p><b>  目錄</b></p><p>  第一章 設(shè)計(jì)要求3</p><p>  1.1 需求分析3</p><p>  第二章 概要設(shè)計(jì)3</p><p><b>  2.1 功能圖3&l

3、t;/b></p><p>  2.2 系統(tǒng)功能設(shè)計(jì)3</p><p>  第三章 詳細(xì)設(shè)計(jì)4</p><p>  3.1 數(shù)據(jù)庫(kù)的設(shè)計(jì)4</p><p>  3.2 類的設(shè)計(jì)5</p><p>  第四章 運(yùn)行調(diào)試與分析討論16</p><p>  第五章 設(shè)計(jì)體會(huì)與小結(jié)20

4、</p><p>  第六章 參考文獻(xiàn)20</p><p><b>  第一章 設(shè)計(jì)要求</b></p><p><b>  1.1 需求分析</b></p><p>  本系統(tǒng)是基于數(shù)據(jù)庫(kù)的學(xué)生信息管理系統(tǒng),實(shí)現(xiàn)了連接數(shù)據(jù)庫(kù)??梢陨暾?qǐng)注冊(cè)新用戶,不同權(quán)限身份的登錄、操作。老師可以增加、刪除、修

5、改、查詢?nèi)炕蛘卟糠謱W(xué)生信息。學(xué)生用戶只能查看自己的信息,可以修改自己的密碼的功能。以實(shí)現(xiàn)一個(gè)簡(jiǎn)單的學(xué)生信息管理系統(tǒng)。</p><p><b>  第二章 概要設(shè)計(jì)</b></p><p><b>  2.1 功能圖</b></p><p>  2.2 系統(tǒng)功能設(shè)計(jì)</p><p>  1. 登錄

6、界面,顯示主菜單的信息(用戶可選的執(zhí)行操作:登錄、取消、注冊(cè)),執(zhí)行相應(yīng)操作后跳轉(zhuǎn)至相應(yīng)功能界面。</p><p>  2. 管理員老師界面,老師擁有對(duì)學(xué)生信息的全權(quán)操作,即增添、刪除、查看、修改。其中查看分為兩種方式:一是查看全部信息,二是通過(guò)輸入學(xué)號(hào)查看該學(xué)號(hào)學(xué)生的信息。</p><p>  3. 學(xué)生用戶界面,學(xué)生進(jìn)入系統(tǒng)后,能夠執(zhí)行兩項(xiàng)操作,分別是查看個(gè)人信息和修改個(gè)人密碼。<

7、;/p><p>  4. 新用戶注冊(cè)界面,當(dāng)在登錄時(shí),出現(xiàn)不存在用戶時(shí)??梢赃M(jìn)入該界面,申請(qǐng)注冊(cè)為系統(tǒng)用戶,以便擁有各種操作權(quán)限。 </p><p><b>  第三章 詳細(xì)設(shè)計(jì)</b></p><p>  3.1 數(shù)據(jù)庫(kù)的設(shè)計(jì)</p><p><b>  E-R圖(用戶)</b></p>

8、<p>  E-R圖(學(xué)生信息)</p><p>  (3)數(shù)據(jù)庫(kù)關(guān)系模型——二維表</p><p><b>  表1-1用戶信息表</b></p><p>  表1-2 學(xué)生信息表</p><p><b> ?。?)數(shù)據(jù)庫(kù)設(shè)計(jì)表</b></p><p>  圖

9、1-4 用戶數(shù)據(jù)庫(kù)</p><p>  圖1-5 學(xué)生信息數(shù)據(jù)庫(kù)</p><p><b>  3.2 類的設(shè)計(jì)</b></p><p>  各個(gè)類之間的相互關(guān)系</p><p><b>  圖1-6 類間關(guān)系</b></p><p><b>  各個(gè)類的詳細(xì)設(shè)計(jì)

10、</b></p><p>  LoadJieMian類</p><p>  功能:(1)創(chuàng)建用戶登錄界面;(2)跳轉(zhuǎn)到老師界面或?qū)W生界面或注冊(cè)界面的橋梁作用。</p><p><b> ?。?)成員變量表:</b></p><p><b>  (2)方法</b></p>&

11、lt;p>  ①構(gòu)造方法:初始化登錄界面的各個(gè)組件,以及設(shè)置此界面的初始位置等。</p><p><b>  核心代碼如下:</b></p><p>  JLabel JMainName = new JLabel("學(xué)生信息管理系統(tǒng)");</p><p>  JLabel JLUserNum = new JLabel(

12、"編 號(hào): ");</p><p>  JLabel JLPsw = new JLabel("密 碼 : ");</p><p>  JTextField JTUserNum = new JTextField();</p><p>  JPasswordField JPsw = new JPasswordField();&

13、lt;/p><p>  JButton JB1 = new JButton("登錄");</p><p>  JButton JB2 = new JButton("取消");</p><p>  JButton JB3 = new JButton("注冊(cè)");</p><p>  JLa

14、bel JL1 = new JLabel("身 份: ");</p><p>  JComboBox JC = new JComboBox();</p><p>  public LoadJieMian(){</p><p>  this.setTitle("學(xué)生信息管理系統(tǒng)");</p><p> 

15、 this.setLayout(null);</p><p>  JMainName.setBounds(96,60,200,20);</p><p>  Font MyFont = new Font("隸書",Font.ROMAN_BASELINE,24);</p><p>  JMainName.setFont(MyFont);</p&

16、gt;<p>  this.add(JMainName); this.add(JLUserNum); this.add(JTUserNum);</p><p>  JLUserNum.setBounds(100, 120, 100, 20);</p><p>  JTUserNum.setBounds(200, 120, 80, 20);</p>&l

17、t;p>  JLPsw.setBounds(100, 150, 60, 20);</p><p>  this.add(JLPsw); this.add(JPsw); this.add(JL1); this.add(JC);</p><p>  JPsw.setBounds(200, 150, 80, 20);</p><p>  JL1.setBound

18、s(100, 180, 60, 20);</p><p>  JC.setBounds(200, 180, 80, 20);</p><p>  JC.addItem(new String("學(xué)生"));</p><p>  JC.addItem(new String("老師"));</p><p&

19、gt;  JB1.setBounds(80,220,60,20);</p><p>  this.add(JB1); this.add(JB2); this.add(JB3);</p><p>  JB1.addActionListener(this);</p><p>  JB2.setBounds(170,220,60,20);</p>&

20、lt;p>  JB2.addActionListener(this);</p><p>  JB3.setBounds(250,220,60,20);</p><p>  JB3.addActionListener(this);</p><p>  this.setVisible(true);</p><p>  this.setB

21、ounds(10,10,400,300);</p><p> ?、贠verride actionPerformed(ActionEvent arg0):實(shí)現(xiàn)對(duì)登錄界面上按鈕的監(jiān)聽(tīng)處理方法。(學(xué)生登錄與老師登錄相同,只寫一處)。具體處理方法為:登錄按鈕點(diǎn)擊后,對(duì)登錄角色,賬號(hào),密碼進(jìn)行驗(yàn)證,若驗(yàn)證成功,則根據(jù)不同角色,跳轉(zhuǎn)到管理員管理界面或?qū)W生管理界面,若驗(yàn)證失敗,則彈出相應(yīng)的原因提示框。取消按鈕點(diǎn)擊后,則退出系統(tǒng)

22、。注冊(cè)按鈕點(diǎn)擊后進(jìn)入到注冊(cè)界面。</p><p><b>  核心代碼如下:</b></p><p>  public void actionPerformed(ActionEvent e){</p><p>  if(e.getSource()==JB1){</p><p>  String number = JTUs

23、erNum.getText();</p><p>  String password=JPsw.getText();</p><p>  String box= (String)JC.getSelectedItem();</p><p><b>  try{</b></p><p>  Class.forName(&qu

24、ot;sun.jdbc.odbc.JdbcOdbcDriver");}</p><p>  catch (ClassNotFoundException ce){</p><p>  JOptionPane.showMessageDialog(ljm,ce.getMessage());}</p><p>  if(box.equals("學(xué)生

25、")){ </p><p><b>  try{</b></p><p>  Connection con = DriverManager.getConnection("jdbc:odbc:hudb");</p><p>  Statement stmt = con.createStatement();</

26、p><p>  ResultSet rs = stmt.executeQuery("select * from Load");</p><p><b>  int a=0;</b></p><p>  while(rs.next()) {</p><p>  if((rs.getString("

27、;number").equals(number))&&(</p><p>  rs.getString("password").equals(password)))</p><p><b>  a=1; }</b></p><p>  rs.close(); stmt.close

28、();</p><p>  if(a==1){ </p><p>  JOptionPane.showMessageDialog(ljm,"登陸成功");</p><p>  StudentJieMian sj =new StudentJieMian(); }</p><p><b>  

29、else {</b></p><p>  JOptionPane.showMessageDialog(ljm,"登錄失敗"); } }</p><p>  catch (SQLException se) {</p><p>  System.out.print("數(shù)據(jù)庫(kù)連接失敗"); }

30、}</p><p>  else if(e.getSource()==JB3){ new Reg();}</p><p><b>  else {</b></p><p>  System.exit(0);} }</p><p><b>  ImfoStu類</b></p>&

31、lt;p>  功能:以表的形式顯示所有學(xué)生的信息。</p><p><b>  成員變量表:</b></p><p><b>  方法</b></p><p>  ①構(gòu)造方法:初始化信息顯示界面的各個(gè)組件,以及設(shè)置此界面的初始位置等。</p><p><b>  核心代碼如下:<

32、;/b></p><p>  JMenu jm = new JMenu("信息");</p><p>  JMenuItem j1 = new JMenuItem("顯示信息");</p><p>  JMenuItem j2=new JMenuItem("退出");</p><p

33、>  JMenuBar JBar=new JMenuBar();</p><p>  ImfoStu(){</p><p>  super("學(xué)生信息記錄表");</p><p>  setSize(540,400);</p><p>  setLocation(320,240);</p><p&

34、gt;  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</p><p>  JBar.add(jm);jm.add(j1);jm.add(j2);</p><p>  setJMenuBar(JBar);</p><p>  j1.addActionListener(this);</p>&l

35、t;p>  j2.addActionListener(this);</p><p>  ②Override actionPerformed(ActionEvent arg0):實(shí)現(xiàn)對(duì)菜單子項(xiàng)上按鈕的監(jiān)聽(tīng)處理方法。具體處理方法:顯示信息子項(xiàng)點(diǎn)擊后,在界面顯示所有記錄信息。退出子項(xiàng)點(diǎn)擊后,退出該界面。</p><p><b>  核心代碼如下:</b></p&

36、gt;<p>  if(e.getSource()==j2)</p><p>  this.dispose();</p><p>  else if(e.getSource()==j1){</p><p>  int i,j,row;</p><p><b>  try {</b></p>&

37、lt;p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p>  }catch(ClassNotFoundException ce){}</p><p><b>  try{</b></p><p>  Connection cot = DriverMan

38、ager.getConnection("jdbc:odbc:hudb");</p><p>  Statement stm = cot.createStatement();</p><p>  ResultSet rs = stm.executeQuery("select * from Stu");</p><p>  dis

39、playResultSet(rs);</p><p>  rs.close();stm.close();cot.close();</p><p>  }catch(SQLException se){}</p><p>  public void displayResultSet(ResultSet rs)throws SQLException{</p>

40、<p>  boolean moreRecords=rs.next();</p><p>  if(!moreRecords){</p><p>  JOptionPane.showMessageDialog(null,"結(jié)果無(wú)記錄","無(wú)記錄",</p><p>  JOptionPane.INFORMATION

41、_MESSAGE);</p><p><b>  return;}</b></p><p>  Vector rows = new Vector();</p><p>  Vector columnHeads = new Vector();</p><p><b>  try{</b></p&

42、gt;<p>  ResultSetMetaData rsmd =rs.getMetaData();</p><p>  for(int i=1;i<=rsmd.getColumnCount();i++)</p><p>  columnHeads.addElement(rsmd.getColumnName(i));</p><p><b&

43、gt;  do{</b></p><p>  rows.addElement(getNextRow(rs,rsmd));</p><p>  }while(rs.next());</p><p>  JTable table=new JTable(rows,columnHeads);</p><p>  table.setSize

44、(new Dimension(400,400));</p><p>  JScrollPane scroller =new JScrollPane(table);</p><p>  Container c= getContentPane();</p><p>  c.add(scroller,BorderLayout.CENTER);</p><

45、;p>  c.validate();</p><p>  }catch(SQLException e){e.printStackTrace();}</p><p><b>  }</b></p><p>  private Vector getNextRow(ResultSet rs,ResultSetMetaData rsmd)thro

46、ws SQLException</p><p><b>  { </b></p><p>  Vector currentRow =new Vector();</p><p>  for(int i=1;i<=rsmd.getColumnCount();i++)</p><p>  currentRow.addEl

47、ement(rs.getString(i));</p><p>  return currentRow; </p><p>  TeacherJieMian類</p><p>  功能:顯示信息,作為跳轉(zhuǎn)到各種操作的橋梁。</p><p><b>  (1)成員變量表:</b></p><p>&

48、lt;b>  (2)方法:</b></p><p> ?、贅?gòu)造方法:初始化老師界面的各個(gè)組件,以及設(shè)置此界面的初始位置等。核心代碼如下:</p><p>  JMenuBar mainMenu = new JMenuBar();</p><p>  JMenu menu1 = new JMenu("信息");</p>

49、<p>  JMenu menu2 = new JMenu("幫助");</p><p>  JMenuItem itemAdd = new JMenuItem("添加學(xué)生信息");</p><p>  JMenuItem itemDel = new JMenuItem("刪除學(xué)生信息");</p>&

50、lt;p>  JMenuItem itemMod = new JMenuItem("修改學(xué)生信息");</p><p>  JMenu itemSel = new JMenu("查看學(xué)生信息");</p><p>  JMenuItem item1 = new JMenuItem("查看全部");</p>&

51、lt;p>  JMenuItem item2 = new JMenuItem("查看指定");</p><p>  JPanel jp = new JPanel();</p><p>  jp.setLayout(null);</p><p>  mainMenu.add(menu1); mainMenu.add(menu2); <

52、;/p><p>  menu1.add(itemAdd);menu1.add(itemDel);</p><p>  menu1.add(itemMod);menu1.add(itemSel);</p><p>  itemSel.add(item1); itemSel.add(item2);</p><p>  itemAdd.addAc

53、tionListener(this);</p><p>  itemDel.addActionListener(this);</p><p>  itemMod.addActionListener(this);</p><p>  itemSel.addActionListener(this);</p><p>  item1.addActi

54、onListener(this);</p><p>  item2.addActionListener(this);</p><p> ?、贠verride actionPerformed(ActionEvent arg0):實(shí)現(xiàn)對(duì)老師界面上按鈕的監(jiān)聽(tīng)處理方法。點(diǎn)擊各個(gè)子項(xiàng)跳轉(zhuǎn)至相應(yīng)的各個(gè)菜單。核心代碼如下:</p><p>  if(e.getSource()==

55、itemAdd){</p><p>  new AddStu();}</p><p>  else if(e.getSource()==item1){</p><p>  ImfoStu ss = new ImfoStu();}</p><p><b>  else {</b></p><

56、;p>  SelStu se = new SelStu(); }</p><p>  StudentJieMian類</p><p>  功能:顯示信息,作為跳轉(zhuǎn)到各種操作的橋梁。</p><p><b> ?。?)成員變量表:</b></p><p><b>  (2)方法:</b><

57、;/p><p> ?、贅?gòu)造方法:初始化學(xué)生界面的各個(gè)組件,以及設(shè)置此界面的初始位置等。核心代碼如下:</p><p>  JMenuBar jm= new JMenuBar();</p><p>  JMenu jm1 = new JMenu("查詢");</p><p>  JMenuItem jmi1 = new JMen

58、uItem("基本信息");</p><p>  JMenu jm2 = new JMenu("修改");</p><p>  JMenuItem jmi2 = new JMenuItem("修改密碼");</p><p>  JMenu jm3 = new JMenu("幫助");&l

59、t;/p><p>  JMenuItem jmi3 = new JMenuItem("幫助");</p><p>  JMenuItem jmi4 = new JMenuItem("退出");</p><p>  jm.add(jm1);jm.add(jm2); jm.add(jm3);</p><p&

60、gt;  jm1.add(jmi1); jm2.add(jmi2); jm3.add(jmi3); jm3.add(jmi4);</p><p>  jmi1.addActionListener(this);</p><p>  jmi2.addActionListener(this);</p><p>  jmi3.addActionListener(thi

61、s);</p><p>  jmi4.addActionListener(this);</p><p>  this.setBounds(10,10,320,240);</p><p> ?、贠verride actionPerformed(ActionEvent arg0):實(shí)現(xiàn)對(duì)學(xué)生界面上按鈕的監(jiān)聽(tīng)處理方法。核心代碼如下:if(e.getSource()==jm

62、i4)</p><p>  {System.exit(0);}</p><p>  if(e.getSource()==jmi1){</p><p>  new SchStu();}</p><p>  if(e.getSource()==jmi2){</p><p>  new Xiugai();</p>

63、<p><b>  AddStu類</b></p><p>  功能:老師添加學(xué)生信息。</p><p><b> ?。?)成員變量表:</b></p><p><b> ?。?)方法:</b></p><p>  構(gòu)造方法:初始化添加界面的各個(gè)組件,以及設(shè)置此界

64、面的初始位置等。核心代碼如下:</p><p>  JLabel JL=new JLabel("學(xué)生基本信息",JLabel.CENTER);</p><p>  JLabel JLNumber = new JLabel("學(xué)號(hào):");</p><p>  JTextField JTNumber = new JTextFiel

65、d();</p><p>  JLabel JLName = new JLabel("姓名:");</p><p>  JTextField JTName = new JTextField();</p><p>  JLabel JLAge = new JLabel("年齡:");</p><p>  

66、JTextField JTAge = new JTextField();</p><p>  JLabel JLNative = new JLabel("籍貫:");</p><p>  JTextField JTNative = new JTextField();</p><p>  JLabel JLSex = new JLabel(&quo

67、t;性別:");</p><p>  ButtonGroup BG = new ButtonGroup();</p><p>  JRadioButton JRB1 = new JRadioButton("男");</p><p>  JRadioButton JRB2 = new JRadioButton("女")

68、;</p><p>  JLabel JLClass = new JLabel("班級(jí):");</p><p>  JTextField JTClass = new JTextField();</p><p>  JLabel JLSum = new JLabel("總分:");</p><p>  J

69、TextField JTSum = new JTextField();</p><p>  JButton JBAdd = new JButton("添加");</p><p>  JButton JBNext = new JButton("重置");</p><p>  JLAge.setBounds(100,200,30,

70、20);</p><p>  this.add(JLAge); this.add(JTAge); this.add(JLNative); this.add(JTNative);</p><p>  JTAge.setBounds(200,200,80,20); JLNative.setBounds(100,240,30,20);</p><p>  JTNativ

71、e.setBounds(200, 240, 80, 20); JLClass.setBounds(100,280,30,20);</p><p>  this.add(JLClass); this.add(JTClass); this.add(JLSum); this.add(JTSum);</p><p>  JTClass.setBounds(200,280,80,20);J

72、LSum.setBounds(100,320,30,20);</p><p>  JTSum.setBounds(200, 320, 80, 20); JBAdd.setBounds(100, 360, 80, 20);</p><p>  ②Override actionPerformed(ActionEvent arg0):實(shí)現(xiàn)對(duì)學(xué)生界面上按鈕的監(jiān)聽(tīng)處理方法。核心代碼如下:if(e.

73、getSource()==JBAdd){</p><p>  String sex;</p><p>  if(JRB1.isSelected()){</p><p><b>  sex="男";}</b></p><p>  else { sex="女";}</p&g

74、t;<p><b>  try {</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}</p><p>  catch (ClassNotFoundException ce){</p><p>  JOptionPane.showMessa

75、geDialog(s,ce.getMessage());}</p><p><b>  try{</b></p><p>  Connection cot = DriverManager.getConnection("jdbc:odbc:hudb");</p><p>  Statement stm = cot.create

76、Statement();</p><p>  int a = stm.executeUpdate("insert into Stu values('"+JTName.getText()+"','"+JTNumber.getText()+"','"+JTAge.getText()+"','&

77、quot;+JTNative.getText()+"','"+sex+"','"+JTClass.getText()+"','"+JTSum.getText()+"')");</p><p><b>  if(a==1){</b></p>&l

78、t;p>  JOptionPane.showMessageDialog(s,"添加成功!");}</p><p><b>  else{</b></p><p>  JOptionPane.showMessageDialog(s,"添加失敗!");}</p><p>  stm.close();

79、</p><p>  }catch(Exception ee){</p><p>  JOptionPane.showMessageDialog(s,ee.getMessage());}</p><p><b>  }</b></p><p><b>  else{</b></p>&

80、lt;p>  JTNumber.setText("");JTName.setText("");JTAge.setText("");</p><p>  JTNative.setText("");JTClass.setText("");JTSum.setText("");</p>

81、<p>  JTNumber.requestFocus();}</p><p>  this.dispose();</p><p><b>  Reg類</b></p><p><b>  功能:新用戶注冊(cè)</b></p><p><b> ?。?)成員變量表:</b&

82、gt;</p><p><b> ?。?)方法:</b></p><p>  構(gòu)造方法:初始化注冊(cè)界面的各個(gè)組件,以及設(shè)置此界面的初始位置等。核心代碼如下:</p><p>  JLabel JLReg = new JLabel("新用戶注冊(cè)");</p><p>  JLabel JLNum = n

83、ew JLabel("請(qǐng)輸入用戶編號(hào): ");</p><p>  JLabel JLPsw = new JLabel("請(qǐng)輸入用戶密碼: ");</p><p>  JLabel JLIde = new JLabel("請(qǐng)輸入用戶身份: ");</p><p>  JTextField JTNum = n

84、ew JTextField();</p><p>  JPasswordField JPsw = new JPasswordField();</p><p>  JTextField JTIde = new JTextField();</p><p>  JButton JB1 = new JButton("確定");JButton JB2 =

85、new JButton("退出");</p><p>  JLNum.setBounds(80, 90, 100, 20);</p><p>  this.add(JLNum); this.add(JTNum); this.add(JLPsw);</p><p>  JTNum.setBounds(200, 90, 80, 20);JLPsw.s

86、etBounds(80, 120, 100, 20);</p><p>  JPsw.setBounds(200, 120, 80, 20);</p><p>  this.add(JPsw); this.add(JLIde); this.add(JTIde);</p><p>  JLIde.setBounds(80, 150, 100, 20);JTIde.se

87、tBounds(200, 150, 80, 20);</p><p> ?、贠verride actionPerformed(ActionEvent arg0):實(shí)現(xiàn)對(duì)注冊(cè)界面上按鈕的監(jiān)聽(tīng)處理方法。核心代碼如下:</p><p>  if(e.getSource()==JB1){</p><p><b>  try {</b></p>

88、;<p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}</p><p>  catch (ClassNotFoundException ce){</p><p>  JOptionPane.showMessageDialog(r,ce.getMessage());}</p><p&g

89、t;<b>  try{</b></p><p>  Connection con = DriverManager.getConnection("jdbc:odbc:hudb");</p><p>  Statement stmt = con.createStatement();</p><p>  int a =s

90、tmt.executeUpdate("insert into Load values('"+JPsw.getText()+"','"+JTIde.getText()+"','"+JTNum.getText()+"')");</p><p><b>  if(a==1){<

91、/b></p><p>  JOptionPane.showMessageDialog(r,"注冊(cè)成功!");}</p><p><b>  else{</b></p><p>  JOptionPane.showMessageDialog(r,"注冊(cè)失敗!");}</p><

92、;p>  stmt.close();</p><p>  }catch(Exception ee){</p><p>  JOptionPane.showMessageDialog(r,ee.getMessage());}</p><p>  SelStu類(SchStu類與本類基本 相同)</p><p>  功能:老師執(zhí)行學(xué)生信

93、息的查找,刪除,修改操作。</p><p><b>  (1)成員變量表:</b></p><p><b> ?。?)方法:</b></p><p>  構(gòu)造方法:初始化Sel界面的各個(gè)組件,以及設(shè)置此界面的初始位置等。核心代碼如下:</p><p>  JLabel J1 = new JLabel

94、("請(qǐng)輸入學(xué)號(hào):");</p><p>  JTextField JT1 = new JTextField("");</p><p>  JLabel JLNumber = new JLabel("學(xué)號(hào):");</p><p>  JTextField JTNumber = new JTextField()

95、;</p><p>  JLabel JLName = new JLabel("姓名:");</p><p>  JTextField JTName = new JTextField();</p><p>  JRadioButton JRB1 = new JRadioButton("男");</p><p

96、>  JRadioButton JRB2 = new JRadioButton("女");</p><p>  JLabel JLClass = new JLabel("班級(jí):");</p><p>  JTextField JTClass = new JTextField();</p><p>  JLabel JLS

97、um = new JLabel("總分:");</p><p>  JTextField JTSum = new JTextField();</p><p>  JButton JB1 = new JButton("查詢");JButton JB2 = new JButton("重置");</p><p>

98、  JButton JB3 = new JButton("刪除");JButton JB4 = new JButton("修改");</p><p>  JB1.setBounds(55, 220, 63, 20);JB2.setBounds(265, 60, 63, 20);</p><p>  JB3.setBounds(150, 220, 63

99、, 20);JB4.setBounds(248, 220, 63, 20);</p><p>  JLNumber.setBounds( 50,90,60,20);</p><p>  this.add(JLNumber); this.add(JTNumber);this.add(JLName);</p><p>  JTNumber.setBounds(100,

100、 90, 80, 20);JLName.setBounds(200, 90, 30, 20);</p><p>  JTName.setBounds(250, 90, 80, 20);JLSex.setBounds(120, 120, 30, 20);</p><p>  this.add(JTName);this.add(JLSex);</p><p>  JRB

101、1.setBounds(190,120,40,20);JRB2.setBounds(240,120,40,20);</p><p>  this.add(JRB1); this.add(JRB2);BG.add(JRB1); BG.add(JRB2); </p><p> ?、贠verride actionPerformed(ActionEvent arg0):實(shí)現(xiàn)對(duì)注冊(cè)

102、界面上按鈕的監(jiān)聽(tīng)處理方法。核心代碼如下:if(e.getSource()==JB1){ //查詢</p><p><b>  try{</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p>  }catch (ClassNotFoundE

103、xception ce){}</p><p><b>  try{</b></p><p>  Connection con = DriverManager.getConnection("jdbc:odbc:hudb");</p><p>  Statement stm = con.createStatement();<

104、;/p><p>  ResultSet rs = stm.executeQuery("select * from Stu where snum= '" + JT1.getText()+ "'");</p><p>  if(rs.next()){</p><p>  JTNumber.setText(rs.getS

105、tring("snum"));</p><p>  JTName.setText(rs.getString("sname"));</p><p>  if(rs.getString("ssex").equals("男")){</p><p>  JRB1.setSelected(true

106、);}</p><p><b>  else {</b></p><p>  JRB2.setSelected(true);}</p><p>  JTNative.setText(rs.getString("snative"));JTAge.setText(rs.getString("sage"))

107、;</p><p>  JTClass.setText(rs.getString("sclass"));JTSum.setText(rs.getString("ssum"));}</p><p><b>  else {</b></p><p>  JOptionPane.showMessageDial

108、og(this,"不存在該記錄!");}}</p><p>  catch (SQLException se)</p><p><b>  {</b></p><p>  JOptionPane.showMessageDialog(s,se.getMessage()); }} </p><p&

109、gt;  else if(e.getSource()==JB2){ //重置</p><p>  JT1.setText(null);JTNumber.setText("");JTName.setText("");</p><p>  JTAge.setText("");JTNative.setText("&qu

110、ot;);JTClass.setText("");</p><p>  JTSum.setText("");JT1.requestFocus();}</p><p>  else if(e.getSource()==JB3){ //刪除</p><p><b>  try{</b></p>

111、;<p>  Connection con = DriverManager.getConnection("jdbc:odbc:hudb");</p><p>  Statement stmt = con.createStatement();</p><p>  int a= stmt.executeUpdate("delete from Stu

112、where snum='"+JT1.getText()+"' ");</p><p><b>  if(a==1){</b></p><p>  JOptionPane.showMessageDialog(s,"刪除成功!");}</p><p><b>  else

113、{</b></p><p>  JOptionPane.showMessageDialog(s,"刪除失敗!");}</p><p>  }catch(SQLException ee){}</p><p>  else if(e.getSource()==JB4){ // 修改</p><p><

114、b>  try{</b></p><p>  Connection con = DriverManager.getConnection("jdbc:odbc:hudb");</p><p>  Statement stmt = con.createStatement();</p><p>  int a =stmt.execu

115、teUpdate("Update Stu set snum='"+JTNumber.getText()+"',"+"sname='"+JTName.getText()+"', sage" +"='"+JTAge.getText()+"',snative='"+

116、JTNative.getText()+"'," +</p><p>  "sclass='"+JTClass.getText()+"',ssum='"+JTSum.getText()+"'where snum='"+JT1.getText()+"'");<

117、;/p><p>  stmt = con.createStatement();</p><p>  if(a==1){JOptionPane.showMessageDialog(this,"修改成功");}</p><p><b>  else{</b></p><p>  JOptionPane.sho

118、wMessageDialog(this,"修改失敗");}</p><p>  }catch(SQLException se){}</p><p><b>  Xiugai類</b></p><p>  功能:修改學(xué)生用戶個(gè)人密碼</p><p><b>  (1)成員變量表</b&g

119、t;</p><p><b> ?。?)方法</b></p><p>  ①構(gòu)造方法:初始化修改個(gè)人密碼界面的各個(gè)組件,以及設(shè)置此界面的初始位置等</p><p><b>  核心代碼如下:</b></p><p>  JLabel JL=new JLabel("修改個(gè)人密碼",

120、JLabel.CENTER);</p><p>  JLabel JLP = new JLabel("請(qǐng)輸入你的編號(hào):");</p><p>  JTextField JTL = new JTextField();</p><p>  JLabel JLP1 = new JLabel("請(qǐng)輸入原來(lái)密 碼 : ");</p

121、><p>  JPasswordField JTP1 = new JPasswordField();</p><p>  JLabel JLP2 = new JLabel("請(qǐng)?jiān)俅屋斎朊?碼 : ");</p><p>  JPasswordField JTP2 = new JPasswordField();</p><p>

122、  JLabel JLP3 = new JLabel("請(qǐng)輸入新密 碼 : ");</p><p>  JPasswordField JTP3 = new JPasswordField();</p><p>  JButton JB1 = new JButton("確定");JButton JB2 = new JButton("退出&q

123、uot;);</p><p>  JL.setBounds(80, 30, 200, 30);</p><p>  this.add(JL);this.add(JLP); this.add(JTL); this.add(JLP1);</p><p>  JLP.setBounds(70,70,115,20);JTL.setBounds(180,70,80,20);

124、</p><p>  JLP1.setBounds(70,100,115,20);JTP1.setBounds(180,100,80,20);</p><p>  this.add(JTP1); this.add(JLP2); this.add(JTP2);</p><p>  this.add(JLP3); this.add(JTP3); this.add(JB1

125、);</p><p>  JLP2.setBounds(70,130,115,20);JTP2.setBounds(180,130,80,20);</p><p>  JLP3.setBounds(70,160,100,20);JTP3.setBounds(180,160,80,20);</p><p> ?、贠verride actionPerformed(Ac

126、tionEvent arg0):實(shí)現(xiàn)對(duì)此界面上按鈕的監(jiān)聽(tīng)處理方法。核心代碼如下:</p><p>  if(e.getSource()==JB1){</p><p><b>  try{</b></p><p>  Connection con = DriverManager.getConnection("jdbc:odbc:hud

127、b");</p><p>  Statement stmt = con.createStatement();</p><p>  int a =stmt.executeUpdate("Update Load set password='"+JTP3.getText()+"'where number='"+JTL.g

128、etText()+"' ");</p><p>  if(a==1){JOptionPane.showMessageDialog(this,"修改成功");}</p><p><b>  else{</b></p><p>  JOptionPane.showMessageDialog(this,

129、"修改失敗");}</p><p>  }catch(SQLException se){} }</p><p>  else{ this.dispose();}</p><p>  第四章 運(yùn)行調(diào)試與分析討論</p><p><b>  1. 運(yùn)行主界面</b></p><p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論