2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  課 程 設 計 論 文</p><p>  基于JAVA的學生成績管理系統(tǒng)的設計與實現(xiàn)</p><p><b>  學生姓名:</b></p><p><b>  學 號: </b></p><p><b>  年級專業(yè): </b></p>

2、;<p><b>  指導老師: </b></p><p><b>  學 院: </b></p><p><b>  目 錄</b></p><p><b>  摘 要2</b></p><p><b>  前言4

3、</b></p><p><b>  1 需求分析4</b></p><p>  1.1 功能需求分析4</p><p>  1.2 性能需求分析5</p><p>  1.3 數(shù)據(jù)庫需求分析――數(shù)據(jù)流圖5</p><p>  1.4數(shù)據(jù)結構分析――數(shù)據(jù)流圖6</p&g

4、t;<p><b>  2概要結構設計9</b></p><p>  2.1系統(tǒng)功能結構設計9</p><p>  2.2 數(shù)據(jù)庫概念結構設計10</p><p>  3邏輯結構設計10</p><p>  4詳細設計及功能實現(xiàn)11</p><p>  4.1模塊設計與實現(xiàn)

5、11</p><p><b>  5總結21</b></p><p><b>  參考文獻21</b></p><p><b>  致 謝21</b></p><p>  摘 要:隨著計算機技術的飛速發(fā)展和高等教育體制改革的不斷深入,傳統(tǒng)教育管理方法、手段以及工

6、作效率已不能適應新的發(fā)展需要,無法很好地完成教學管理工作。提高教學管理水平的主要途徑是更新管理者的思想,增強對管理活動的科學認識。基于Java與SQL server數(shù)據(jù)庫技術建立一個高校成績管理系統(tǒng)該系統(tǒng)為管理員、學生和教師提供了查詢、修改、增加記錄、刪除等功能,功能比較落齊全,基本上能滿足學生和老師的要求。</p><p>  關鍵詞:Java;需求分析;概要設計;學生成績管理系統(tǒng);</p>&l

7、t;p>  Abstract: Fly technically along with the calculator to develop soon and the higher education system reform of continuously thorough, traditional education management the method, means and work efficiencies have

8、 already can't adapt the new development demand, can't complete the teaching management work nicely.The main path that raises the educational administration management level is a thought that renews the governor,

9、 strengthenning the science understanding to manage the activity.According to</p><p>  Keyword:JAVA; The need analysis; The essentiadesign; Database; Detailed design</p><p><b>  前言 </b&

10、gt;</p><p>  學生成績管理工作是高校教育工作的一項重要內容。教務管理工作是指學校管理人員按照一定教育方針,運用先進的管理手段,組織 、協(xié)調 、指揮并指導各用戶活動,以便高效率、高質量地完成各項教學任務,完成國家所制定的教育目標。學生成績管理工作是學校教學工作的中樞,是保證高校教學機制正常運轉的樞紐,它是一項目的性、計劃性、適用性、創(chuàng)造性和科學性很強的工作。學生成績工作關系到高校教學秩序的穩(wěn)定。<

11、;/p><p>  隨著計算機技術的飛速發(fā)展和高等教育體制改革的不斷深入,傳統(tǒng)教育管理方法、手段以及工作效率已不能適應新的發(fā)展需要,無法很好地完成教學管理工作。提高教務管理水平的主要途徑是更新管理者的思想,增強對管理活動的科學認識。同時,運用先進的信息技術,開發(fā)高校綜合成績管理信息系統(tǒng),是深化教務體制改革的有利措施。</p><p>  JAVA以GUI的編程方式、面向對象的程序設計、眾多的G

12、UI組件和強大的數(shù)據(jù)庫應用開發(fā)支持,在競爭激勵的開發(fā)工具市場中越來越羸得程序設計者的青睞。JAVA是Windows系統(tǒng)下的可視化集成開發(fā)工具,提供了強大的可視化組件功能,使程序員能夠快速、高效地開發(fā)出Windows系統(tǒng)下的應用程序,特別是在數(shù)據(jù)庫和網絡方面,JAVA與其它開發(fā)工具相比更是勝出一籌??梢暬饕侵搁_發(fā)圖形用戶界面,而只需調用GUI組件即可。</p><p><b>  1 需求分析<

13、/b></p><p>  1.1 功能需求分析</p><p>  該學生成績管理系統(tǒng)具備三方面的功能:一方面是學生用戶,學生通過輸入學號和密碼進下該系統(tǒng)后,可以進行一些基礎查詢(學生信息查詢、班級信息查詢、課程信息查詢)、成績管理(成績查詢、計算平均分)重新登陸系統(tǒng);一方面老師進入該系統(tǒng)則比學生多一些權限:成績輸入、成績查詢。</p><p>  具體功能

14、的詳細描述如下</p><p>  1.1.1 選擇[學生基本維護]菜單命令,即可進入 [學生基本維護]功能窗體,在其中輸入學生的相關信息,如果需要添加或修改學生信息,則單擊相應的按紐,輸入新信息后單擊[添加]就可以了。需要刪除一條信息,則只要選擇這條信息再點擊 [刪除]。在搜索條件中輸入相關的條件,單擊 [查詢]就可查找信息。</p><p>  1.1.2 選擇[學生信息查詢]菜單命令

15、,即可進入[學生信息查詢]功能窗體,在其中的下拉列表中選擇你要看的信息,則在下面的表格中顯示你要的信息。</p><p>  1.1.3 選擇[成績管理] [添加成績]菜單命令,即可進入 [添加成績]功能窗體,此功能權限只有管理員和教師。</p><p>  1.1.4 選擇[成績管理] [輸入成績]菜單命令,即可進入 [輸入成績]功能窗體,</p><p>

16、  此功能權限只有管理員和教師。</p><p>  1.1.5 選擇[成績管理] [修改成績] 界面,此功能規(guī)管理員所有。</p><p>  1.1.6 選擇[成績管理] [查詢成績]界面此界面對學生也是可見的,它的權限規(guī)所有用戶所有。</p><p>  1.1.7 選擇[登陸] [重新登陸] 則會返回登陸界面,為用戶提供方便。</p>

17、<p>  1.1.8 選擇[退出]將退出整個系統(tǒng)。</p><p>  1.2 性能需求分析</p><p>  時間特性要求:在軟件方面,響應時間有點慢,因為是用JBuilder做的,它占用內存比較大,更新處理時間比較快而且迅速。</p><p>  安全性:設立口令號和密碼驗證方式,防止非法用戶登錄進行操作。也就是用戶只有管理員、學生和教師才能進入這

18、個系統(tǒng),用戶憑口令號和密碼進入此系統(tǒng),系統(tǒng)會自動判斷用戶是那種類型,分別擁有不同的權限。</p><p>  1.3 數(shù)據(jù)庫需求分析――數(shù)據(jù)流圖</p><p>  在教務系統(tǒng)中功能模塊主要牽涉到的信息包括:是學生信息(base_info)、班級信息(class_info)、課程信息(class_info)、成績表(chengjibiao)、選課表 (xuankebiao)、登陸表(stu

19、)。</p><p>  學生信息:包含學號(id)、姓名(name)、班級(class)、性別(sex)、地址(address)</p><p>  課程信息:包括課程編號(course_id)、課程名稱(coursename)、教師(teacher)</p><p>  選課表:編號(select_id) 課程名稱(coursename)、課程編號(course

20、_id)、學號(xh)、</p><p>  姓名(name)、成績(result) 、教師(teacher)</p><p>  成績表:編號(number)、學號(id)、課程名稱(coursename)、成績(result)、教師(teacher)</p><p>  班級信息:班級編號(bjbh)、學號(id)、姓名(name)班級名稱(bjmc)、班主任(

21、bzr)。</p><p>  登陸表:口令號(id)、密碼(password)、權限(rightlimit)。</p><p>  根據(jù)以上劃分的具體數(shù)據(jù)信息,得到數(shù)據(jù)流圖如1.1所示: </p><p>  1.1數(shù)據(jù)庫需求分析——數(shù)據(jù)流圖</p><p>  1.4數(shù)據(jù)結構分析——數(shù)據(jù)流圖</p><p>

22、  1.4.1 數(shù)據(jù)結構:</p><p>  學生信息={組成: {學號(id)、姓名(name)、班級(class)、性別(sex)、地址(address)}}</p><p>  課程信息={組成: {編號(course_id)、課程名稱(coursename)、教師(teacher)}}</p><p>  選課信息={組成:{編號(select_id) 課

23、程名稱(coursename)、課程編號(course_id)、學號(xh)、姓名(name)、成績(result) 、教師(teacher)}}</p><p>  成績表包括={組成:編號(number)、學號(id)、課程名稱(coursename)、成績(result)、教師(teacher)}} </p><p>  課程信息包括={組成:課程編號(course_id)、課程名稱

24、(coursename)、教師(teacher)}}</p><p>  班級信息={組成:班級編號(bjbh)、年級(nj)、班級名稱(bjmc)、人數(shù)(rs)、班主任(bzr)}}</p><p>  登陸表={組成:口令號(id)、密碼(password)、權限(rightlimit)}</p><p>  1.4.2 數(shù)據(jù)流:</p><

25、p>  1.4.2.1 對圖1.1中所涉及的數(shù)據(jù)流描述如下:</p><p>  1) 數(shù)據(jù)流名:口令號</p><p>  說明:根據(jù)這個口令號定位到用戶管理數(shù)據(jù)庫,以便進行身份驗證。</p><p>  數(shù)據(jù)流來源:登陸界面輸入的口令號和密碼。</p><p>  數(shù)據(jù)流去向:其中用戶口令信息將存在于整個操作過程中,防止非法登陸。&

26、lt;/p><p>  數(shù)據(jù)流組成:口令號(文本);密碼(文本)</p><p><b>  數(shù)據(jù)流名:尋找信息</b></p><p>  說明:根據(jù)用戶在學生信息維護的時候所填寫的信息。</p><p>  數(shù)據(jù)流來源:學生信息維護界面學生輸入包含學號、班級編號、名稱等。</p><p>  數(shù)據(jù)

27、流去向:學號將存在整個操作,其它的存入數(shù)據(jù)庫。</p><p>  數(shù)據(jù)流組成:學號(文本);姓名(文本)等</p><p><b>  數(shù)據(jù)流名:尋找信息</b></p><p>  說明:根據(jù)用戶在成績管理的時候所填寫的信息。</p><p>  數(shù)據(jù)流來源:成績輸入、修改、添加等界面用戶輸入包含課程編號、課程名稱、

28、成績、教師。</p><p>  數(shù)據(jù)流去向:學號、班級編號、課程編號將存在整個操作,其它的存入數(shù)據(jù)庫。</p><p>  數(shù)據(jù)流組成:課程編號(文本)、課程名稱(文本)、教師(文本)等。</p><p><b>  數(shù)據(jù)流名:返回信息</b></p><p>  說明:根據(jù)用戶在學生信息維護的時候所填寫的信息存入了數(shù)

29、據(jù)庫之后。</p><p>  數(shù)據(jù)流來源:由學生信息維護界面學生輸入的包含學號、姓名、性別等存入數(shù)據(jù)庫的。</p><p>  數(shù)據(jù)流去向:學生信息維護界面。</p><p>  數(shù)據(jù)流組成:學號(文本)、姓名(文本)、班級名稱(文本)、性別(文本)等。</p><p><b>  數(shù)據(jù)流名:返回信息</b></

30、p><p>  說明:根據(jù)用戶在成績管理的時候所填寫的信息存入數(shù)據(jù)庫后。</p><p>  數(shù)據(jù)流來源:由成績管理輸入的包含班級名稱、教師、課程名、成績存入數(shù)據(jù)庫的。</p><p>  數(shù)據(jù)流去向:成績管理的各子界面。</p><p>  數(shù)據(jù)流組成:班級編號(文本);班級名稱(文本);教師(文本)等;</p><p>

31、;  1.4.2.2 對圖1.1中所涉及的處理過程描述如下:</p><p><b>  處理過程名:登陸</b></p><p>  輸入數(shù)據(jù)流:口令號、密碼</p><p>  輸出數(shù)據(jù)流:不符合輸入條件的錯誤信息 </p><p>  處理過程邏輯:用 IF條件進行判斷。</p><p> 

32、 處理過程名:班級信息維護</p><p>  輸入數(shù)據(jù)流:班級編號、班級名稱、教師等</p><p>  輸出數(shù)據(jù)流:班級編號、班級名稱等 ,其中班級編號將存在整個操作。</p><p>  處理過程號:班級編號,其中班級編號將存在整個操作。</p><p>  處理過程名:學生信息維護</p><p>  輸入數(shù)據(jù)

33、流:學號、姓名、班級編號、性別等。</p><p>  輸出數(shù)據(jù)流:學號、姓名、班級編號、性別等。其中學號將存在整個操作。</p><p>  處理過程名:課程查詢</p><p>  輸入數(shù)據(jù)流:學號、姓名</p><p>  輸出數(shù)據(jù)流:學號、班級名稱、課程名稱、上課時間節(jié)、上課時間天、上課地點、其中課程編號將存在整個操作。</p&

34、gt;<p>  處理過程名:成績輸入</p><p>  輸入數(shù)據(jù)流:課程編號、課程名稱</p><p>  輸出數(shù)據(jù)流:編號、學號、課程名稱、成績 、其中編號和學號將存在整個操作。</p><p><b>  2概要結構設計</b></p><p>  2.1系統(tǒng)功能結構設計</p>&l

35、t;p>  2.1.1模塊的功能設計</p><p>  根據(jù)需求分析階段得到的功能需求,管理員、學生和教師用戶通過輸入口令號和密碼進下該系統(tǒng)后,可以進行一些學生基礎信息查詢(學生信息查詢、班級信息查詢、課程信息查詢)、學生信息維護、成績管理(成績查詢、計算平均分)重新登陸系統(tǒng)、退出。 </p><p>  模塊功能大概可以分為如下4個方面:這幾個模塊學生基礎維護、成績管理、登陸、退

36、出。其中基礎維護還要包括學生信息維護、班級信息維護、課程信息維護。成績管理包括成績查詢、添加成績、成績輸入等。綜上所述,得到客戶端功能模塊圖如下2.1所示。</p><p>  2.2 數(shù)據(jù)庫概念結構設計</p><p>  根據(jù)需求分析階段得到的數(shù)據(jù)字典以及數(shù)據(jù)流圖,由以上分析可以得到系統(tǒng)中出現(xiàn)的實體有:學生信息實體、課程信息實體、班級信息實體、成績表實體等等。 可以畫出對應的E-R圖

37、如下:</p><p>  得到總E-R圖2.2如下:</p><p><b>  m1</b></p><p><b>  n 1</b></p><p><b>  111</b></p><p><b>  n</b>

38、;</p><p><b>  1n</b></p><p><b>  3邏輯結構設計</b></p><p>  根據(jù)上面概念結構設計階段得到的E-R圖,下一步應該將它轉化為關系模型??梢缘玫綄年P系模式為:</p><p>  Base_info(id、name、class、sex、add

39、ress)</p><p>  Class_info(class_id、classname、teacher、id)</p><p>  xuankebiao(number、id、coursename teacher、class_id、classname、result)</p><p>  chengjibiao(number、id、name、course、resu

40、lt) </p><p>  course_info(number、course-id、coursename dates、teacher、jieshu、address)</p><p>  stu(id、password、rights)</p><p>  4詳細設計及功能實現(xiàn)</p><p>  4.1用戶登錄模塊設計與實現(xiàn)</p&g

41、t;<p>  設計思路:為了檢驗登錄用戶是否是一個合法用戶,當用戶輸入用戶名和密碼后,需要查詢數(shù)據(jù)庫以便驗證該用戶是否為非法用戶。同時通過用戶輸入的口令號就可知道用戶是管理員、學生,還是教師,他們的權限不同。</p><p>  實現(xiàn)功能:用戶可以從登陸界面進入到教務管理系統(tǒng)界面,然后進行一些操作。 </p><p>  圖4.1為系統(tǒng)運行時的截圖:</p>

42、<p>  該模塊的核心代碼如下:</p><p>  判斷用戶是否合法和用戶權限。</p><p>  public void jButton1_actionPerformed(ActionEvent e) {</p><p>  String username=Name_Text.getText().trim();</p><p&g

43、t;  String password=Password_Text.getText().trim();</p><p>  if(username.equals("")||password.equals(""))</p><p><b>  {</b></p><p>  JOptionPane.show

44、MessageDialog(null,"用戶名或密碼不能為空!");</p><p><b>  }else{</b></p><p><b>  try {</b></p><p>  //建立數(shù)據(jù)庫連接對象</p><p>  Jdbcconn conn = new Jdbc

45、conn();</p><p><b>  //連接數(shù)據(jù)庫</b></p><p>  conn.OpenConn("student", "sa", "yaya");</p><p>  String strSQL = "select * from stu where id=

46、'" + username + "'";</p><p><b>  try {</b></p><p><b>  //得到記錄;</b></p><p>  ResultSet rs = conn.getResults(strSQL);</p><p&g

47、t;  rs.first();</p><p>  String PassWord = rs.getString("password").toString().trim(); //得到數(shù)據(jù)庫中對應用戶名的密碼 </p><p>  int right = rs.getInt("rightlimit"); </p><

48、;p>  rs.close();</p><p>  if (password.equals(PassWord)) {</p><p>  JOptionPane.showMessageDialog(null, "成功登陸!");</p><p>  dispose();</p><p>  chaxunchengj

49、i cxcj = new chaxunchengji();</p><p>  cxcj.username = username;</p><p>  Main_Frame mainFrame = new Main_Frame();</p><p>  mainFrame.users = username;</p><p>  mainFra

50、me.setVisible(true);</p><p>  Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();</p><p>  Dimension frameSize = mainFrame.getSize();</p><p>  if (frameSize.height &

51、gt; screenSize.height) {</p><p>  frameSize.height = screenSize.height;</p><p><b>  }</b></p><p>  if (frameSize.width > screenSize.width) {</p><p>  fra

52、meSize.width = screenSize.width;</p><p><b>  }</b></p><p>  mainFrame.setLocation( (screenSize.width - frameSize.width) / 2,</p><p>  (screenSize.height - frameSize.heig

53、ht) / 2);</p><p>  mainFrame.users = username;</p><p>  switch(right)</p><p><b>  {</b></p><p><b>  case 0:</b></p><p>  mainFrame.

54、jMenuItem4.setVisible(false);</p><p>  mainFrame.jMenuItem6.setVisible(false);</p><p>  mainFrame.jMenuItem1.setVisible(false);</p><p>  mainFrame.jMenuItem3.setVisible(false);</

55、p><p><b>  break;</b></p><p><b>  case 1:</b></p><p>  mainFrame.jMenuItem3.setVisible(false);</p><p>  mainFrame.jMenuItem6.setVisible(false);<

56、/p><p><b>  break;</b></p><p><b>  default:</b></p><p>  mainFrame.setTitle("學生成績管理系統(tǒng)");</p><p><b>  break;</b></p>&l

57、t;p><b>  }</b></p><p><b>  }</b></p><p><b>  else {</b></p><p>  JOptionPane.showMessageDialog(null, "密碼錯誤,請重輸!");</p><p&

58、gt;  Password_Text.setText("");</p><p><b>  }</b></p><p><b>  }</b></p><p>  catch (Exception ex) {</p><p>  JOptionPane.showMessageDi

59、alog(null, "用戶名或密碼錯誤1!");</p><p>  Name_Text.setText("");</p><p>  Password_Text.setText("");</p><p><b>  }</b></p><p>  conn.

60、closeConn(); //關閉數(shù)據(jù)庫連接</p><p>  } catch (Exception ex) {</p><p>  JOptionPane.showMessageDialog(null, "用戶名或密碼錯誤2!!");</p><p>  System.out.print(ex.getMessage());</p>

61、<p>  }//first try catch</p><p>  } //second try catch</p><p>  }//end else</p><p>  }//end method </p><p><b>  該模塊的核心代碼:</b></p><p> 

62、 public static void main(String[] args) {</p><p>  banjixinxi banjixinxi = new banjixinxi();</p><p><b>  }</b></p><p>  public void jComboBox1_actionPerformed(ActionEven

63、t e) {</p><p>  int state = jComboBox1.getSelectedIndex();</p><p>  if (state == 1) {</p><p><b>  try {</b></p><p>  String sql = "select * from base_i

64、nfo";</p><p>  queryDataSet1.close();</p><p>  //將SQL語句傳給queryDataSet1執(zhí)行。</p><p>  queryDataSet1.setQuery(new QueryDescriptor(database1, sql, null, true,</p><p>  

65、Load.ALL));</p><p>  queryDataSet1.open(); //將queryDataSet1打開</p><p>  queryDataSet1.refresh(); //刷新queryDataSet1</p><p>  } //end try</p><p>  catch (Exception ex) {&l

66、t;/p><p>  JOptionPane.showMessageDialog(null, "Sorry!暫時沒有學生信息記錄");</p><p>  } //end catch</p><p>  } //end if</p><p><b>  else {</b></p><

67、p>  if (state == 2) {</p><p><b>  try {</b></p><p>  String sql1 = "select * from class_info";</p><p>  queryDataSet1.close();</p><p>  //將SQL語

68、句傳給queryDataSet1執(zhí)行。</p><p>  queryDataSet1.setQuery(new QueryDescriptor(database1, sql1, null, true,</p><p>  Load.ALL));</p><p>  queryDataSet1.open(); //將queryDataSet1打開</p>

69、<p>  queryDataSet1.refresh(); //刷新queryDataSet1</p><p>  } //end try</p><p>  catch (Exception ex) {</p><p>  JOptionPane.showMessageDialog(null, "Sorry!暫時沒有班級信息記錄"

70、;);</p><p>  } //end catch</p><p>  } //end if of else</p><p><b>  else</b></p><p><b>  { try{</b></p><p>  String sql2="sele

71、ct * from xuankebiao";</p><p>  queryDataSet1.close();</p><p>  //將SQL語句傳給queryDataSet1執(zhí)行。</p><p>  queryDataSet1.setQuery(new QueryDescriptor(database1, sql2, null, true,Load.

72、ALL)); </p><p>  queryDataSet1.open(); //將queryDataSet1打開 </p><p>  queryDataSet1.refresh();//刷新queryDataSet1</p><p>  }//end try</p><p>  catch(Ex

73、ception ex)</p><p>  { JOptionPane.showMessageDialog(null, "Sorry!暫時沒有課程信息記錄");</p><p>  }//end catch</p><p>  }//end else of else</p><p>  }//end else </p

74、><p>  成績輸入界面的核心代碼:</p><p>  public void jButton1_actionPerformed(ActionEvent e) {</p><p>  String Field1 = jTextField1.getText().trim();</p><p>  String Field2 = jTextFie

75、ld2.getText().trim();</p><p>  String Field3 = jTextField3.getText().trim();</p><p>  String Field4 = jTextField4.getText().trim();</p><p>  String Field5 = jTextField5.getText().tr

76、im();</p><p>  if (Field1.equals("") && Field2.equals("") && Field3.equals("") &&</p><p>  Field4.equals("") && Field5.equ

77、als("")) {</p><p>  JOptionPane.showMessageDialog(null, "請在下面的框內填寫出正確的內容");</p><p><b>  }</b></p><p><b>  else {</b></p><p>

78、<b>  try {</b></p><p>  Jdbcconn conn = new Jdbcconn(); //連接數(shù)據(jù)庫</p><p>  conn.OpenConn("student", "sa", "yaya");</p><p>  String strSQL =&l

79、t;/p><p>  "insert into chengjibiao (id,name,course,result,teacher) values ('" +</p><p>  Field1 + "','" + Field2 + "','" + Field3 + "',&#

80、39;" + Field4 + "','" +</p><p>  Field5 + "')";</p><p>  conn.executeUpdate(strSQL);</p><p>  JOptionPane.showMessageDialog(null, "成績輸入成功&q

81、uot;);</p><p>  //System.out.println("name");</p><p><b>  }</b></p><p>  catch (Exception ex) {</p><p>  System.out.println(ex.getMessage());</

82、p><p>  JOptionPane.showMessageDialog(null, "數(shù)據(jù)庫沒有鏈接成功,數(shù)據(jù)沒有輸入成功!");</p><p>  } //end catch</p><p><b>  }</b></p><p>  } //end if</p><p>

83、<b>  }</b></p><p><b>  核心代碼:</b></p><p>  //************************查找要修改成績的學生信息*******************</p><p>  public void jButton1_actionPerformed(ActionEvent

84、 e) {</p><p>  String Field1 = jTextField1.getText().trim();</p><p>  String Field2 = jTextField2.getText().trim();</p><p>  if (Field1.equals("") && Field2.equals

85、("")) {</p><p><b>  try {</b></p><p>  JOptionPane.showMessageDialog(null, "請輸入查詢條件!");</p><p><b>  }</b></p><p>  catch (Ex

86、ception ex) {</p><p>  System.out.println(ex.getMessage());</p><p><b>  }</b></p><p>  } //end if</p><p><b>  else {</b></p><p><

87、;b>  try {</b></p><p>  String sql = "select * from xuankebiao where id='" + Field1 +</p><p>  "' or course_name='" + Field2 + "'";</p&g

88、t;<p>  queryDataSet1.close();</p><p>  //將SQL語句傳給queryDataSet1執(zhí)行。</p><p>  queryDataSet1.setQuery(new QueryDescriptor(database1, sql, null, true,</p><p>  Load.ALL));</p&

89、gt;<p>  queryDataSet1.open(); //將queryDataSet1打開</p><p>  queryDataSet1.refresh(); //刷新queryDataSet1</p><p>  } //end try</p><p>  catch (Exception ex) {</p><p>

90、;  JOptionPane.showMessageDialog(null, "Sorry!沒有你要的信息,請檢查你輸入的信息!");</p><p>  } //end catch</p><p>  } //end else</p><p><b>  }</b></p><p>  //****

91、****************************修改成績************************</p><p>  public void jButton2_actionPerformed(ActionEvent e) {</p><p>  String Field1 = jdbTextField1.getText().trim();</p><p&

92、gt;  String Field2 = jdbTextField2.getText().trim();</p><p><b>  try {</b></p><p>  Jdbcconn conn = new Jdbcconn(); //連接數(shù)據(jù)庫</p><p>  conn.OpenConn("student", &

93、quot;sa", "yaya");</p><p>  String strSQL =</p><p>  "update xuankebiao set course_name='Field1' ,result='Field2'";</p><p>  conn.executeUpd

94、ate(strSQL);</p><p>  JOptionPane.showMessageDialog(null, "修改成功");</p><p><b>  }</b></p><p>  catch (Exception ex) {</p><p>  System.out.println(e

95、x.getMessage());</p><p>  JOptionPane.showMessageDialog(null, "數(shù)據(jù)庫沒有鏈接成功,數(shù)據(jù)沒有修改成功!");</p><p>  } //end catch</p><p><b>  }</b></p><p>  //********

96、***************返回所有記錄****************************</p><p>  public void jButton3_actionPerformed(ActionEvent e) {</p><p>  String sql = "select * from xuankebiao";</p><p>&

97、lt;b>  try {</b></p><p>  queryDataSet1.close();</p><p>  //將SQL語句傳給queryDataSet1執(zhí)行。</p><p>  queryDataSet1.setQuery(new QueryDescriptor(database1, sql, null, true,</p&g

98、t;<p>  Load.ALL));</p><p>  queryDataSet1.open();</p><p>  queryDataSet1.refresh();</p><p>  } //end try</p><p>  catch (Exception ex) {</p><p>  J

99、OptionPane.showMessageDialog(null, "Sorry!返回出現(xiàn)錯誤!");</p><p>  } //end catch</p><p><b>  5總結</b></p><p>  該學生成績管理系統(tǒng)總體說來功能比較齊全,學生和教師的一些基本的功能都已經具備;數(shù)據(jù)庫的設計方面,建有學生表、

100、課程表、班級表、成績表、選課表、登陸表,數(shù)據(jù)庫中存在一些問題,如數(shù)據(jù)冗余,不夠完善。</p><p>  但在做課程設計的過程中也遇到很多問題,一開始時其中最大的問題是不知道用哪種編譯工具,后來選擇了JBuilder2006,在編寫程序時,由于JBuilder不熟悉,從來沒有用過,前一兩天還處在熟悉怎么用的階段,為連接數(shù)據(jù)庫花了一些時間,在網上查資料,后來終于連上了。編寫程序起來也有點困難,但是也越來越順利了。經

101、過調試后終于把自已想到實現(xiàn)的功能一步步實現(xiàn)了,通過這次課程設計使我收獲了好多,熟悉了JBuilder和JAVA的運用,還復習了數(shù)據(jù)庫相關語句的編寫。</p><p><b>  參考文獻</b></p><p>  JAVA大學基礎教程 電子工業(yè)出版社 2006</p><p>  .施平安 清華大學出版社, 2005</p>

102、<p>  徐慧慧,葉達峰,JBuilder編程技術與實例,人民郵電出版社,2006</p><p>  楊文龍,軟件工程,電子工業(yè)出版社,1997</p><p><b>  致 謝</b></p><p>  這次課程設計能夠順利的完成,要感謝老師的教導和同學的無私的幫助。首先是陳義明梅老師,為我的設計改進提供了很多寶貴的

溫馨提示

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

評論

0/150

提交評論