數(shù)據(jù)庫原理及應用課程設(shè)計——學生信息管理系統(tǒng)(java+sql)_第1頁
已閱讀1頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科生課程設(shè)計</b></p><p>  課程設(shè)計時間: 年 月 日</p><p>  至 年 月 日</p><p> 課程名稱數(shù)據(jù)庫原理及應用課程設(shè)計</p><p> 課程編號</p><p> 

2、學號</p><p> 學生姓名</p><p> 所在專業(yè)</p><p> 所在班級</p><p> 指導教師</p><p> 成績</p><p> 教師簽字年 月 日</p><p><b>  目 錄</b></

3、p><p><b>  設(shè)計總說明I</b></p><p><b>  1、需求分析3</b></p><p>  2、概念結(jié)構(gòu)設(shè)計3</p><p>  3、邏輯結(jié)構(gòu)設(shè)計5</p><p>  4、物理結(jié)構(gòu)設(shè)計9</p><p><b&

4、gt;  5、系統(tǒng)實現(xiàn)13</b></p><p>  5.1 前臺界面13</p><p>  5.2 后臺實現(xiàn)16</p><p>  6、優(yōu)缺點及自我評價18</p><p><b>  7、參考文獻18</b></p><p><b>  設(shè)計總說明<

5、/b></p><p><b>  系統(tǒng)開發(fā)目的</b></p><p>  學生信息管理系統(tǒng)是學校管理的重要工具,是學校不可或缺的部分。 隨著在校大學生人數(shù)的不斷增加,教務系統(tǒng)的數(shù)量也不斷的上漲。學校工作繁雜、資料眾多,人工管理信息的難度也越來越大,顯然是不能滿足實際的需要,效率也是很低的。并且這種傳統(tǒng)的方式存在著很多的弊端,如:保密性差、查詢不便、效率低,很

6、難維護和更新等。然而,本系統(tǒng)針對以上缺點能夠極大地提高學生信息管理的效率,也是科學化、正規(guī)化的管理,與世界接軌的重要條件。所以如何自動高效地管理信息是這些年來許多人所研究的。</p><p><b>  開發(fā)內(nèi)容</b></p><p>  用數(shù)據(jù)庫和Java相關(guān)技術(shù)開發(fā)一個學生信息管理系統(tǒng)</p><p><b>  開發(fā)要求&l

7、t;/b></p><p>  能夠?qū)W生信息進行簡單的添加,刪除和查詢</p><p><b>  開發(fā)環(huán)境及工具</b></p><p>  1、操作系統(tǒng):Windows 7</p><p>  2、數(shù)據(jù)庫軟件:SQL Server 2008</p><p>  3、Java開發(fā)工具:E

8、clipse</p><p><b>  系統(tǒng)功能簡介</b></p><p><b>  一、學生管理</b></p><p>  添加學生信息。可以按照圖形的界面的顯示依次輸入新學生的“學號”,“姓名”,“性別”,“班級”,“學院”,“籍貫”。完成新紀錄的添加。</p><p>  刪除學生記錄

9、??梢愿鶕?jù)輸入的“學號”或者”姓名”進行刪除的操作。</p><p><b>  二、學生查詢</b></p><p>  3、查詢學生信息。用戶可以選擇通過“按姓名查詢”,也可以選擇“按學號查詢”查詢學生信息,查詢到的信息會在窗口中顯示出來。</p><p><b>  文件退出</b></p><p

10、><b>  開發(fā)分工情況</b></p><p>  本系統(tǒng)由本人獨立完成</p><p>  數(shù)據(jù)庫原理及應用課程設(shè)計報告</p><p><b>  1、需求分析</b></p><p>  在一些學校等機構(gòu),隨著學生數(shù)量的不斷增加,學生的信息不斷增多,人工管理信息的難度也越來越大。而且

11、效率也是很低的。所以如何自動高效地管理信息是這些年來許多人所研究的。</p><p>  隨著這些年電腦計算機的速度質(zhì)的提高,成本的下降,IT互聯(lián)網(wǎng)大眾趨勢的發(fā)展。我們使用電腦高效率處理數(shù)據(jù)信息成為可能。 學生信息管理系統(tǒng)的出現(xiàn),正是管理人員與信息數(shù)據(jù),計算機進入互動時代的體現(xiàn)。友好的人機交互模式,清晰簡明的圖形界面,高效安全的操作使得我們對成千上萬的信息的管理得心應手。</p><p>

12、  學生信息管理系統(tǒng),以SQL數(shù)據(jù)庫作為后臺信息存儲,Java作為前臺系統(tǒng)的語言。提供了對學生信息添加,查詢,刪除等功能。實現(xiàn)了最基本的信息管理。</p><p><b>  2、概念結(jié)構(gòu)設(shè)計</b></p><p><b>  3、邏輯結(jié)構(gòu)設(shè)計</b></p><p>  StudentInfo表:</p>

13、<p><b>  4、物理結(jié)構(gòu)設(shè)計</b></p><p>  create table StudentInfo</p><p><b>  (</b></p><p>  學號 char(10) primary key,</p><p>  姓名 varchar(10)

14、,</p><p>  性別 char(2) ,</p><p>  出生日期 datetime ,</p><p>  籍貫 varchar(50) ,</p><p>  系號 char(2),</p><p>  班級號 char(6) ,</p><p><b> 

15、 )</b></p><p><b>  系統(tǒng)實現(xiàn)</b></p><p><b>  5.1前臺界面:</b></p><p>  5.2后臺代碼實現(xiàn):</p><p><b>  見附錄</b></p><p>  6、優(yōu)缺點及自我評價&

16、lt;/p><p>  由于時間倉促,本系統(tǒng)還有許多功能沒有實現(xiàn),也有一些漏洞。同時,也因為自己掌握的知識不夠扎實,不夠全面,所以,這個學生信息管理系統(tǒng)只實現(xiàn)了一些簡單的基本功能,其他功能還有待完善。</p><p>  本次課程設(shè)計自我感覺很辛苦,但是受益匪淺。因為數(shù)據(jù)庫,Java這兩門課的知識學的不夠扎實,在設(shè)計過程中碰到了很多問題,剛開始要設(shè)計的時候,還真不知道從哪里下手,通過在百度、書

17、本、同學的幫助下有些得到了解決,讓我學會了好多書本上沒有的東西,通過本次課程設(shè)計,逐漸能將課本上的知識應用到實際操作中,但是我發(fā)現(xiàn)我現(xiàn)在學到的知識還遠遠不夠,要想做出一個功能比較全面,界面比較漂亮的系統(tǒng)還需要更多相關(guān)的知識。所以,在接下來的日子里,我還有待加強學習。</p><p>  在設(shè)計的過程中發(fā)現(xiàn)了自己的很多不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,導致設(shè)計系統(tǒng)的時候頻頻出現(xiàn)錯誤。

18、 </p><p>  通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合很重要,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正達到學以致用的目的,從而提高自己的實際動手能力和獨立思考的能力。</p><p><b>  7、參考文獻</b></p><p>  王珊,薩師煊.《數(shù)據(jù)庫系統(tǒng)概論》[M],高等

19、教育出版社,2014.</p><p>  耿祥義,張躍平.《Java2實用教程》[M],清華大學出版社,2013.</p><p><b>  附錄</b></p><p>  添加學生面板類的代碼</p><p>  package jieweixiao;</p><p><b> 

20、 //導入系統(tǒng)的類包</b></p><p>  import java.awt.*;</p><p>  import java.sql.*;</p><p>  import javax.swing.*;</p><p>  import java.awt.event.*;</p><p>  //創(chuàng)建

21、“添加學生面板”類</p><p>  public class AddStudentPanel extends JPanel implements ActionListener</p><p><b>  {</b></p><p>  //聲明連接數(shù)據(jù)庫對象</p><p>  Connection con;<

22、/p><p>  //聲明SQL語句對象</p><p>  PreparedStatement st;</p><p>  //創(chuàng)建組件對象:標簽、文本行、單選</p><p>  JLabel jLabel1=new JLabel("學號");</p><p>  JLabel jLabel2=ne

23、w JLabel("姓名");</p><p>  JLabel jLabel3=new JLabel("性別");</p><p>  JLabel jLabel4=new JLabel("出生日期");</p><p>  JLabel jLabel5=new JLabel("籍貫"

24、);</p><p>  JLabel jLabel6=new JLabel("注意:出生日期格式為YYYY-MM-DD");</p><p>  JTextField jTextField1=new JTextField();</p><p>  JTextField jTextField2=new JTextField();</p>

25、;<p>  JTextField jTextField3=new JTextField();</p><p>  JTextField jTextField4=new JTextField();</p><p>  JRadioButton jRadioButton1=new JRadioButton("男");</p><p>

26、  JRadioButton jRadioButton2=new JRadioButton("女");</p><p>  ButtonGroup buttonGroup1=new ButtonGroup();</p><p>  JButton jButton1=new JButton("存入數(shù)據(jù)庫");</p><p>&

27、lt;b>  //構(gòu)造方法</b></p><p>  public AddStudentPanel()</p><p><b>  {</b></p><p><b>  try{</b></p><p><b>  //調(diào)用初始化方法</b></p&

28、gt;<p><b>  jbInit();</b></p><p><b>  }</b></p><p>  catch(Exception exception){</p><p>  exception.printStackTrace();</p><p><b>  

29、}</b></p><p><b>  }</b></p><p><b>  //界面初始化方法</b></p><p>  private void jbInit() throws Exception</p><p><b>  {</b></p>

30、<p><b>  //連接數(shù)據(jù)庫</b></p><p>  //con=new Connection();</p><p>  //創(chuàng)建一個statement對象來將SQL語句發(fā)送到數(shù)據(jù)庫</p><p>  String url="jdbc:sqlserver://localhost:1433; DatabaseNa

31、me=StudentManager";</p><p>  String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";</p><p>  Class.forName(driver);//加載驅(qū)動!</p><p>  con=DriverManager.getConnec

32、tion(url,"sa","xjw1123");//連接數(shù)據(jù)庫!</p><p>  String sql="insert into StudentInfo"+" values(?,?,?,?,?,?,?)";</p><p>  st=con.prepareStatement(sql);</p>

33、;<p><b>  //框架的布局</b></p><p>  this.setLayout(null);</p><p>  //設(shè)置各組件的大小</p><p>  jLabel1.setBounds(new Rectangle(21,17,64,24));</p><p>  jLabel2.set

34、Bounds(new Rectangle(21,51,53,22));</p><p>  jLabel3.setBounds(new Rectangle(21,86,61,27));</p><p>  jLabel4.setBounds(new Rectangle(21,122,59,25));</p><p>  jLabel5.setBounds(new R

35、ectangle(21,188,54,24));</p><p>  jLabel6.setBounds(new Rectangle(102,153,219,27));</p><p>  jTextField1.setBounds(new Rectangle(102,10,200,30));</p><p>  jTextField2.setBounds(new

36、Rectangle(102,49,200,30));</p><p>  jTextField3.setBounds(new Rectangle(102,117,200,33));</p><p>  jTextField4.setBounds(new Rectangle(102,183,200,29));</p><p>  jRadioButton1.setBo

37、unds(new Rectangle(102,83,65,30));</p><p>  jRadioButton2.setBounds(new Rectangle(190,85,85,30));</p><p>  jButton1.setBounds(new Rectangle(103,217,180,30));</p><p>  //設(shè)置單選按鈕被選中<

38、;/p><p>  jRadioButton1.setSelected(true);</p><p>  //添加按鈕動作事件</p><p>  jButton1.addActionListener(this);</p><p><b>  //添加組件到面板</b></p><p>  this.

39、add(jTextField1);</p><p>  this.add(jLabel1);</p><p>  this.add(jLabel2);</p><p>  this.add(jTextField2);</p><p>  this.add(jRadioButton1);</p><p>  this.a

40、dd(jRadioButton2);</p><p>  this.add(jLabel3);</p><p>  this.add(jLabel4);</p><p>  this.add(jTextField3);</p><p>  this.add(jLabel6);</p><p>  this.add(jT

41、extField4);</p><p>  this.add(jLabel5);</p><p>  this.add(jButton1);</p><p>  buttonGroup1.add(jRadioButton1);</p><p>  buttonGroup1.add(jRadioButton2);</p><

42、p><b>  }</b></p><p><b>  //點擊按鈕事件</b></p><p>  //事件相應器 當你定義的事件捕捉以后就會執(zhí)行這個里面的代碼</p><p>  public void actionPerformed(ActionEvent e)</p><p><

43、b>  {</b></p><p>  //獲取用戶輸入的信息</p><p>  String xuehao=jTextField1.getText();</p><p>  String xingming=jTextField2.getText();</p><p>  String xingbie="&quo

44、t;;</p><p>  if(jRadioButton1.isSelected())</p><p>  xingbie+="男";</p><p>  if(jRadioButton2.isSelected())</p><p>  xingbie+="女";</p><p&g

45、t;  String dateString=jTextField3.getText();</p><p>  String jiguan=jTextField4.getText();</p><p><b>  try{</b></p><p><b>  //設(shè)置日期格式</b></p><p>

46、  //st.execute("set dateformat ymd");</p><p>  //利用st對象執(zhí)行SQL語句,進行插入操作</p><p>  st.setString(1,xuehao);</p><p>  st.setString(2,xingming);</p><p>  st.setStrin

47、g(3,xingbie);</p><p>  st.setString(4,dateString);</p><p>  st.setString(5,jiguan);</p><p>  st.setString(6,"");</p><p>  st.setString(7,"");</p&

48、gt;<p>  st.executeUpdate();</p><p>  //清空文本行的內(nèi)容</p><p>  jTextField1.setText("");</p><p>  jTextField2.setText("");</p><p>  jTextField3.set

49、Text("");</p><p>  jTextField4.setText("");</p><p>  //利用消息對話框提示刪除操作成功</p><p>  JOptionPane.showMessageDialog(this,"插入成功!");</p><p><b&

50、gt;  }</b></p><p>  catch(Exception ex){</p><p>  //利用消息對話框提示不能插入,并顯示異常的信息</p><p>  JOptionPane.showMessageDialog(this,ex);</p><p>  //ex.printStackTrace();</p

51、><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  刪除學生面板類的代碼</p><p>  package jieweixiao;</p><p>&

52、lt;b>  //導入系統(tǒng)的類包</b></p><p>  import java.awt.*;</p><p>  import java.sql.*;</p><p>  import javax.swing.*;</p><p>  import java.awt.event.*;</p><p&

53、gt;  //創(chuàng)建“刪除學生面板”類</p><p>  public class DeleteStudentPanel extends JPanel implements ActionListener</p><p><b>  {</b></p><p>  //聲明連接數(shù)據(jù)庫對象</p><p>  Connect

54、ion con;</p><p>  //聲明SQL語句對象</p><p>  Statement st;</p><p><b>  //創(chuàng)建組件對象</b></p><p>  JLabel jLabel1=new JLabel("請輸入待刪除的學生的學號:");</p><

55、p>  JTextField jTextField1=new JTextField();</p><p>  JButton jButton1=new JButton("刪除");</p><p><b>  //構(gòu)造方法</b></p><p>  public DeleteStudentPanel()</p&

56、gt;<p><b>  {</b></p><p><b>  try{</b></p><p><b>  //調(diào)用初始化方法</b></p><p><b>  jbInit();</b></p><p><b>  }<

57、;/b></p><p>  catch(Exception exception){</p><p>  exception.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b

58、>  //界面初始化方法</b></p><p>  private void jbInit() throws Exception</p><p><b>  {</b></p><p><b>  //連接數(shù)據(jù)庫</b></p><p>  //con=DBConnect.get

59、Conn();</p><p>  String url="jdbc:sqlserver://localhost:1433; DatabaseName=StudentManager";</p><p>  String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";</p>

60、<p>  Class.forName(driver);//加載驅(qū)動!</p><p>  con=DriverManager.getConnection(url,"sa","xjw1123");//連接數(shù)據(jù)庫!</p><p>  st=con.createStatement();</p><p><b>

61、;  //框架的布局</b></p><p>  this.setLayout(null);</p><p>  //設(shè)置各組件的大小</p><p>  jLabel1.setFont(new java.awt.Font("宋體",Font.BOLD,14));</p><p>  jLabel1.setBo

62、unds(new Rectangle(70,20,200,30));</p><p>  jTextField1.setBounds(new Rectangle(70,80,207,41));</p><p>  jButton1.setBounds(new Rectangle(70,175,205,36));</p><p>  //添加按鈕動作事件</p&

63、gt;<p>  jButton1.addActionListener(this);</p><p><b>  //添加組件到面板</b></p><p>  this.add(jLabel1);</p><p>  this.add(jTextField1);</p><p>  this.add(jB

64、utton1);</p><p><b>  }</b></p><p><b>  //點擊按鈕事件</b></p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  {</b></p>

65、<p>  //獲取用戶輸入的學號</p><p>  String xuehao=jTextField1.getText();</p><p>  //要求用戶確認刪除</p><p>  if(JOptionPane.showConfirmDialog(this,"確認要刪除嗎?")==JOptionPane.YES_OPTION

66、)</p><p><b>  {</b></p><p><b>  try{</b></p><p>  //利用st對象執(zhí)行SQL刪除操作</p><p>  st.executeUpdate("delete from StudentInfo where 學號='"

67、+xuehao+"'");</p><p>  //利用消息對話框提示刪除操作成功</p><p>  JOptionPane.showMessageDialog(this,"刪除操作成功!");</p><p>  //清空輸入學號的文本行</p><p>  jTextField1.setT

68、ext("");</p><p><b>  }</b></p><p>  catch(Exception ex){</p><p>  //利用消息對話框提示不能刪除</p><p>  JOptionPane.showMessageDialog(this,"刪除操作執(zhí)行失敗!"

69、;);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  按姓名查詢學生面板類的代碼</p>

70、;<p>  package jieweixiao;</p><p>  import java.awt.*;</p><p>  import java.sql.*;</p><p>  import javax.swing.*;</p><p>  import java.awt.event.*;</p>&l

71、t;p>  //創(chuàng)建“添加學生面板”類</p><p>  public class InquireOnNamePanel extends JPanel implements ActionListener</p><p><b>  {</b></p><p>  //聲明連接數(shù)據(jù)庫對象</p><p>  Con

72、nection con;</p><p>  //聲明SQL語句對象</p><p>  Statement st;</p><p>  //創(chuàng)建組件對象:標簽、文本行、單選</p><p>  JLabel jLabel1=new JLabel("請輸入待查詢的學生的姓名:");</p><p>

73、  JTextField jTextField1=new JTextField();</p><p>  JButton jButton1=new JButton("按姓名查詢");</p><p>  JScrollPane jScrollPane1=new JScrollPane();</p><p>  JTextArea jTextAre

74、a1=new JTextArea();</p><p><b>  //構(gòu)造方法</b></p><p>  public InquireOnNamePanel()</p><p><b>  {</b></p><p><b>  try{</b></p>&l

75、t;p><b>  //調(diào)用初始化方法</b></p><p><b>  jbInit();</b></p><p><b>  }</b></p><p>  catch(Exception exception){</p><p>  //exception.prin

76、tStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  //面板初始化方法</b></p><p>  private void jbInit() throws Exception</p&g

77、t;<p><b>  {</b></p><p><b>  //連接數(shù)據(jù)庫</b></p><p>  //con=DBConnect.getConn();</p><p>  String url="jdbc:sqlserver://localhost:1433; DatabaseName=S

78、tudentManager";</p><p>  String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";</p><p>  Class.forName(driver);//加載驅(qū)動!</p><p>  con=DriverManager.getConnection

79、(url,"sa","xjw1123");//連接數(shù)據(jù)庫!</p><p>  st=con.createStatement();</p><p><b>  //框架的布局</b></p><p>  this.setLayout(null);</p><p>  //設(shè)置各組件

80、的大小</p><p>  jLabel1.setFont(new java.awt.Font("宋體",Font.BOLD,14));</p><p>  jLabel1.setBounds(new Rectangle(80,10,200,34));</p><p>  jTextField1.setBounds(new Rectangle(8

81、0,50,200,30));</p><p>  jButton1.setBounds(new Rectangle(100,90,160,30));</p><p>  jScrollPane1.setBounds(new Rectangle(29,125,308,130));</p><p>  //添加按鈕動作事件</p><p>  j

82、Button1.addActionListener(this);</p><p><b>  //添加組件到面板</b></p><p>  this.add(jScrollPane1);</p><p>  jScrollPane1.getViewport().add(jTextArea1);</p><p>  th

83、is.add(jLabel1);</p><p>  this.add(jTextField1);</p><p>  this.add(jButton1);</p><p><b>  }</b></p><p><b>  //點擊按鈕事件</b></p><p>  p

84、ublic void actionPerformed(ActionEvent e)</p><p><b>  {</b></p><p>  //獲取用戶輸入的姓名</p><p>  String xingming=jTextField1.getText();</p><p>  //清空文本區(qū)原有的內(nèi)容</p

85、><p>  jTextArea1.setText("");</p><p>  //要求用戶確認刪除</p><p><b>  try{</b></p><p>  //利用st對象執(zhí)行SQL語句,返回結(jié)果集對象</p><p>  ResultSet rs=st.execut

86、eQuery("select * from StudentInfo where 姓名='"+xingming+"'");</p><p>  //處理結(jié)果集:逐條顯示結(jié)果集中的記錄</p><p>  while(rs.next())</p><p><b>  {</b></p&g

87、t;<p>  jTextArea1.append(rs.getString("學號")+" "+rs.getString("姓名")+" "+rs.getString("性別")+" "+rs.getDate("出生日期")+" "+rs.getStrin

88、g("籍貫")+"\n");</p><p><b>  }</b></p><p><b>  } </b></p><p>  catch(Exception ex)</p><p><b>  {</b></p>&l

89、t;p>  //利用消息對話框提示查詢失敗</p><p>  JOptionPane.showMessageDialog(this,"查詢失敗!");</p><p><b>  }</b></p><p>  //清空文本行的內(nèi)容</p><p>  jTextField1.setText(

90、"");</p><p><b>  }</b></p><p><b>  }</b></p><p>  按學號查詢學生面板類的代碼</p><p>  package jieweixiao;</p><p><b>  //導入系統(tǒng)的類包&

91、lt;/b></p><p>  import java.awt.*;</p><p>  import java.sql.*;</p><p>  import javax.swing.*;</p><p>  import java.awt.event.*;</p><p>  //創(chuàng)建“添加學生面板”類&l

92、t;/p><p>  public class InquireOnXHPanel extends JPanel implements ActionListener</p><p><b>  {</b></p><p>  //聲明連接數(shù)據(jù)庫對象</p><p>  Connection con;</p>&l

93、t;p>  //聲明SQL語句對象</p><p>  Statement st;</p><p>  //創(chuàng)建組件對象:標簽、文本行、單選</p><p>  JLabel jLabel1=new JLabel("請輸入待查詢的學生的學號:");</p><p>  JTextField jTextField1=n

94、ew JTextField();</p><p>  JButton jButton1=new JButton("按學號查詢");</p><p>  JTextArea jTextArea1=new JTextArea();</p><p><b>  //構(gòu)造方法</b></p><p>  pu

95、blic InquireOnXHPanel()</p><p><b>  {</b></p><p><b>  try{</b></p><p><b>  //調(diào)用初始化方法</b></p><p><b>  jbInit();</b></p

96、><p><b>  }</b></p><p>  catch(Exception ex){</p><p>  JOptionPane.showMessageDialog(this,ex+"00");</p><p><b>  }</b></p><p>

97、;<b>  }</b></p><p><b>  //面板初始化方法</b></p><p>  private void jbInit() throws Exception</p><p><b>  {</b></p><p><b>  //連接數(shù)據(jù)庫<

98、;/b></p><p>  //con=DBConnect.getConn();</p><p>  String url="jdbc:sqlserver://localhost:1433; DatabaseName=StudentManager";</p><p>  String driver="com.microsoft.

99、sqlserver.jdbc.SQLServerDriver";</p><p>  Class.forName(driver);//加載驅(qū)動!</p><p>  con=DriverManager.getConnection(url,"sa","xjw1123");//連接數(shù)據(jù)庫!</p><p>  st=co

100、n.createStatement();</p><p><b>  //框架的布局</b></p><p>  this.setLayout(null);</p><p>  //設(shè)置各組件的大小</p><p>  jLabel1.setFont(new java.awt.Font("宋體",Fo

101、nt.BOLD,16));</p><p>  jLabel1.setBounds(new Rectangle(46,4,222,32));</p><p>  jTextField1.setBounds(new Rectangle(47,37,247,31));</p><p>  jButton1.setBounds(new Rectangle(47,86,24

102、7,30));</p><p>  jTextArea1.setBounds(new Rectangle(24,130,305,109));</p><p>  //添加按鈕動作事件</p><p>  jButton1.addActionListener(this);</p><p><b>  //添加組件到面板</b&g

103、t;</p><p>  this.add(jLabel1);</p><p>  this.add(jTextField1);</p><p>  this.add(jTextArea1);</p><p>  this.add(jButton1);</p><p><b>  }</b><

104、;/p><p><b>  //點擊按鈕事件</b></p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  {</b></p><p>  //獲取用戶輸入的學號</p><p>  String x

105、uehao=jTextField1.getText();</p><p>  //清空文本區(qū)原有的內(nèi)容</p><p>  jTextArea1.setText("");</p><p><b>  try{</b></p><p>  //利用st對象執(zhí)行SQL語句,返回結(jié)果集對象</p>

106、;<p>  ResultSet rs=st.executeQuery("select * from StudentInfo where 學號="+xuehao);</p><p>  //處理結(jié)果集:逐條顯示結(jié)果集中的記錄</p><p>  //此處沒有使用while,因為學號是唯一的,而姓名不是,所以在InquireOnNamePanel.java里

107、使用了while</p><p>  if(rs.next())</p><p><b>  {</b></p><p>  jTextArea1.append(rs.getString("學號")+" "+rs.getString("姓名")+" "+rs.g

108、etString("性別")+" "+rs.getDate("出生日期")+" "+rs.getString("籍貫")+"\n");</p><p><b>  }</b></p><p><b>  else</b>&l

109、t;/p><p><b>  {</b></p><p>  JOptionPane.showMessageDialog(this,"沒有這個學號!");</p><p><b>  }</b></p><p><b>  }</b></p>&l

110、t;p>  catch(Exception ex){</p><p>  //利用消息對話框提示查詢失敗</p><p>  JOptionPane.showMessageDialog(this,"查詢失敗!+00");</p><p><b>  }</b></p><p>  //清空文本行

111、的內(nèi)容</p><p>  jTextField1.setText("");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  系統(tǒng)主界面類的代碼</b></p><p>  

112、package jieweixiao;</p><p><b>  //導入系統(tǒng)的包</b></p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import javax.swing.*;</p><p&g

113、t;<b>  //創(chuàng)建主界面類</b></p><p>  public class MainFrame extends JFrame implements ActionListener</p><p><b>  {</b></p><p><b>  //創(chuàng)建內(nèi)容面板</b></p>

114、<p>  JPanel contentPane;</p><p>  //創(chuàng)建菜單欄(見267頁的圖12.1里的菜單欄)</p><p>  JMenuBar jMenuBar1=new JMenuBar();</p><p>  JMenu jMenuFile=new JMenu("文件");</p><p&

115、gt;  JMenuItem jMenuFileExit=new JMenuItem("退出");</p><p>  JMenu jMenu1=new JMenu("學生管理");</p><p>  JMenuItem jMenuItem1=new JMenuItem("添加學生");</p><p>

116、  JMenuItem jMenuItem2=new JMenuItem("刪除學生");</p><p>  JMenuItem jMenu3=new JMenuItem("學生信息修改");</p><p>  JMenu jMenu2=new JMenu("學生查詢");</p><p>  JMen

117、uItem jMenuItem3=new JMenuItem("按姓名查詢");</p><p>  JMenuItem jMenuItem4=new JMenuItem("按學號查詢");</p><p>  //創(chuàng)建標簽,用于顯示信息</p><p>  JLabel jLabel1=new JLabel("歡迎

118、使用學生信息管理系統(tǒng)");</p><p>  JLabel jLabel2=new JLabel("2015-數(shù)據(jù)庫課程設(shè)計");</p><p>  //構(gòu)造方法,創(chuàng)建對象時自動調(diào)用</p><p>  public MainFrame()</p><p><b>  {</b><

119、/p><p><b>  try{</b></p><p>  //關(guān)閉框架窗口時的默認事件方法</p><p>  setDefaultCloseOperation(EXIT_ON_CLOSE);</p><p><b>  //調(diào)用初始化方法</b></p><p><

120、b>  jbInit();</b></p><p><b>  }</b></p><p>  catch(Exception exception){</p><p>  exception.printStackTrace();</p><p><b>  }</b></p&

121、gt;<p><b>  }</b></p><p><b>  //界面初始化方法</b></p><p>  private void jbInit() throws Exception</p><p><b>  {</b></p><p>  //創(chuàng)建內(nèi)容

122、面板和其布局</p><p>  contentPane =(JPanel) getContentPane();</p><p>  contentPane.setLayout(null);</p><p>  //框架的大小和其標題</p><p>  setSize(new Dimension(400,320));</p>

123、<p>  setTitle("學生信息管理系統(tǒng)");</p><p><b>  //添加事件監(jiān)聽器</b></p><p>  jMenuFileExit.addActionListener(this);</p><p>  jMenuItem1.addActionListener(this);</p&g

124、t;<p>  jMenuItem2.addActionListener(this);</p><p>  jMenuItem3.addActionListener(this);</p><p>  jMenuItem4.addActionListener(this);</p><p>  jMenu3.addActionListener(this);

125、</p><p><b>  //添加菜單條</b></p><p>  setJMenuBar(jMenuBar1);</p><p>  //添加菜單組件到菜單條</p><p>  jMenuBar1.add(jMenuFile);</p><p>  jMenuBar1.add(jMenu

126、1);</p><p>  jMenuBar1.add(jMenu2);</p><p>  jMenuBar1.add(jMenuFileExit);</p><p>  //添加菜單項組件到菜單組件</p><p>  jMenuFile.add(jMenuFileExit);</p><p>  jMenu1.a

127、dd(jMenuItem1);</p><p>  jMenu1.add(jMenuItem2);</p><p>  jMenu1.add(jMenu3);</p><p>  jMenu2.add(jMenuItem3);</p><p>  jMenu2.add(jMenuItem4);</p><p>  //

128、添加標簽到內(nèi)容面板</p><p>  contentPane.add(jLabel1);</p><p>  contentPane.add(jLabel2);</p><p>  //設(shè)置標簽組件的大小和字體</p><p>  jLabel1.setFont(new java.awt.Font("宋體",Font.B

129、OLD,20));</p><p>  jLabel1.setBounds(new Rectangle(65,70,275,55));</p><p>  jLabel2.setFont(new java.awt.Font("宋體",Font.BOLD,16));</p><p>  jLabel2.setBounds(new Rectangle

130、(90,150,200,35));</p><p><b>  }</b></p><p>  //菜單事件的處理方法</p><p>  public void actionPerformed(ActionEvent actionEvent)</p><p><b>  {</b></p&g

131、t;<p>  //點擊“文件”菜單下的“退出”菜單項</p><p>  if(actionEvent.getSource()==jMenuFileExit)</p><p><b>  {</b></p><p>  System.exit(0);</p><p><b>  }</b&

132、gt;</p><p>  //點擊“學生管理”菜單下的“添加學生”菜單項</p><p>  if(actionEvent.getSource()==jMenuItem1)</p><p><b>  {</b></p><p>  //創(chuàng)建添加學生面板對象</p><p>  AddStude

133、ntPanel add=new AddStudentPanel();</p><p>  //移除主界面上原有的內(nèi)容</p><p>  this.remove(this.getContentPane());</p><p>  this.setContentPane(add);</p><p><b>  //令界面可見</

134、b></p><p>  this.setVisible(true);</p><p><b>  }</b></p><p>  //點擊“學生管理”菜單下的“刪除學生”菜單項</p><p>  if(actionEvent.getSource()==jMenuItem2)</p><p&g

135、t;<b>  {</b></p><p>  //創(chuàng)建刪除學生面板對象</p><p>  DeleteStudentPanel delete=new DeleteStudentPanel();</p><p>  //移除主界面上原有的內(nèi)容</p><p>  this.remove(this.getContentP

136、ane());</p><p>  this.setContentPane(delete);</p><p><b>  //令界面可見</b></p><p>  this.setVisible(true);</p><p><b>  }</b></p><p>  //

溫馨提示

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

最新文檔

評論

0/150

提交評論