2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩129頁(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>  第21章 學(xué)生管理系統(tǒng)</p><p>  21.1 系統(tǒng)設(shè)計(jì)</p><p>  首先確定學(xué)生管理系統(tǒng)的用戶。學(xué)生管理系統(tǒng)的用戶基本分為兩類,分別是老師和學(xué)生。不管是哪種用戶都是必須經(jīng)過(guò)登錄才能進(jìn)入學(xué)生管理系統(tǒng)的,所以該系統(tǒng)必須有一個(gè)登錄界面,并且在該界面中能夠讓用戶選擇用戶是老師還是學(xué)生。該系統(tǒng)是不會(huì)對(duì)外開(kāi)放的,所以也不存在注冊(cè)界面。</p>&

2、lt;p>  因?yàn)橛脩舴譃閮煞N,所以每一種用戶進(jìn)行操作的界面應(yīng)該是不同的。首先是學(xué)生界面,在其中應(yīng)該只有查詢成績(jī)和個(gè)人信息查詢和插入。在本章中就來(lái)學(xué)習(xí)如何進(jìn)行學(xué)生界面開(kāi)發(fā)。</p><p>  除了學(xué)生界面外,還要有一個(gè)老師界面。老師在老師界面中可以對(duì)學(xué)生信息進(jìn)行管理,包括查詢、修改和刪除。同樣也可以對(duì)學(xué)生的程序進(jìn)行管理,包括查詢和插入,由于輸入錯(cuò)誤還要能夠?qū)W(xué)生的成績(jī)進(jìn)行修改,由于學(xué)生作弊還能夠?qū)W(xué)生的成

3、績(jī)進(jìn)行刪除。</p><p>  21.2 數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p>  在本節(jié)中,就來(lái)分析本系統(tǒng)中需要的數(shù)據(jù)庫(kù)支持。首先數(shù)據(jù)庫(kù)中應(yīng)該有老師和學(xué)生這兩個(gè)表,表中應(yīng)該最少有用戶名和密碼兩項(xiàng),使用表中的這兩項(xiàng)就可以進(jìn)行登錄。在學(xué)生表中還應(yīng)該具有一些和學(xué)籍相關(guān)的信息,包括年齡、班級(jí)等內(nèi)容,這樣就可以在系統(tǒng)中對(duì)學(xué)生信息進(jìn)行操作。</p><p>  除此之外還需要一個(gè)成

4、績(jī)表,通過(guò)該表老師可以對(duì)學(xué)生的成績(jī)進(jìn)行查詢、插入、修改和刪除。學(xué)生也可以通過(guò)該表對(duì)自己的成績(jī)進(jìn)行查詢。</p><p>  21.3 登錄界面開(kāi)發(fā)</p><p>  不管是老師和學(xué)生進(jìn)入學(xué)生管理系統(tǒng)都是從登錄界面進(jìn)入的。在登錄界面中應(yīng)該是讓用戶選擇自己身份的,然后系統(tǒng)將根據(jù)用戶的選擇來(lái)判斷用戶的身份并進(jìn)行查詢不同的數(shù)據(jù)庫(kù)。這里為了讓讀者更容易理解登錄界面,并沒(méi)有連接數(shù)據(jù)庫(kù)。讀者可以將數(shù)

5、據(jù)庫(kù)的操作加到程序中。</p><p>  21.3.1 界面設(shè)計(jì)</p><p>  這里的登錄界面是采用最簡(jiǎn)單的形式,只需要用戶輸入用戶名和密碼就可以登錄。并且在界面中定義了一個(gè)下拉列表框讓用戶來(lái)選擇自己的身份。該界面的基本形式如圖所示。</p><p>  21.3.2 程序開(kāi)發(fā)</p><p>  對(duì)界面設(shè)計(jì)好基本形式后,就可以進(jìn)

6、行程序開(kāi)發(fā)。首先要定義兩個(gè)標(biāo)簽和兩個(gè)文本框,分別來(lái)表示用戶名和密碼。并且還需要定義一個(gè)下拉列表讓用戶來(lái)進(jìn)行身份選擇,其中選項(xiàng)包括“學(xué)生”和“老師”。在程序的最后還定義了兩個(gè)按鈕,從而讓用戶輸入用戶名和密碼后進(jìn)行登錄。</p><p>  【范例】示例代碼是用戶登錄界面程序。</p><p>  21.4 學(xué)生界面開(kāi)發(fā)</p><p>  在本節(jié)中將來(lái)開(kāi)發(fā)學(xué)生界面,

7、在學(xué)生界面中,學(xué)生可以對(duì)自己的信息進(jìn)行查詢,在第一次登錄時(shí)還可以對(duì)自己的信息進(jìn)行插入,并且學(xué)生能夠查詢自己的成績(jī)。</p><p>  21.4.1 界面設(shè)計(jì)</p><p>  因?yàn)閷W(xué)生要完成對(duì)信息和成績(jī)的操作,所以這里的設(shè)計(jì)是在界面中定義兩個(gè)菜單,分別進(jìn)行信息和成績(jī)的操作。因?yàn)閷?duì)信息的操作包括插入和查詢,所以還需要在信息菜單下定義“插入”和“查詢”兩個(gè)子菜單</p>&

8、lt;p>  21.4.2 程序開(kāi)發(fā)</p><p>  對(duì)界面進(jìn)行設(shè)計(jì)后,就可以進(jìn)行程序開(kāi)發(fā)。同樣首先是創(chuàng)建一個(gè)窗口,在窗口中要?jiǎng)?chuàng)建兩個(gè)菜單,并且在信息菜單下還要?jiǎng)?chuàng)建“插入”和“查詢”兩個(gè)子菜單。</p><p>  【范例】示例代碼是一個(gè)學(xué)生界面程序。</p><p>  21.4.3 開(kāi)發(fā)插入學(xué)生界面</p><p>  在學(xué)

9、生界面中單擊“信息”菜單下的“插入”子菜單,就會(huì)進(jìn)入學(xué)生插入界面,在該界面中學(xué)生可以輸入自己的信息。</p><p>  【范例】示例代碼是一個(gè)學(xué)生插入信息界面程序。</p><p>  21.4.4 查詢學(xué)生信息界面</p><p>  學(xué)生第一次插入信息后,老師是可以對(duì)學(xué)生的信息進(jìn)行修改和刪除的。除此之外,學(xué)生還可以查詢自己被修改后的信息,在信息菜單下有一個(gè)查

10、詢子菜單,單擊該菜單就觸發(fā)事件,從而進(jìn)入查詢學(xué)生信息界面。</p><p>  【范例】示例代碼是查詢學(xué)生信息界面。</p><p>  21.4.5 查詢成績(jī)信息</p><p>  在學(xué)生界面中還有一個(gè)“成績(jī)”菜單,在學(xué)生的界面該菜單下只有一個(gè)“查詢”子菜單。單擊“查詢”子菜單,將觸發(fā)事件,進(jìn)入到查詢成績(jī)界面。</p><p>  【范

11、例】示例代碼是一個(gè)查詢成績(jī)界面程序。</p><p>  21.5 綜合練習(xí)</p><p>  1.參考本章中學(xué)生界面,開(kāi)發(fā)學(xué)生系統(tǒng)中的老師界面。</p><p>  【提示】老師界面和學(xué)生界面是非常類似的,但是也是存在很多不一樣的地方的。首先在老師界面中能夠?qū)W(xué)生的信息除了插入和查詢之外,還能夠?qū)W(xué)生的信息進(jìn)行修改和刪除,這樣就需要在“信息”菜單下增加“修改”

12、和“刪除”兩個(gè)子菜單,也從而需要開(kāi)發(fā)修改學(xué)生信息界面和刪除學(xué)生信息界面。</p><p>  在學(xué)生界面中只能夠進(jìn)行對(duì)程序的查詢,在老師界面中不但能夠?qū)W(xué)生的信息進(jìn)行查詢,還能夠?qū)W(xué)生的信息進(jìn)行修改、插入和刪除。同樣也是需要增加相應(yīng)的子菜單和對(duì)應(yīng)的界面。</p><p>  import java.awt.*;</p><p>  import java.awt.e

13、vent.*;</p><p>  import javax.swing.*;</p><p>  import java.util.*;</p><p>  import javax.swing.event.*;</p><p>  import java.sql.*;</p><p>  class AddStud

14、ent extends JFrame implements ActionListener</p><p><b>  {</b></p><p>  JLabel JL =new JLabel("添 加 基 本 信 息",JLabel.CENTER);//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  JLa

15、bel JLNumber=new JLabel("學(xué)號(hào):");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  JTextField JTNumber=new JTextField();//創(chuàng)建一個(gè)文本框?qū)ο?lt;/p><p>  JLabel JLName =new JLabel("姓名:");//使用文本創(chuàng)建一個(gè)標(biāo)簽

16、對(duì)象</p><p>  JTextField JTName =new JTextField();//創(chuàng)建一個(gè)文本框?qū)ο?lt;/p><p>  JLabel JLClass =new JLabel("班級(jí):");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  JTextField JTClass =new JTextField

17、();//創(chuàng)建一個(gè)文本框?qū)ο?lt;/p><p>  JLabel JLsex =new JLabel("性別:");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  ButtonGroup BG =new ButtonGroup();//創(chuàng)建一個(gè)ButtonGroup組件對(duì)象</p><p>  JRadioBu

18、tton JRB1 =new JRadioButton("男");//創(chuàng)建一個(gè)單選按鈕對(duì)象</p><p>  JRadioButton JRB2 =new JRadioButton("女");</p><p>  JLabel JL1 =new JLabel("學(xué)院:");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象

19、</p><p>  JTextField JT1 =new JTextField();//創(chuàng)建一個(gè)文本框?qū)ο?lt;/p><p>  JButton JBAdd =new JButton("添加"); //創(chuàng)建按鈕對(duì)象</p><p>  JButton JBNext =new JButton("重置&q

20、uot;);</p><p>  String sql="";//定義一個(gè)字符串</p><p>  public AddStudent()//創(chuàng)建AddStudent構(gòu)造函數(shù)</p><p><b>  {</b></p><p>  this.setTitle(&

21、quot;添加學(xué)生信息");//設(shè)置窗口標(biāo)題</p><p>  this.setLayout(null);//設(shè)置窗口布局管理器</p><p>  JL.setBounds(100,30,200,40);//設(shè)置標(biāo)簽的初始位置</p><p>  this.add(JL);//將標(biāo)簽添加到容器</p&g

22、t;<p>  JLNumber.setBounds(100,80,100,20);//設(shè)置學(xué)號(hào)標(biāo)簽的初始位置</p><p>  this.add(JLNumber);//將學(xué)號(hào)標(biāo)簽添加到容器</p><p>  JTNumber.setBounds(200,80,80,20);//設(shè)置文本框的初始位置</p><p>  

23、this.add(JTNumber);//將文本框添加到容器</p><p>  JLName.setBounds(100,120,60,20);//設(shè)置姓名標(biāo)簽的初始位置</p><p>  this.add(JLName);//將姓名標(biāo)簽添加到容器</p><p>  JTName.setBounds(200,120,80,20

24、);//設(shè)置文本框的初始位置</p><p>  this.add(JTName);//將文本框添加到容器</p><p>  JLsex.setBounds(100,160,100,20);//設(shè)置性別標(biāo)簽的初始位置</p><p>  this.add(JLsex);//將性別標(biāo)簽添加到容器</p><

25、p>  JRB1.setBounds(200,160,40,20);//設(shè)置單選按鈕的初始位置</p><p>  JRB2.setBounds(300,160,40,20);</p><p>  this.add(JRB1);//添加單選按鈕組件</p><p>  this.add(JRB2);</p><p&g

26、t;  BG.add(JRB1);//將單選按鈕添加到ButtonGroup組件</p><p>  BG.add(JRB2);</p><p>  JLClass.setBounds(100,240,60,20);//設(shè)置班級(jí)標(biāo)簽的初始位置</p><p>  this.add(JLClass);//將班級(jí)標(biāo)簽添加到容器<

27、/p><p>  JTClass.setBounds(200,240,80,20);//設(shè)置文本框的初始位置</p><p>  this.add(JTClass);//將文本框添加到容器</p><p>  JL1.setBounds(100,280,60,20);//設(shè)置學(xué)院標(biāo)簽的初始位置</p><p>  th

28、is.add(JL1);//將學(xué)院標(biāo)簽添加到容器</p><p>  JT1.setBounds(200,280,80,20);//設(shè)置文本框的初始位置</p><p>  this.add(JT1);//將文本框添加到容器</p><p>  JBAdd.setBounds(80,320,90,20);//設(shè)置添加按

29、鈕的初始位置</p><p>  this.add(JBAdd);//將添加按鈕添加到容器</p><p>  JBAdd.addActionListener(this);//給按鈕添加監(jiān)聽(tīng)器</p><p>  JBNext.setBounds(190,320,90,20);//設(shè)置重置按鈕的初始位置</p><p&

30、gt;  this.add(JBNext);//將重置按鈕添加到容器</p><p>  JBNext.addActionListener(this);//給按鈕添加監(jiān)聽(tīng)器</p><p>  this.setBounds(10,10,500,400);//設(shè)置窗口尺寸大小</p><p>  this.setVisible(true)

31、;//設(shè)置窗口的可見(jiàn)性</p><p>  addWindowListener(new WindowAdapter()</p><p>  { public void windowClosing(WindowEvent e)</p><p><b>  {</b></p><p>  System.exit(

32、0);</p><p><b>  }</b></p><p><b>  });</b></p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e)</p><p>

33、<b>  {</b></p><p>  if(e.getSource()==JBAdd)//處理"添加"事件</p><p><b>  {</b></p><p>  String snumber=JTNumber.getText();//將文本框中包含的文本傳給字符串snumber</p&

34、gt;<p>  String sname=JTName.getText();//將文本框中包含的文本傳給字符串sname</p><p>  String sclass=JTClass.getText();//將文本框中包含的文本傳給字符串sclass</p><p>  String ssex="女";//返回單選按鈕的值</p><

35、;p>  if(JRB1.isSelected())</p><p><b>  ssex="男";</b></p><p>  String scollect=JT1.getText();//將文本框中包含的文本傳給字符串scollect </p><p>  sql="select * from s

36、tudent where Id='"+snumber+"'";//檢索出Id等于snumber的學(xué)生的所有信息</p><p>  try //異常處理</p><p><b>  {</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcD

37、river");//加載驅(qū)動(dòng)程序</p><p>  Connection cot=DriverManager.getConnection("jdbc:odbc:student1","","");//打開(kāi)數(shù)據(jù)庫(kù)連接,student1為數(shù)據(jù)源名稱</p><p>  Statement stm=cot.createSta

38、tement();//提交查詢</p><p>  ResultSet rs=stm.executeQuery(sql);//取得查詢結(jié)果</p><p>  if(rs.next())//判斷結(jié)果是否存在</p><p>  JOptionPane.showMessageDialog(null,"該號(hào)已經(jīng)存在!");//通過(guò)showMessag

39、eDialog()方法打印信息</p><p><b>  else </b></p><p><b>  {</b></p><p>  sql="insert into student values('"+snumber+"','"+sname+"

40、;','"+sclass+"','"+ssex+"','"+scollect+"')";//插入一組數(shù)據(jù)</p><p>  int i=stm.executeUpdate(sql); //對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新</p><p><b>  if(i>0)

41、</b></p><p>  JOptionPane.showMessageDialog(null,"添加成功!");</p><p><b>  else</b></p><p>  JOptionPane.showMessageDialog(null,"刪除失敗!");</p>

42、<p><b>  }</b></p><p>  }catch(Exception ee)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  }</b></p><

43、;p>  if(e.getSource()==JBNext)//處理"重置"事件</p><p><b>  {</b></p><p>  JTNumber.setText(null);//設(shè)置文本的text值為null</p><p>  JTName.setText(null);//設(shè)置文本的text值為nul

44、l</p><p>  JTClass.setText(null);//設(shè)置文本的text值為null</p><p>  JT1.setText(null);//設(shè)置文本的text值為null</p><p><b>  }</b></p><p><b>  }</b></p>&

45、lt;p>  public static void main(String args[])</p><p><b>  {</b></p><p>  new AddStudent();</p><p><b>  }</b></p><p><b>  }</b><

46、;/p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import javax.swing.*;</p><p>  import java.util.*;</p><p>  import javax.swing.event.*

47、;</p><p>  import java.sql.*;</p><p>  import java.util.Vector;</p><p>  class ChengJiStudent extends JFrame implements ActionListener</p><p><b>  {</b><

48、/p><p>  JLabel JL =new JLabel("查 詢 成 績(jī)",JLabel.CENTER);//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  JLabel JLNumber=new JLabel("請(qǐng)輸入學(xué)號(hào):");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  JTextField

49、 JTNumber=new JTextField();//創(chuàng)建一個(gè)文本框?qū)ο?lt;/p><p>  JLabel JLName =new JLabel("姓名:");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  JTextField JTName =new JTextField();//創(chuàng)建一個(gè)文本框?qū)ο?lt;/p><p>  JLa

50、bel JLClass =new JLabel("語(yǔ)文:");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  JTextField JTClass =new JTextField();//創(chuàng)建一個(gè)文本框?qū)ο?lt;/p><p>  JLabel JL1 =new JLabel("數(shù)學(xué):");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</

51、p><p>  JTextField JT1 =new JTextField();//創(chuàng)建一個(gè)文本框?qū)ο?lt;/p><p>  JLabel JL2 =new JLabel("班級(jí):");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  JTextField JT2 =new JTextField();//創(chuàng)建一個(gè)文本框

52、對(duì)象</p><p>  JButton JBSet =new JButton("查詢");//創(chuàng)建按鈕對(duì)象</p><p>  JButton JBNext =new JButton("重置");</p><p>  String sql=""; //定義一個(gè)字符串</p>

53、<p>  public ChengJiStudent() //創(chuàng)建SetGrade構(gòu)造函數(shù)</p><p><b>  {</b></p><p>  this.setTitle("查詢成績(jī)");//設(shè)置窗口標(biāo)題</p><p>  this.setLayout(null);//設(shè)置窗口布局管理器</p&g

54、t;<p>  JL.setForeground(Color.red);//設(shè)置標(biāo)簽的前景色</p><p>  JL.setFont(new java.awt.Font("宋體",Font.PLAIN,19));//設(shè)置標(biāo)簽的字體</p><p>  JL.setBounds(100,30,200,40);//設(shè)置標(biāo)簽的初始位置</p>&

55、lt;p>  this.add(JL);//將標(biāo)簽添加到容器</p><p>  JLNumber.setBounds(100,80,100,20);//設(shè)置學(xué)號(hào)標(biāo)簽的初始位置</p><p>  this.add(JLNumber);//將學(xué)號(hào)標(biāo)簽添加到容器</p><p>  JTNumber.setBounds(200,80,80,20);//設(shè)置文本框

56、的初始位置</p><p>  this.add(JTNumber);//將文本框添加到容器</p><p>  JLName.setBounds(100,160,60,20);//設(shè)置姓名標(biāo)簽的初始位置</p><p>  this.add(JLName);//將姓名標(biāo)簽添加到容器</p><p>  JTName.setBounds(20

57、0,160,80,20);//設(shè)置文本框的初始位置</p><p>  this.add(JTName);//將文本框添加到容器</p><p>  JL2.setBounds(100,240,80,20);//設(shè)置班級(jí)標(biāo)簽的初始位置</p><p>  this.add(JL2);//將班級(jí)標(biāo)簽添加到容器</p><p>  JT2.s

58、etBounds(200,240,80,20);//設(shè)置文本框的初始位置</p><p>  this.add(JT2);//將文本框添加到容器</p><p>  JLClass.setBounds(100,280,60,20);//設(shè)置語(yǔ)文標(biāo)簽的初始位置</p><p>  this.add(JLClass);//將語(yǔ)文標(biāo)簽添加到容器</p>&l

59、t;p>  JTClass.setBounds(200,280,80,20);//設(shè)置文本框的初始位置</p><p>  this.add(JTClass);//將文本框添加到容器</p><p>  JL1.setBounds(100,320,60,20);//設(shè)置數(shù)學(xué)標(biāo)簽的初始位置</p><p>  this.add(JL1);//將數(shù)學(xué)標(biāo)簽添加到容器

60、</p><p>  JT1.setBounds(200,320,80,20);//設(shè)置文本框的初始位置</p><p>  this.add(JT1);//將文本框添加到容器</p><p>  JBSet.setBounds(80,120,90,20);////設(shè)置查詢按鈕的初始位置</p><p>  this.add(JBSet);/

61、/將查詢按鈕添加到容器</p><p>  JBSet.addActionListener(this);//給按鈕添加監(jiān)聽(tīng)器</p><p>  JBNext.setBounds(190,120,90,20);//設(shè)置重置按鈕的初始位置</p><p>  this.add(JBNext);//將重置按鈕添加到容器</p><p>  JBN

62、ext.addActionListener(this);//給按鈕添加監(jiān)聽(tīng)器</p><p>  this.setBounds(10,10,500,400);//設(shè)置窗口尺寸大小</p><p>  this.setVisible(true);//設(shè)置窗口的可見(jiàn)性</p><p>  addWindowListener(new WindowAdapter()<

63、/p><p>  { public void windowClosing(WindowEvent e)</p><p><b>  {</b></p><p>  System.exit(0);</p><p><b>  }</b></p><p><b>  });

64、</b></p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  {</b></p><p>  if(e.getSource()==JBSet)//處理"

65、查詢"事件</p><p><b>  {</b></p><p>  String snumber=JTNumber.getText();//將文本框中包含的文本傳給字符串snumber</p><p>  String sname=JTName.getText();//將文本框中包含的文本傳給字符串sname</

66、p><p>  String sclass=JTClass.getText();//將文本框中包含的文本傳給字符串sclass</p><p>  String ssex="女";//返回單選按鈕的值</p><p>  String scollect=JT1.getText();//將文本框中包含的文本傳給字符串scollect <

67、;/p><p>  String sbir=JT2.getText();//將文本框中包含的文本傳給字符串sbir</p><p>  sql="select * from grade where Id='"+snumber+"'";//檢索出Id等于snumber的學(xué)生的所有信息</p><p>  

68、try //異常處理</p><p><b>  {</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加載驅(qū)動(dòng)程序</p><p>  Connection cot=DriverManager.getConnection("jd

69、bc:odbc:student1","","");//打開(kāi)數(shù)據(jù)庫(kù)連接,student1為數(shù)據(jù)源名稱</p><p>  Statement stm=cot.createStatement();//提交查詢</p><p>  ResultSet rs=stm.executeQuery(sql);//取得查詢結(jié)果&l

70、t;/p><p>  if(rs.next()) //判斷結(jié)果是否存在</p><p><b>  {</b></p><p>  String name=rs.getString(2);//獲取當(dāng)前行中指定列的值,并將返回的字符串對(duì)象賦給 name</p><p>  JTName.setText(na

71、me);//將字符串name顯示在文本框中 </p><p>  String clas=rs.getString(3);//獲取當(dāng)前行中指定列的值,并將返回的字符串對(duì)象賦給clas </p><p>  JTClass.setText(clas);//將字符串clas顯示在文本框中</p><p>  String c

72、ollect=rs.getString(5);//獲取當(dāng)前行中指定列的值,并將返回的字符串對(duì)象賦給collect </p><p>  JT1.setText(collect); //將字符串collect顯示在文本框中</p><p>  String bir=rs.getString(6); //獲取當(dāng)前行中指定列的值,并將返回的字符串對(duì)象賦給bir

73、 </p><p>  JT2.setText(bir);//將字符串bir顯示在文本框中</p><p>  int n=stm.executeUpdate(sql);//對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新</p><p>  if(n>0)</p><p>  JOptionPane.showMessageDialog(null,

74、"查詢成功!");//通過(guò)showMessageDialog()方法打印信息</p><p><b>  else</b></p><p>  JOptionPane.showMessageDialog(null,"查詢失敗!");</p><p><b>  }</b></p

75、><p><b>  else</b></p><p><b>  {</b></p><p>  JOptionPane.showMessageDialog(null,"此用戶不存在!");</p><p><b>  }</b></p><

76、;p>  }catch(Exception ee)</p><p><b>  {</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  if(e.getSource()==JBNext)//處理"重置&qu

77、ot;事件</p><p><b>  {</b></p><p>  JTNumber.setText(null);//設(shè)置文本的text值為null</p><p>  JTName.setText(null);//設(shè)置文本的text值為null</p><p>  JTClass.setText(

78、null);//設(shè)置文本的text值為null</p><p>  JT1.setText(null);//設(shè)置文本的text值為null</p><p>  JT2.setText(null);//設(shè)置文本的text值為null</p><p><b>  }</b></p><p><b>  }

79、</b></p><p>  public static void main(String args[])</p><p><b>  {</b></p><p>  new ChengJiStudent();//實(shí)例化一個(gè)對(duì)象</p><p><b>  }</b></p&g

80、t;<p><b>  }</b></p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import javax.swing.*;</p><p>  import java.util.*;</p>

81、<p>  import javax.swing.event.*;</p><p>  public class DengLuJieMian extends Frame implements ActionListener</p><p><b>  {</b></p><p>  JLabel JLUserName =new

82、 JLabel("用戶名:");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  JLabel JLPaw =new JLabel("密 碼:");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  JTextField JTUserName=new JTextField();//創(chuàng)建一個(gè)文本框?qū)ο?lt;/p>&l

83、t;p>  JPasswordField JPsw =new JPasswordField();//創(chuàng)建一個(gè)密碼框?qū)ο?lt;/p><p>  JButton JB1 =new JButton("登錄");//創(chuàng)建按鈕對(duì)象</p><p>  JButton JB2 =new JButton("取消");</p>

84、;<p>  JLabel JL1 =new JLabel("身 份:");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  JComboBox JC =new JComboBox();//創(chuàng)建一個(gè)組合框?qū)ο?lt;/p><p>  public DengLuJieMian()</p><p><

85、b>  {</b></p><p>  this.setTitle("學(xué)生信息管理系統(tǒng)");//設(shè)置窗口標(biāo)題</p><p>  this.setLayout(null);//設(shè)置窗口布局管理器</p><p>  JLUserName.setBounds(100,40,100,20);//設(shè)置姓名標(biāo)簽的初

86、始位置</p><p>  this.add(JLUserName);//將姓名標(biāo)簽組件添加到容器</p><p>  JTUserName.setBounds(200,40,80,20);//設(shè)置文本框的初始位置</p><p>  this.add(JTUserName);//將文本框組件添加到容器</p><p

87、>  JLPaw.setBounds(100,100,60,20);//設(shè)置密碼標(biāo)簽的初始位置</p><p>  this.add(JLPaw);//將密碼標(biāo)簽組件添加到容器</p><p>  JPsw.setBounds(200,100,80,20);//設(shè)置密碼框的初始位置</p><p>  this.add(JPsw

88、);//將密碼框組件添加到容器</p><p>  JL1.setBounds(100,150,60,20);//設(shè)置身份標(biāo)簽的初始位置</p><p>  this.add(JL1);//將身份標(biāo)簽組件添加到容器</p><p>  JC.setBounds(200,150,80,20);//設(shè)置組合框的初始位置<

89、;/p><p>  this.add(JC);//將組合框組件添加到容器</p><p>  JC.addItem(new String("學(xué)生"));//給組合框添加內(nèi)容</p><p>  JC.addItem(new String("老師"));</p><p>  JB1.s

90、etBounds(100,200,60,20);//設(shè)置登錄按鈕的初始位置</p><p>  this.add(JB1);//將登錄按鈕組件添加到容器</p><p>  JB1.addActionListener(this);//給按鈕添加監(jiān)聽(tīng)器</p><p>  JB2.setBounds(200,200,60,20);

91、//設(shè)置取消按鈕的初始位置</p><p>  this.add(JB2);//將取消按鈕組件添加容器</p><p>  JB2.addActionListener(this);//給按鈕添加監(jiān)聽(tīng)器</p><p>  this.setVisible(true);//設(shè)置窗口的可見(jiàn)性</p><p> 

92、 this.setBounds(10,10,400,250);//設(shè)置窗口尺寸大小</p><p>  addWindowListener(new WindowAdapter()</p><p>  { public void windowClosing(WindowEvent e)</p><p><b>  {</b></p&

93、gt;<p>  System.exit(0);</p><p><b>  }</b></p><p>  });//通過(guò)內(nèi)部類重寫(xiě)關(guān)閉窗體的方法</p><p><b>  }</b></p><p>  public static void main(String

94、 args[])</p><p><b>  {</b></p><p>  new DengLuJieMian();</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e)</p><p&

95、gt;<b>  {</b></p><p>  if(e.getSource()==JB1) //處理登錄事件</p><p><b>  {</b></p><p>  String name=JTUserName.getText();//將文本框中包含的文本傳給字符串name</p>&

96、lt;p>  String password=new String(JPsw.getPassword());//將密碼框中包含的文本傳給字符串password</p><p>  String box= (String)JC.getSelectedItem();//將當(dāng)前所選項(xiàng)傳給字符串box</p><p>  if((name!=null&&(name.equal

97、s("daishu")))&&(password!=null&&</p><p>  (password.equals("0816"))))//判斷語(yǔ)句</p><p><b>  {</b></p><p>  if(box.equals("學(xué)生&quo

98、t;))//選擇學(xué)生身份登錄</p><p><b>  {</b></p><p>  //new StudentJieMian();//調(diào)用學(xué)生信息主窗體</p><p><b>  }</b></p><p>  else if(box.equals("教師"

99、))//選擇教師身份登錄</p><p><b>  {</b></p><p>  //new TeacherJieMian();//調(diào)用教師信息主窗體</p><p><b>  }</b></p><p><b>  }</b></p><

100、p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p&

101、gt;  import javax.swing.*;</p><p>  import java.util.*;</p><p>  import javax.swing.event.*;</p><p>  import java.sql.*;</p><p>  import java.util.Vector;</p>&l

102、t;p>  class SelectStudent extends JFrame implements ActionListener</p><p><b>  {</b></p><p>  JLabel JL =new JLabel("查 詢 學(xué)生 信 息",JLabel.CENTER);</p><

103、p>  JLabel JLNumber=new JLabel("請(qǐng)輸入學(xué)號(hào):");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  JTextField JTNumber=new JTextField();//創(chuàng)建一個(gè)文本框?qū)ο?lt;/p><p>  JLabel JLName =new JLabel("姓名:");//使用文本

104、創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  JTextField JTName =new JTextField();//創(chuàng)建一個(gè)文本框?qū)ο?lt;/p><p>  JLabel JLClass =new JLabel("班級(jí):");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  JTextField JTClass =new JTextFiel

105、d();//創(chuàng)建一個(gè)文本框?qū)ο?lt;/p><p>  JLabel JLsex =new JLabel("性別:");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p><p>  ButtonGroup BG =new ButtonGroup();//創(chuàng)建一個(gè)ButtonGroup組件對(duì)象</p><p>  JRadioButton JR

106、B1 =new JRadioButton("男");//創(chuàng)建一個(gè)單選按鈕對(duì)象</p><p>  JRadioButton JRB2 =new JRadioButton("女");</p><p>  JLabel JL1 =new JLabel("學(xué)院:");//使用文本創(chuàng)建一個(gè)標(biāo)簽對(duì)象</p>

107、<p>  JTextField JT1 =new JTextField();//創(chuàng)建一個(gè)文本框?qū)ο?lt;/p><p>  JButton JBSet =new JButton("查詢");//創(chuàng)建按鈕對(duì)象</p><p>  JButton JBNext =new JButton("重置");</p>

108、<p>  String sql=""; //定義一個(gè)字符串</p><p>  public SelectStudent() //創(chuàng)建SetStudent構(gòu)造函數(shù)</p><p><b>  {</b></p><p>  this.setTitle("查詢學(xué)生信息");//設(shè)置窗口標(biāo)題<

109、;/p><p>  this.setLayout(null);//設(shè)置窗口布局管理器</p><p>  JL.setForeground(Color.red);//設(shè)置標(biāo)簽的前景色</p><p>  JL.setFont(new java.awt.Font("宋體",Font.PLAIN,19));//設(shè)置標(biāo)簽的字體</p><

110、;p>  JL.setBounds(100,30,200,40);//設(shè)置標(biāo)簽的初始位置</p><p>  this.add(JL);//將標(biāo)簽添加到容器</p><p>  JLNumber.setBounds(100,80,100,20);//設(shè)置學(xué)號(hào)標(biāo)簽的初始位置</p><p>  this.add(JLNumber);//將學(xué)號(hào)標(biāo)簽添加到容器<

111、;/p><p>  JTNumber.setBounds(200,80,80,20);//設(shè)置文本框的初始位置</p><p>  this.add(JTNumber);//將文本框添加到容器</p><p>  JLName.setBounds(100,160,60,20);//設(shè)置姓名標(biāo)簽的初始位置</p><p>  this.add(JL

112、Name);//將姓名標(biāo)簽添加到容器</p><p>  JTName.setBounds(200,160,80,20);//設(shè)置文本框的初始位置</p><p>  this.add(JTName);//將文本框添加到容器</p><p>  JLsex.setBounds(100,200,100,20);//設(shè)置性別標(biāo)簽的初始位置</p><

113、p>  this.add(JLsex);//將性別標(biāo)簽添加到容器</p><p>  JRB1.setBounds(200,200,40,20);//設(shè)置單選按鈕的初始位置</p><p>  JRB2.setBounds(300,200,40,20);</p><p>  this.add(JRB1);//添加單選按鈕組件</p><p&

114、gt;  this.add(JRB2);</p><p>  BG.add(JRB1);//將單選按鈕添加到ButtonGroup組件</p><p>  BG.add(JRB2);</p><p>  JLClass.setBounds(100,280,60,20);//設(shè)置班級(jí)標(biāo)簽的初始位置</p><p>  this.add(JLCl

115、ass);//將班級(jí)標(biāo)簽添加到容器</p><p>  JTClass.setBounds(200,280,80,20);//設(shè)置文本框的初始位置</p><p>  this.add(JTClass);//將文本框添加到容器</p><p>  JL1.setBounds(100,320,60,20);//設(shè)置學(xué)院標(biāo)簽的初始位置</p><p&

116、gt;  this.add(JL1);//將學(xué)院標(biāo)簽添加到容器</p><p>  JT1.setBounds(200,320,80,20);//設(shè)置文本框的初始位置</p><p>  this.add(JT1);//將文本框添加到容器</p><p>  JBSet.setBounds(80,120,90,20);//設(shè)置查詢按鈕的初始位置</p>

117、<p>  this.add(JBSet);//將查詢按鈕添加到容器</p><p>  JBSet.addActionListener(this);//給按鈕添加監(jiān)聽(tīng)器</p><p>  JBNext.setBounds(190,120,90,20);//設(shè)置重置按鈕的初始位置</p><p>  this.add(JBNext);//將重置按鈕添

118、加到容器</p><p>  JBNext.addActionListener(this);//給按鈕添加監(jiān)聽(tīng)器</p><p>  this.setBounds(10,10,500,400);//設(shè)置窗口尺寸大小</p><p>  this.setVisible(true);//設(shè)置窗口的可見(jiàn)性</p><p>  addWindowLi

119、stener(new WindowAdapter()</p><p>  { public void windowClosing(WindowEvent e)</p><p><b>  {</b></p><p>  System.exit(0);</p><p><b>  }</b></

120、p><p>  });//通過(guò)內(nèi)部類重寫(xiě)關(guān)閉窗體的方法</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  {</b></p><p>  if(e.getS

121、ource()==JBSet) //處理"查詢"事件</p><p><b>  {</b></p><p>  String snumber=JTNumber.getText();//將文本框中包含的文本傳給字符串snumber</p><p>  String sname=JTName.getText();//將文本框中

122、包含的文本傳給字符串sname</p><p>  String sclass=JTClass.getText();//將文本框中包含的文本傳給字符串sclass</p><p>  String ssex="女"; //返回單選按鈕的值</p><p>  if(JRB1.isSelected())</p><p>&l

123、t;b>  ssex="男";</b></p><p>  String scollect=JT1.getText();//將文本框中包含的文本傳給字符串scollect </p><p>  sql="select * from student where Id='"+snumber+"'"

124、;//檢索出Id等于snumber的學(xué)生的所有信息</p><p>  try //異常處理</p><p><b>  {</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加載驅(qū)動(dòng)程序</p><p>  Connectio

125、n cot=DriverManager.getConnection("jdbc:odbc:student1","","");//打開(kāi)數(shù)據(jù)庫(kù)連接,student1為數(shù)據(jù)源名稱</p><p>  Statement stm=cot.createStatement();//提交查詢</p><p>  ResultSet rs=s

溫馨提示

  • 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)論