版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---學(xué)生信息管理系統(tǒng)設(shè)計(jì)
- 學(xué)生信息管理數(shù)據(jù)庫(kù)課程設(shè)計(jì)
- 數(shù)據(jù)庫(kù)原理b課程設(shè)計(jì)--數(shù)據(jù)庫(kù)學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告--學(xué)生信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng) (2)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生選課信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---學(xué)生學(xué)籍信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)之學(xué)生信息管理系統(tǒng)
- sql數(shù)據(jù)庫(kù)(學(xué)生信息管理系統(tǒng))課程設(shè)計(jì)報(bào)告
- pb數(shù)據(jù)庫(kù)應(yīng)用課程設(shè)計(jì)——學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)---宿舍信息管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--教室信息管理系統(tǒng).
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)-員工信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論