java面向對象程序設計課程設計--學生信息管理系統(tǒng)程序設計_第1頁
已閱讀1頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p> 課程實踐任務書</p><p> 學院經(jīng)濟管理學院專業(yè)信息管理與信息系統(tǒng) </p><p> 姓名學號</p><p> 課程名稱面向對象程序設計設計題目學生信息管理系統(tǒng)程序設計</p><p> 設計要求與任務:使用任意一款JAVA開發(fā)工具開發(fā)一個實用的應用系統(tǒng),如記事本、計算器、繪圖軟件、JSP網(wǎng)站或者MIS。可以采取

2、B/S或者C/S模式。此次設計的具體要求還包括:(1)根據(jù)課程設計時間選擇適當規(guī)模大小的設計題目,分小組進行設計。(2)小組組長為組員分配任務,根據(jù)合理的安排,按照軟件開發(fā)的流程及方法,踏實地開展課程設計活動。(3)課程設計包括開發(fā)編碼和撰寫相關文檔。最后提交詳細的課程設計報告。(4)開發(fā)出可上機運行的JAVA應用,并上機測試。工作計劃與進度安排:第1-3天:布置任務、分組、粗略調(diào)查、選題、可行性研究、系統(tǒng)規(guī)劃。第4-6天 :深入調(diào)研、

3、系統(tǒng)分析、建立數(shù)據(jù)邏輯模型、系統(tǒng)設計、建立數(shù)據(jù)物理模型第7-9天 :系統(tǒng)實施、程序設計、系統(tǒng)調(diào)試。 第9-10天 :應用測試、整理資料、撰寫報告、準備驗收</p><p> 指導教師(簽字):年 月 日專業(yè)負責人(簽字):年 月 日學院院長(簽字):年 月 日</p><p><b>  摘要</b></p><p>  信息技術的

4、快速發(fā)展的同時也帶來了社會各個行業(yè)的發(fā)展。它的發(fā)展已經(jīng)深入到社會的各個角落。作為社會發(fā)展的前沿技術,各行各業(yè)只要對其合理的進行運用,必將會帶來巨大的便捷。成功的運用信息技術將為各類學校學生信息管理帶來無限便利。作為計算機應用的一部分,使用學生信息管理系統(tǒng)對學生檔案進行管理,有著手工管理所無法比擬的優(yōu)點,如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等,大地提高學生檔案管理的效率。</p><p&

5、gt;  本文介紹了系統(tǒng)開發(fā)的全過程。該系統(tǒng)以Windows為操作平臺,Java為開發(fā)語言,Access為數(shù)據(jù)庫,Eclipse為開發(fā)工具,使用JDBC技術進行連接,實現(xiàn)了在可視化的基礎上,利用數(shù)據(jù)庫進行后臺管理。</p><p>  系統(tǒng)由學生和老師基本信息添加、學生和老師基本信息查詢、學生和老師基本信息刪除、學生和老師基本信息修改及退出系統(tǒng)等功能模塊組成,基本功能較全面。用戶界面友好、清晰、操作簡便,易學易用

6、;系統(tǒng)可讀性好,易于維護、更新,安全性較好。采用傳統(tǒng)下拉菜單功能選擇,方便、快捷、一目了然,并且在一個窗體中進行操作,可視化強。采用鏈入數(shù)據(jù)庫進行存儲,可動態(tài)進行查看、操作,這樣的系統(tǒng)可修改性較強。</p><p>  關鍵字:面向對象;Eclipse;JDBC</p><p><b>  目錄</b></p><p><b>  1

7、 前言1</b></p><p>  1.1 課題簡介1</p><p>  1.2 設計目的1</p><p><b>  2 需求分析2</b></p><p>  2.1業(yè)務需求分析2</p><p>  2.2功能需求分析2</p><p>

8、  2.2.1 學生信息2</p><p>  2.2.2 教師信息2</p><p>  2.2.3 成績管理3</p><p><b>  3 數(shù)據(jù)庫設計4</b></p><p>  3.1 Java連接數(shù)據(jù)庫4</p><p>  3.1.1 關系數(shù)據(jù)庫概述4</p>

9、;<p>  3.1.2 通過JDBC訪問數(shù)據(jù)庫4</p><p>  3.2 數(shù)據(jù)庫與基本表設計4</p><p>  4 系統(tǒng)設計與實施7</p><p>  4.1 Eclipse Java Neon 37</p><p>  4.2 結構設計7</p><p>  4.3 文件組織結構

10、8</p><p>  4.4 登錄模塊8</p><p>  4.4.1 設計構想8</p><p>  4.4.2 實現(xiàn)登錄模塊8</p><p>  4.5 學生信息模塊11</p><p>  4.5.1 設計構想11</p><p>  4.5.2 實現(xiàn)學生信息模塊主界面

11、11</p><p>  4.5.3添加信息12</p><p>  4.5.4 刪除信息14</p><p>  4.5.5修改信息16</p><p>  4.5.6 基本信息查詢18</p><p>  4.5.7 成績查詢20</p><p>  4.5.8 退出系統(tǒng)22&l

12、t;/p><p>  4.6 教師信息模塊22</p><p><b>  結束語26</b></p><p><b>  參考文獻27</b></p><p><b>  附錄A28</b></p><p><b>  1 前言</

13、b></p><p><b>  1.1課題簡介</b></p><p>  學生信息檔案的管理對于學校的管理者來說至關重要,學生信息是高等學校非常重要的一項數(shù)據(jù)資源,是一個教育單位不可缺少一部分。近幾年來,國家政策的調(diào)整,我國高等院校大規(guī)模擴招,給高等院校的教學管理、學生管理、后勤管理等方面都帶來不少的沖擊。其包含的數(shù)據(jù)量大,涉及的人員面廣,而且需要及時更新,

14、故較為復雜,難以單純地依靠人工管理,而且傳統(tǒng)的人工管理方式既不易于規(guī)范化,管理效率也不高。</p><p>  目前我國各類高等院校中還有相當一部分學生檔案管理還停留在紙介質(zhì)的基礎上,中、小學對學生檔案的管理更是落后,這樣的管理機制嚴重浪費人力和物力,已經(jīng)不能適應時代發(fā)展的要求。</p><p>  計算機應用的普及已進入人類社會生活的各個領域,并發(fā)揮著越來越重要的作用。這種傳統(tǒng)的手工管理

15、模式必然被以計算機為物質(zhì)基礎的信息管理方法所取代。作為計算機應用的一部分,使用學生信息管理系統(tǒng)對學生檔案進行管理,有著手工管理所無法比擬的優(yōu)點,如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學生檔案管理的效率,也是學校向科學化、正規(guī)化管理發(fā)展的必要條件。</p><p><b>  1.2 設計目的</b></p><p&g

16、t;  對學生信息管理系統(tǒng),目的是為了對學校的學生信息管理工作進行系統(tǒng)的管理,以提高工作效率。通過程序設計,開發(fā)出學生信息管理系統(tǒng)代替相應的手工管理。學生信息管理系統(tǒng)可為用戶提供充足的信息和快捷的查詢手段,不但可以實現(xiàn)教師、學生的信息錄入、修改與刪除,而且可以實現(xiàn)學生成績的信息錄入、修改與刪除,同時可以對所有的信息進行查詢,實現(xiàn)學校的規(guī)范化管理。</p><p><b>  2 需求分析</b&g

17、t;</p><p><b>  2.1業(yè)務需求分析</b></p><p>  開發(fā)一個系統(tǒng)前,首先應該對該系統(tǒng)要實現(xiàn)的功能進行整體的分析和規(guī)劃,確保在開發(fā)過程中不會出現(xiàn)重大缺陷和漏洞。因此,在軟件開發(fā)的過程中應嚴格按照軟件工程的流程進行系統(tǒng)的分析與設計。</p><p>  該系統(tǒng)是學生管理系統(tǒng),應以學生信息為中心,組織相關程序結構。通過分

18、析可知,學生信息管理系統(tǒng)的主要業(yè)務應有:學生基本信息管理、教師基本信息管理、學生成績管理、用戶管理等。</p><p><b>  2.2功能需求分析</b></p><p>  通過業(yè)務需求分析可知,該系統(tǒng)主要有三類用戶:學生,教師和系統(tǒng)管理員。因此,該系統(tǒng)的功能可分為學生信息管理、教師信息管理和成績管理,具體有以下幾個方面:</p><p>

19、;  學生:可以對每個學生的信息進行添加、修改、刪除和查詢。</p><p>  成績:可以對每個學生所學科目的成績進行添加、刪除、修改和查詢。</p><p>  教師:可以對每個教師的信息進行添加、刪除、修改和查詢。</p><p>  2.2.1 學生信息</p><p>  學生信息主要存儲了學生的基本情況,包括學號、姓名、性別、所在

20、班級、所在學院等信息。一個學號可唯一確定一名學生。學生信息集中進行管理,方便進行相關基本信息的查詢、修改、刪除等活動,大大簡化了手續(xù)。</p><p>  2.2.2 教師信息</p><p>  教師信息主要存儲了教師的基本情況,包括教師編號、姓名、性別、職稱、所在學院等信息。一個教師編號可唯一確定一名教師。教師信息集中進行管理,方便進行查詢、修改、刪除和人事變動等活動,大大簡化了手續(xù)。

21、</p><p>  2.2.3 成績管理</p><p>  成績管理的對象是學生所學科目的相應成績,對成績進行集中管理,方便了學生查詢成績、教師添加、查詢和修改成績,加快了查詢速度,提高了準確率,大大簡化了手續(xù)。</p><p>  圖2-1 學生信息管理系統(tǒng)功能模塊圖</p><p><b>  3 數(shù)據(jù)庫設計</b&g

22、t;</p><p>  3.1 Java連接數(shù)據(jù)庫</p><p>  3.1.1 關系數(shù)據(jù)庫概述</p><p>  關系數(shù)據(jù)庫,是建立在關系數(shù)據(jù)庫模型基礎上的數(shù)據(jù)庫,借助于集合代數(shù)等概念和方法來處理數(shù)據(jù)庫中的數(shù)據(jù),用二維表格形式來表述實體與實體之間關系。有3種完整性約束:實體完整性、參照完整性和用戶自定義完整性,其中實體完整性和參照完整性是關系數(shù)據(jù)庫中必不可少

23、的完整性條件,分別表述為主屬性不為空和一表或多表之間具有某種對應關系、相互制約。</p><p>  3.1.2 通過JDBC訪問數(shù)據(jù)庫</p><p>  JDBC由Java編程語言編寫的類和接口組成,是實現(xiàn)Java與各種數(shù)據(jù)庫連接的關鍵,提供了將Java與數(shù)據(jù)庫連接起來的程序接口,使用戶可以以SQL的形式編寫訪問請求,然后傳給數(shù)據(jù)庫,其結果再由這一接口返回,從而實現(xiàn)對數(shù)據(jù)庫中數(shù)據(jù)操作的

24、目的。</p><p>  3.2 數(shù)據(jù)庫與基本表設計</p><p>  由于該系統(tǒng)數(shù)據(jù)量不大,采用了Access作為數(shù)據(jù)庫,所建的系統(tǒng)數(shù)據(jù)庫名為“student1”。通過需求分析、概念設計與邏輯設計,可知該系統(tǒng)數(shù)據(jù)庫應涉及到以下基本表:班級表、學生表、教師表,具體結構如下:</p><p>  班級表(班級編號,班級名稱,所屬學院,班級人數(shù))</p>

25、<p>  該表用于保存班級信息,其數(shù)據(jù)字典如表3-1所示:</p><p>  表3-1 班級表數(shù)據(jù)字典</p><p>  學生表(學號,姓名,性別,出生日期,班級編號)</p><p>  該表用于存儲學生的基本信息,其數(shù)據(jù)字典如表3-2所示:</p><p>  表3-2 學生表數(shù)據(jù)字典</p><p

26、>  教師表(教師編號,姓名,性別,職稱,所屬學院,出生日期)</p><p>  該表用于存儲教師的基本信息,其數(shù)據(jù)字典如表3-3所示:</p><p>  表3-3 教師表數(shù)據(jù)字典</p><p>  課程表(課程號,課程名,學分)</p><p>  該表用于存儲學生可學課程的基本信息,其數(shù)據(jù)字典如表3-4所示:</p>

27、;<p>  表3-4 課程表數(shù)據(jù)字典</p><p>  成績表(學號,課程號,成績,教師編號)</p><p>  該表用于存儲學生可學課程的成績情況,其數(shù)據(jù)字典如表3-5所示:</p><p>  表3-5課程表數(shù)據(jù)字典</p><p><b>  4 系統(tǒng)設計與實施</b></p>&

28、lt;p>  4.1 Eclipse Java Neon 3</p><p>  出于穩(wěn)定性與便利性的考量,本設計選用了Eclipse Java Neon 3作為程序的開發(fā)環(huán)境,Eclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE),最初由OTI和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建,它本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。使用時可清

29、楚的發(fā)現(xiàn)錯誤,并能根據(jù)相應規(guī)則進行修改,大大簡化了程序檢查工作。由于package explorer的存在,使得隨時查找文件變得十分方便。同時又提供有很便利的數(shù)據(jù)庫連接方式。</p><p>  Eclipse Java Neon 3具有以下四大優(yōu)點:</p><p> ?。?)從編寫、查錯、編譯、幫助等等各方面為Java語言貼身定做。 </p><p> ?。?)

30、可無限擴展的強大插件功能。 </p><p>  (3)眾多公司、廠商、組織支持。 </p><p> ?。?)開放,自由,免費。 </p><p><b>  4.2 結構設計</b></p><p>  該系統(tǒng)用于對學生的基本信息與學生的成績進行管理,主要包括添加、修改和刪除學生與教師基本信息,錄入、修改和刪除學生的

31、成績,查詢學生和教師的基本信息,為了方便,全部操作均在界面中完成。</p><p>  由此,將該系統(tǒng)結構設計為登錄模塊、學生模塊、教師模塊,對應于學生與教師這兩類主要用戶。由于涉及界面設計,因此調(diào)用了java.awt.*、java.awt.event.*、javax.swing.*、java.util.*、javax.swing.event.*、java.sql.*等包。</p><p>

32、;  4.3 文件組織結構</p><p>  學生信息管理系統(tǒng)中使用的根目錄文件夾是“nnn”,其文件組織結構圖如圖4-1所示:</p><p>  圖4-1 項目文件組織結構圖</p><p><b>  4.4 登錄模塊</b></p><p>  登錄模塊使進入學生信息管理系統(tǒng)的第一個界面,相當于一個網(wǎng)站的主頁。

33、</p><p>  4.4.1 設計構想</p><p>  該系統(tǒng)是學生信息管理系統(tǒng),用戶為三類:學生、教師和系統(tǒng)管理員,可在相應的權限范圍內(nèi)查詢和更新系統(tǒng)數(shù)據(jù)。因此,不同的用戶在登錄時需有不同的角色選項,此外,還應有各自的用戶名和密碼。</p><p>  4.4.2 實現(xiàn)登錄模塊</p><p> ?。?)要生成一個界面,可應用AWT

34、知識。設置其名字為學生信息管理系統(tǒng);設置布局管理器為(null)布局管理器,這樣方便往其中放組件;設置窗口大小和位置,還要設置窗口可見性。</p><p> ?。?)生成界面后,接下來就需要實現(xiàn)每個功能,在設計構想中提到的第一個功能就是要對操作對象的身份進行選擇,這里要用下拉列表的形式進行選擇,也可以用單選按鈕來完成這個功能。在這項功能中,首先要選擇身份,所以要定義一個JLabel來說明,定義完JLabel后,就

35、需要定義一個JComoBox,也就是下拉列表框。</p><p> ?。?)輸入用戶名和密碼。需要用兩個JLabel來指明需要輸入用戶名和密碼。輸入用戶名需要定義一個JTextField,也就是單文本框。同時輸入文本,但輸入密碼和輸入用戶名是不一樣的,它需要定義成JPasswordField,它的輸出結果為“*****”這樣的形式。</p><p> ?。?)創(chuàng)建兩個按鈕,一個是登錄按鈕,

36、另一個是取消登錄按鈕,用來輸入的用戶名和密碼及選擇的身份進行提交。當然要對登錄按鈕事件進行事件監(jiān)聽,首先要驗證用戶名和密碼是否正確并對上,然后根據(jù)選擇的身份來選擇需要進入那個界面,其代碼如下:</p><p>  public class Info_Manage extends Frame implements ActionListener{</p><p>  JLabel JLUser

37、Name =new JLabel("用戶名");</p><p>  JLabel JLPaw=new JLabel ("密碼");</p><p>  JLabel JLP=new JLabel("角色");</p><p>  JTextField JTUserName =new JTextField(

38、);</p><p>  JPasswordField JPsw=new JPasswordField();</p><p>  JTextField jt=new JTextField(10);</p><p>  String str[]={"學生","教師","管理者"};</p>&l

39、t;p>  JComboBox JCB=new JComboBox(str);</p><p>  JButton JB1=new JButton("登錄");</p><p>  JButton JB2=new JButton("取消");</p><p>  public Info_Manage(){</p&g

40、t;<p>  this.setTitle("學生信息管理系統(tǒng)");</p><p>  this.setLayout(null);</p><p>  JLUserName.setBounds(100,40,100,20);</p><p>  this.add(JLUserName);</p><p> 

41、 JTUserName.setBounds(200,40,100,20);</p><p>  this.add(JTUserName);</p><p>  JLPaw.setBounds(100,100,100,20);</p><p>  this.add(JLPaw);</p><p>  JPsw.setBounds(200,100

42、,80,20);</p><p>  this.add(JPsw);</p><p>  JCB.setBounds(200,150,100,20);</p><p>  this.add(JCB);</p><p>  JLP.setBounds(100,150,100,20);</p><p>  this.add

43、(JLP);</p><p>  JB1.setBounds(100,200,60,20);</p><p>  this.add(JB1);</p><p>  JB1.addActionListener(this);</p><p>  JB2.setBounds(200,200,60,20);</p><p> 

44、 this.add(JB2);</p><p>  JB2.addActionListener(this);</p><p>  this.setVisible(true);</p><p>  this.setBounds(10, 10, 400, 250);</p><p>  addWindowListener(new WindowAd

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

46、 JCB.addActionListener(new ActionListener(){</p><p>  public void actionPerformed(ActionEvent e){</p><p>  int h=JCB.getSelectedIndex();</p><p>  if(h==0) student_manage sm=new stud

47、ent_manage();</p><p>  else if(h==1) teacher_manage tm=new teacher_manage();</p><p><b>  }</b></p><p><b>  });</b></p><p><b>  }</b>

48、</p><p>  public void actionPerformed(ActionEvent e){</p><p>  if(e.getSource()==JB1){</p><p>  String name=JTUserName.getText();</p><p>  String password=new String(JP

49、sw.getPassword());</p><p>  if((name!=null&&(name.equals("1")))</p><p>  &&(password!=null&&(password.equals("1")))){</p><p>  new studen

50、t_manage();}</p><p><b>  else{</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>

51、  }</b></p><p>  其運行結果如圖4-2所示:</p><p>  圖4-2 Info_Manage.java的顯示結果</p><p>  4.5 學生信息模塊</p><p>  當選擇“學生”時,單擊“登錄”按鈕就可以進入學生信息管理系統(tǒng)了,其信息量很大,具體如下所述:</p><p>

52、;  4.5.1 設計構想</p><p>  進入了學生信息管理系統(tǒng),就可以對摸個學生的信息進行輸入、修改和刪除,也能對同學的信息進行查詢和對程序進行查詢。當打算離開時,還要有一個選項用來退出學生信息管理系統(tǒng)。</p><p>  4.5.2 實現(xiàn)學生信息模塊主界面</p><p>  根據(jù)設計構想,首先要搭建一個界面,然后吧學生信息操作的每一部分分為3大塊,分別

53、是信息、查詢、和其他,并把他們做成菜單形式,最后將對信息的輸入,修改和刪除做成子菜單添加到信息菜單下;將查詢信息和查詢成績添加到查詢菜單下;將突出添加到其他菜單下,并把他做成子菜單放在一個菜單下,這樣做是為了如果以后需要更多的功能,可以很方便的進行添加。</p><p>  創(chuàng)建菜單需要的定義JMenu,創(chuàng)建子菜單需要定義JMenuItem,并且要指明是添加到哪個菜單下面,下面是學生管理模塊主界面的部分代碼<

54、;/p><p>  class student_manage extends JFrame implements ActionListener{</p><p>  JMenuBar jm=new JMenuBar();</p><p>  JMenu jm1=new JMenu("信息");</p><p>  JMenuI

55、tem jmi1=new JMenuItem("增加信息");</p><p>  JMenuItem jmi2=new JMenuItem("刪除信息");</p><p>  JMenuItem jmi3=new JMenuItem("修改信息");</p><p>  JMenu jm2=new JM

56、enu("查詢");</p><p>  JMenuItem jmi21=new JMenuItem("基本信息查詢");</p><p>  JMenuItem jm22=new JMenuItem("成績查詢");</p><p>  JMenu jm3=new JMenu("其他"

57、);</p><p>  JMenuItem jmi31=new JMenuItem("退出");</p><p>  //添加組件與設置位置部分代碼與 Info_Manage.java類似</p><p>  public void actionPerformed(ActionEvent e){</p><p>  if

58、(e.getSource()==jmi1) new AddStudent();</p><p>  if(e.getSource()==jmi2) new DeleteStudent();</p><p>  if(e.getSource()==jmi3) new GetStudent();</p><p>  if(e.getSource()==jmi21) ne

59、w SetStudent();</p><p>  if(e.getSource()==jmi31) new UsingExit().setVisible(true);</p><p>  if(e.getSource()==jm22) new SetGrade();</p><p><b>  }</b></p><p&g

60、t;<b>  }</b></p><p>  其運行結果如圖4-3所示:</p><p>  圖4-3 student_manage.java的顯示結果</p><p><b>  4.5.3添加信息</b></p><p>  每個子菜單都對應著一個操作界面,接下來對每一個子菜單進行講解。當選擇

61、信息菜單下的“增加信息”子菜單時,將彈出如圖所示的界面,它調(diào)用了AddStudent.java類實現(xiàn)該功能。通過對“增加信息”這一子菜單設置監(jiān)聽,彈出界面。AddStudent.java的代碼如下:</p><p>  class AddStudent extends JFrame implements ActionListener{</p><p>  JLabel JL=new JLa

62、bel("添加基本信息",JLabel.CENTER);</p><p>  JLabel JLNumber=new JLabel("學號");</p><p>  JTextField JTNumber=new JTextField();</p><p>  JLabel JLName=new JLabel("姓名

63、");</p><p>  JTextField JTName=new JTextField();</p><p>  JLabel JLClass=new JLabel("班級");</p><p>  JTextField JTClass=new JTextField();</p><p>  JLabel

64、JLsex=new JLabel("性別");</p><p>  ButtonGroup BG=new ButtonGroup();</p><p>  JRadioButton JRB1=new JRadioButton("男");</p><p>  JRadioButton JRB2=new JRadioButton(

65、"女");</p><p>  JLabel JL1=new JLabel("學院");</p><p>  JTextField JT1=new JTextField();</p><p>  JLabel JL2=new JLabel("生日");</p><p>  JText

66、Field JT2=new JTextField();</p><p>  JButton JBAdd=new JButton("添加");</p><p>  JButton JBNext=new JButton("重置");</p><p>  JButton JBExit=new JButton("退出&quo

67、t;);</p><p>  String sql="";</p><p>  //添加組件與設置位置部分代碼與 Info_Manage.java類似</p><p>  public void actionPerformed(ActionEvent e){</p><p>  if(e.getSource()==JBAd

68、d){</p><p>  String snumber=JTNumber.getText();</p><p>  String sname=JTName.getText();</p><p>  String sclass=JTClass.getText();</p><p>  String ssex="女";<

69、;/p><p>  if(JRB1.isSelected())</p><p><b>  ssex="男";</b></p><p>  String scollect=JT1.getText();</p><p>  String sbir=JT2.getText();</p><

70、p>  sql="select * from student where id='"+snumber+"'";</p><p><b>  try{</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p>

71、;<p>  Connection cot=DriverManager.getConnection(</p><p>  "jdbc:odbc:student1","","");</p><p>  Statement stm=cot.createStatement();</p><p>  

72、ResultSet rs=stm.executeQuery(sql);</p><p>  if(rs.next())</p><p>  JOptionPane.showMessageDialog(null, "該號碼已存在!");</p><p><b>  else{</b></p><p> 

73、 sql="insert into student values('"+snumber+"','"</p><p>  +sname+"','"+sclass+"','"+ssex+"','"</p><p>  +sc

74、ollect+"','"+sbir+"')";</p><p>  int i=stm.executeUpdate(sql);</p><p>  if(i>0) JOptionPane.showMessageDialog(null, "添加成功!");</p><p>  e

75、lse JOptionPane.showMessageDialog(null, "刪除失?。?quot;);</p><p><b>  }</b></p><p><b>  }</b></p><p>  catch(Exception ee){</p><p><b>  

76、}</b></p><p><b>  }</b></p><p>  if(e.getSource()==JBNext){</p><p>  JTNumber.setText(null);</p><p>  JTName.setText(null);</p><p>  JTCl

77、ass.setText(null);</p><p>  JT1.setText(null);</p><p>  JT2.setText(null);</p><p><b>  }</b></p><p>  if(e.getSource()==JBExit){</p><p>  setVi

78、sible(false);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  其運行結果如圖4-4所示:</p><p>  圖4-4 AddStudent.ja

79、va的顯示結果</p><p>  4.5.4 刪除信息</p><p>  當選擇信息菜單下的刪除信息子菜單是,將彈出圖 所示的界面,它調(diào)用了DeleteStudent.java類實現(xiàn)該功能,其代碼如下:</p><p>  class DeleteStudent extends JFrame implements ActionListener{</p>

80、;<p>  JLabel JL=new JLabel("刪除基本信息",JLabel.CENTER);</p><p>  JLabel JLNumber=new JLabel("學號");</p><p>  JTextField JTNumber =new JTextField();</p><p>  J

81、Label JLName=new JLabel("姓名");</p><p>  JTextField JTName=new JTextField();</p><p>  JButton JBDel=new JButton("刪除");</p><p>  JButton JBNext=new JButton("重

82、置");</p><p>  JButton JBExit=new JButton("退出");</p><p>  String sql="";</p><p>  //添加組件與設置位置部分代碼與 Info_Manage.java類似</p><p>  public void acti

83、onPerfomed(ActionEvent e){</p><p>  if(e.getSource()==JBDel){</p><p>  String snumber=JTNumber.getText();</p><p>  String sname=JTName.getText();</p><p>  sql="sel

84、ect * from student where Id='"+snumber+"'";</p><p><b>  try{</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p>  Connec

85、tion cot=DriverManager.getConnection(</p><p>  "jdbc:odbc:student1","","");</p><p>  Statement stm=cot.createStatement();</p><p>  ResultSet rs=stm.exe

86、cuteQuery(sql);</p><p>  if(rs.next()){</p><p>  sql="delete * from student where Id='"+snumber+"'";</p><p>  int n=stm.executeUpdate(sql);</p>&l

87、t;p>  if(n>0) JOptionPane.showMessageDialog(null,"刪除成功");</p><p>  else JOptionPane.showMessageDialog(null,"刪除失敗");</p><p><b>  }</b></p><p>  

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

89、 }</b></p><p>  if(e.getSource()==JBNext){</p><p>  JTNumber.setText(null);</p><p>  JTName.setText(null);</p><p><b>  }</b></p><p>  if(

90、e.getSource()==JBExit) setVisible(false);</p><p><b>  }</b></p><p><b>  }</b></p><p>  其運行結果如圖4-5所示:</p><p>  圖4-5 DeleteStudent.java的顯示結果</p

91、><p><b>  4.5.5修改信息</b></p><p>  當選擇“信息”菜單下的“修改信息”子菜單時,將彈出如圖所示的界面,他將點用了GetStudent.java類實現(xiàn)該功能。GetStudent.java的代碼如下:</p><p>  class GetStudent extends JFrame implements Actio

92、nListener{</p><p>  JLabel JL=new JLabel("學生基本信息",JLabel.CENTER);</p><p>  JLabel JLNumber=new JLabel("學號");</p><p>  JTextField JTNumber=new JTextField();</p

93、><p>  JLabel JLName=new JLabel("姓名");</p><p>  JTextField JTName=new JTextField();</p><p>  JLabel JLClass=new JLabel("班級");</p><p>  JTextField JTCla

94、ss=new JTextField();</p><p>  JLabel JLsex=new JLabel("性別");</p><p>  ButtonGroup BG=new ButtonGroup();</p><p>  JRadioButton JRB1=new JRadioButton("男");</p&g

95、t;<p>  JRadioButton JRB2=new JRadioButton("女");</p><p>  JLabel JL1=new JLabel("學院");</p><p>  JTextField JT1=new JTextField();</p><p>  JLabel JL2=new J

96、Label("生日");</p><p>  JTextField JT2=new JTextField();</p><p>  JButton JBGet=new JButton("修改");</p><p>  JButton JBNext=new JButton("取消");</p>

97、<p>  JButton JBExit=new JButton("退出");</p><p>  String sql="";</p><p>  //添加組件與設置位置部分代碼與 Info_Manage.java類似</p><p>  public void actionPerformed(ActionEven

98、t e){</p><p>  if(e.getSource()==JBGet){</p><p>  String snumber=JTNumber.getText();</p><p>  String sname=JTName.getText();</p><p>  String sclass=JTClass.getText();&l

99、t;/p><p>  String ssex="女",sql;</p><p>  if(JRB1.isSelected())</p><p><b>  ssex="男";</b></p><p>  String scollect=JT1.getText();</p>

100、<p>  String sbir= JT2.getText();</p><p>  sql="select * from student where ld='"+snumber+"'";</p><p><b>  try{</b></p><p>  Class.for

101、Name("sun.jdbc.odbc.JdbcOdbcDriver");</p><p>  Connection cot=DriverManager.getConnection(</p><p>  "jdbc:odbc:student1","","");</p><p>  Sta

102、tement stm=cot.createStatement();</p><p>  ResultSet rs=stm.executeQuery(sql);</p><p>  if(rs.next()){</p><p>  sql="update student set name='"+sname+"',class

103、='"</p><p>  +sclass+"',sex='"+ssex+"',collect='"</p><p>  +scollect+"',bir='"+sbir+"' where ld='"</p><

104、;p>  +snumber+"'";</p><p>  int n=stm.executeUpdate(sql);</p><p>  if(n>0) JOptionPane.showMessageDialog(null,"修改成功");</p><p>  else JOptionPane.showMe

105、ssageDialog(null,"修改失??!");</p><p><b>  }</b></p><p>  else JOptionPane.showMessageDialog(null,"此用戶不存在!");</p><p><b>  }</b></p>&l

106、t;p>  catch(Exception er){</p><p><b>  }</b></p><p><b>  }</b></p><p>  if (e.getSource()==JBNext){</p><p>  JTNumber.setText(null);</p>

107、;<p>  JTName.setText(null);</p><p>  JTClass.setText(null);</p><p>  JT1.setText(null);</p><p>  JT2.setText(null);</p><p><b>  }</b></p><

108、;p>  if(e.getSource()==JBExit){</p><p>  setVisible(false);</p><p><b>  }</b></p><p><b>  }</b></p><p>  public static void main (String args

109、[]){</p><p>  new GetStudent();</p><p><b>  }</b></p><p><b>  }</b></p><p>  其運行結果如圖4-6所示:</p><p>  圖4-6 GetStudent.java的顯示結果</p

110、><p>  4.5.6 基本信息查詢</p><p>  當選擇“查詢”菜單下的“基本信息查詢”子菜單時,將彈出如圖所示的界面,它調(diào)用了SetStudent.java類實現(xiàn)該功能。SetStudent.java的代碼如下:</p><p>  class SetStudent extends JFrame implements ActionListener {<

111、/p><p>  JLabel JL=new JLabel("查詢基本信息",JLabel.CENTER);</p><p>  JLabel JLNumber=new JLabel("學號");</p><p>  JTextField JTNumber=new JTextField();</p><p>

112、;  JLabel JLName=new JLabel("姓名");</p><p>  JTextField JTName=new JTextField();</p><p>  JLabel JLClass=new JLabel("班級");</p><p>  JTextField JTClass=new JTextFi

113、eld();</p><p>  JLabel JLsex=new JLabel("性別");</p><p>  ButtonGroup BG=new ButtonGroup();</p><p>  JRadioButton JRB1=new JRadioButton("男");</p><p>

114、  JRadioButton JRB2=new JRadioButton("女");</p><p>  JLabel JL1=new JLabel("學院");</p><p>  JTextField JT1=new JTextField();</p><p>  JLabel JL2=new JLabel("生

115、日");</p><p>  JTextField JT2=new JTextField();</p><p>  JButton JBSet=new JButton("查詢");</p><p>  JButton JBNext=new JButton("重置");</p><p>  JB

116、utton JBExit=new JButton("退出");</p><p>  String sql="";</p><p>  //添加組件與設置位置部分代碼與 Info_Manage.java類似</p><p>  public void actionperfoemaed(ActionEvent e){</p&

117、gt;<p>  if(e.getSource()==JBSet){</p><p>  String snumber=JTNumber.getText();</p><p>  String sname=JTName.getText();</p><p>  String sclass=JTClass.getText();</p>&l

118、t;p>  String ssex="女";</p><p>  if(JRB1.isSelected()) ssex="男";</p><p>  String scollect=JT1.getText();</p><p>  String sbir=JT2.getText();</p><p&g

119、t;  sql="select * from student where Id='"+snumber+"'";</p><p><b>  try{</b></p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p>

120、<p>  Connection cot=DriverManager.getConnection("jdbc.odbc.student1","","");</p><p>  Statement stm=cot.createStatement();</p><p>  ResultSet rs=stm.executeQu

121、ery(sql);</p><p>  if(rs.next()){</p><p>  String name=rs.getString(2);</p><p>  JTName.setText(name);</p><p>  String clas=rs.getString(3);</p><p>  JTCla

122、ss.setText(clas);</p><p>  String sex=rs.getString(4);</p><p>  JRB1.setText(sex);</p><p>  String collect=rs.getString(5);</p><p>  JT1.setText(collect);</p>&l

123、t;p>  String bir=rs.getString(6);</p><p>  JT2.setText(bir);</p><p>  int n=stm.executeUpdate(sql);</p><p>  if(n>0) JOptionPane.showMessageDialog(null,"查詢成功");</

124、p><p>  else JOptionPane.showMessageDialog(null,"查詢失敗");</p><p><b>  }</b></p><p>  Else JOptionPane.showMessageDialog(null,"此用戶不存在");</p><p&

125、gt;  }catch(Exception ee){</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(e.getSource()==JBNext){</p><p>  JTNumber.setText(null);</p>&

126、lt;p>  JTName.setText(null);</p><p>  JTClass.setText(null);</p><p>  JT1.setText(null);</p><p>  JT2.setText(null);</p><p><b>  }</b></p><p&g

127、t;  if(e.getSource()==JBExit) setVisible(false);</p><p><b>  }</b></p><p><b>  }</b></p><p>  其運行結果如圖4-6所示:</p><p>  圖4-7 SetStudent.java的顯示結果&l

128、t;/p><p>  4.5.7 成績查詢</p><p>  當選擇“查詢”菜單下的“成績查詢”子菜單時,調(diào)用SetGrade.java類來實現(xiàn)功能。SetGrade.java的代碼如下:</p><p>  class SetGrade extends JFrame implements ActionListener{</p><p>  J

溫馨提示

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

評論

0/150

提交評論