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

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計 報 告</p><p>  課程名稱 企業(yè)資源計劃 </p><p>  課題名稱 高校學(xué)生成績管理信息系統(tǒng) </p><p>  專 業(yè) 信息管理與信息系統(tǒng) </p><p>  班 級 信管1101 &

2、lt;/p><p>  一、設(shè)計內(nèi)容與設(shè)計要求</p><p><b>  1.設(shè)計內(nèi)容:</b></p><p>  高校學(xué)生成績管理信息系統(tǒng)</p><p><b>  信管1101班:</b></p><p>  1~7號:學(xué)生表、系部表、專業(yè)表、班級表、課程代碼表、教師代

3、碼表等基礎(chǔ)數(shù)據(jù)的增、刪、改。</p><p>  8~14號:正常成績錄入。</p><p>  15~21號:查詢某學(xué)生某學(xué)期成績,查詢某學(xué)生全部學(xué)期成績。</p><p>  22~30號:打印班級花名冊、班級成績綜合表。</p><p><b>  圖書館管理系統(tǒng)</b></p><p>&

4、lt;b>  信管1102班:</b></p><p>  1~6號:圖書編目、借閱證管理:對圖書信息、讀者信息進行增加、刪除、修改、查詢等維護操作,可以使用excel表批量導(dǎo)入讀者信息。</p><p>  7~13號:借還管理:實現(xiàn)圖書的流通,包括借還、還書、續(xù)借、損失歸還、丟失處理等操作,對于異常情況自動彈出罰款窗口,登記圖書損壞、丟失等異常情況及罰款金額;借還中輸

5、入讀者借閱證可查詢到讀者所在部門、可借閱圖書、借閱期限、當(dāng)前所借圖書等信息。</p><p>  14~19號:圖書查詢:根據(jù)isbn、條形碼、姓名、讀者證號、ic卡號、正題名、館藏地、狀態(tài)等查詢當(dāng)前圖書館所有圖書的外借、在庫、丟失、損壞等信息,如果是外借的圖書可現(xiàn)實讀者的信息以及借出時間和歸還時間。結(jié)果可導(dǎo)出excel表。</p><p>  20~26號:讀者借閱統(tǒng)計:按部門、條形碼、

6、借閱證、ic卡號、姓名、正題名、索書號、借書日期、館藏地等條件查詢讀者的歷史借閱情況,可導(dǎo)出excel表。</p><p>  27~30號:圖書借閱統(tǒng)計:按條形碼、分類號、正題名、借書日期、 館藏地等查詢圖書的借閱情況,包括每冊書的借閱次數(shù)、每種書的借閱次數(shù)以及每個分類號的借閱次數(shù),可導(dǎo)出excel表。</p><p><b>  2.設(shè)計要求: </b></

7、p><p> ?。?)本系統(tǒng)可采用C/S、B/S模式進行開發(fā),采用powerbuilder 、C#、JAVA等語言進行界面及程序設(shè)計,后端采用SQL Server 2000數(shù)據(jù)庫系統(tǒng)。</p><p> ?。?)論述課題的性質(zhì)、內(nèi)容以及本次課程設(shè)計的目的和要求。說明系統(tǒng)對計算機軟、硬件環(huán)境的基本要求,對所采用的語言和SQL Server數(shù)據(jù)庫管理系統(tǒng)和C/S模式簡要的說明。</p>

8、<p> ?。?)總體設(shè)計方案的分析、比較和論證。</p><p>  (4)數(shù)據(jù)庫的建立,數(shù)據(jù)庫中表的結(jié)構(gòu),各表中關(guān)鍵字的設(shè)置,表與表之間的關(guān)系。</p><p> ?。?)應(yīng)用程序各功能模塊和報表的設(shè)計。</p><p> ?。?)編寫代碼、上機輸入、調(diào)試、修改并運行通過。</p><p> ?。?)編寫課程設(shè)計說明書。說明

9、書是總結(jié)性的技術(shù)文件,應(yīng)全面敘述整個設(shè)計的內(nèi)容及過程(可參考上述6條),發(fā)現(xiàn)的問題及解決方法等。</p><p>  (9)說明書應(yīng)采用A4紙張,文字說明不少于5000字。</p><p><b>  二、進度安排</b></p><p>  第一周:星期三 下午2:30——6:30, 星期五 下午2:30——6:30 </p>

10、;<p>  第二周:星期一 上午8:00——12:00,星期二 上午8:00——12:00</p><p>  星期四 下午2:30——6:30, 星期五 上午8:00——12:00 </p><p><b>  附:</b></p><p>  課程設(shè)計報告裝訂順序:封面、任務(wù)書、目錄、正文、評分。 </p&g

11、t;<p>  正文的格式:一級標(biāo)題用3號黑體,二級標(biāo)題用四號宋體加粗,正文用小四號宋體;行距為22。</p><p>  正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫出模塊圖);三、主要功能的實現(xiàn)(至少要有一個主要模塊的流程圖);四、程序調(diào)試;五、總結(jié);</p><p><b>  目 錄</b></p><p&

12、gt;  1 系統(tǒng)需求分析1</p><p><b>  1.1設(shè)計思想1</b></p><p><b>  1.2實現(xiàn)方法1</b></p><p><b>  2 總體設(shè)計3</b></p><p>  2.1總體設(shè)計圖3</p><p>

13、;  2.2 E-R圖4</p><p>  2.2.1專業(yè)E-R圖4</p><p>  2.2.1系部E-R圖4</p><p>  2.3數(shù)據(jù)庫的設(shè)計與數(shù)據(jù)庫連接的實現(xiàn)4</p><p>  2.3.1:department表的創(chuàng)建4</p><p>  2.3.2:major表的創(chuàng)建4</p&

14、gt;<p>  2.3.3:數(shù)據(jù)庫的連接5</p><p><b>  3 詳細(xì)設(shè)計7</b></p><p>  3.1系部插入模塊7</p><p>  3.2系部刪除模塊8</p><p>  4 系統(tǒng)運行結(jié)果11</p><p>  4.1系部添加11</

15、p><p>  4.2系部修改11</p><p>  4.3系部刪除12</p><p>  4.4系部所有專業(yè)查詢13</p><p>  4.5專業(yè)添加13</p><p>  4.6專業(yè)修改14</p><p>  4.7專業(yè)刪除14</p><p>  

16、4.8專業(yè)所在系部查詢15</p><p><b>  5 調(diào)試分析16</b></p><p><b>  6 心得體會17</b></p><p><b>  7 附錄19</b></p><p>  7.1源程序代碼19</p><p>

17、  7.2 參考文獻34</p><p><b>  8 評分表35</b></p><p><b>  1 系統(tǒng)需求分析</b></p><p><b>  1.1設(shè)計思想</b></p><p>  本文論述某學(xué)校學(xué)生成績管理系統(tǒng)專業(yè)系部兩個模塊的開發(fā)過程。全文分課程任

18、務(wù)及要求、需求分析、設(shè)計思路、詳細(xì)設(shè)計、運行調(diào)試與分析討論設(shè)計體與小結(jié)及參考文獻共七部份內(nèi)容。本系統(tǒng)以Java Eclipse為開發(fā)平臺,選擇了易學(xué)易用可java圖形界面開發(fā)編程語言,主要用到了swing、awt、sql三個類包,結(jié)合單位實際,利用軟件工程化思想和方法,總體上用結(jié)構(gòu)化生命周期法進行系統(tǒng)分析和設(shè)計,采用快速原型法來實現(xiàn)系統(tǒng)。在程序設(shè)計與調(diào)試上采用了自上而下、逐步細(xì)化,逐步完善的原則。</p><p>

19、;  采用結(jié)構(gòu)化的功能模塊設(shè)計系統(tǒng)功能,可讀性好,易于擴充。系部模塊由“系部插入”、“系部修改”、“系部刪除”、“系部所有專業(yè)查詢”等功能模塊組成,專業(yè)模塊由“專業(yè)插入”、“專業(yè)修改”、“專業(yè)刪除”和“專業(yè)所在系部查詢”等功能模塊組成?;竟δ茌^全面。本系統(tǒng)用戶界面友好、清晰、操作簡便,易學(xué)易用;系統(tǒng)可讀性好,易于維護、更新,安全性較好。本系統(tǒng)采用傳統(tǒng)下拉菜單功能選擇,方便、快捷、一目了然,并且在一個窗體中進行操作,每個功能界面顏色不同

20、,這樣可使系統(tǒng)可視化性比較強。對學(xué)生的基本信息進行簡單操作,可按名稱進行查詢、修改、刪除操作。本系統(tǒng)采用鏈入數(shù)據(jù)庫進行存儲,可動態(tài)進行查看、操作,這樣的系統(tǒng)可修改性較強。</p><p><b>  1.2實現(xiàn)方法</b></p><p>  ①學(xué)生學(xué)籍管理系統(tǒng)主界面模塊:</p><p>  采用Frame窗體來設(shè)置歡迎界面包括背景圖片及字幕

21、(可以設(shè)計成滾動字幕效果),左上方的菜單條設(shè)計成下拉式。包括“系部插入”、“系部修改”、“系部刪除”、“系部所有專業(yè)查詢”“專業(yè)插入”、“專業(yè)修改”、“專業(yè)刪除”和“專業(yè)所在系部查詢”八項菜單項。</p><p> ?、谙挡坎迦牖拘畔⒛K:</p><p>  由于我們在數(shù)據(jù)庫department表中的id采用的是自增,所以在界面當(dāng)中只要輸入系部名稱就可以了。所以我們直接在Frame窗

22、體中加入一個輸入框,用來填寫系部名字,再加上添加按鈕和取消兩個按鈕進行監(jiān)聽。</p><p>  ③修改系部基本信息模板:</p><p>  這個功能我們采用了下拉框的形式,我們下拉框里面的內(nèi)容是系部的id,然后下面的輸出框就顯示出了這個系部的名稱,你可以在這個輸出輸入框中修改內(nèi)容,再加上添加按鈕和取消兩個按鈕進行監(jiān)聽。</p><p> ?、芟挡克袑I(yè)查詢基本

23、信息模板:</p><p>  這個功能我們采用了一個二維表來顯示查詢到的結(jié)果,然后加上一個輸入框,里面輸入你想要查詢的系部的名稱,再加上一個添加的按鈕來進行監(jiān)聽并觸動事件,就能在二維表中顯示出你所查詢出來的所有專業(yè)。</p><p> ?、菹挡縿h除基本信息模板:</p><p>  這個主要是采用了下拉框的方式,下拉框中的內(nèi)容是從數(shù)據(jù)庫中提取出來的,選中你所要刪除

24、的系部,然后點擊“刪除”按鈕來實現(xiàn)監(jiān)聽。</p><p>  專業(yè)的插入查詢刪除修改的Frame窗體和系部是差不多的,所以我就不在這里一一介紹咯額,以下有圖片與代碼詳解。</p><p>  綜上,我們小組的模塊就是由以上六部分組成,并將所有內(nèi)容信息在同一窗體中實現(xiàn),這樣可使系統(tǒng)可視化性提高。</p><p><b>  2 總體設(shè)計</b>&

25、lt;/p><p><b>  2.1總體設(shè)計圖</b></p><p><b>  圖1</b></p><p>  運行程序到系統(tǒng)界面,接著系統(tǒng)界面就會出現(xiàn)讓你能選擇的功能:</p><p>  系部插入【2】系部修改【3】系部所有專業(yè)查詢</p><p>  【4】系部刪除

26、【5】數(shù)據(jù)庫相關(guān)功能設(shè)定</p><p><b>  圖2</b></p><p>  運行程序到系統(tǒng)界面,接著系統(tǒng)界面就會出現(xiàn)讓你能選擇的功能:</p><p>  【1】專業(yè)插入【2】專業(yè)修改【3】專業(yè)所在系部查詢</p><p>  【4】專業(yè)刪除【5】數(shù)據(jù)庫相關(guān)功能設(shè)定</p><p>&

27、lt;b>  2.2 E-R圖</b></p><p>  2.2.1專業(yè)E-R圖</p><p><b>  圖3</b></p><p>  2.2.1系部E-R圖</p><p><b>  圖4</b></p><p>  2.3數(shù)據(jù)庫的設(shè)計與數(shù)據(jù)庫

28、連接的實現(xiàn)</p><p>  2.3.1:department表的創(chuàng)建</p><p>  create table department</p><p>  (id int primary key identity(1,1),</p><p>  name varchar(50) not null)</p><p>

29、;<b>  圖5</b></p><p>  2.3.2:major表的創(chuàng)建</p><p>  create table major</p><p>  (id int primary key identity(1,1),</p><p>  name varchar(50) not null,</p>

30、<p>  did int foreign key (did) references department(id))</p><p><b>  圖6</b></p><p>  2.3.3:數(shù)據(jù)庫的連接</p><p>  新建名為student的數(shù)據(jù)源</p><p>  打開控制面板,找到數(shù)據(jù)源新建一個

31、student的數(shù)據(jù)源。</p><p><b>  圖7</b></p><p>  單擊添加,選擇SQL,并在服務(wù)器內(nèi)添加(local)</p><p><b>  圖8</b></p><p>  注意修改默認(rèn)的數(shù)據(jù)庫,選中自己的數(shù)據(jù)庫student</p><p>&

32、lt;b>  圖9</b></p><p>  進行數(shù)據(jù)庫的鏈接測試</p><p><b>  圖10</b></p><p><b>  圖11</b></p><p>  在數(shù)據(jù)源管理器中會看到自己添加的數(shù)據(jù)源student。</p><p><

33、b>  3 詳細(xì)設(shè)計</b></p><p>  (因為專業(yè)這個模塊的功能與系部這個差不多,所里我這里就只舉例了系部這個模塊而已,剩下的看最后的源代碼)</p><p><b>  3.1系部插入模塊</b></p><p>  1.首先導(dǎo)入該程序中所需要用到的java包如下:</p><p>  im

34、port java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import javax.swing.*;</p><p>  import java.sql.*;import javax.swing.JOptionPane;</p>

35、<p>  2.設(shè)計系部插入這一模塊的框架</p><p>  public class DepartmentAdd extends JFrame implements ActionListener{</p><p>  //組件的實例化放在類</p><p>  JLabel lblClassName=new JLabel("系部名稱:&quo

36、t;);//構(gòu)造方法</p><p>  JTextField txtName=new JTextField(20);</p><p>  JButton btnAdd=new JButton("添加");</p><p>  JButton btnCancel=new JButton("取消");</p>

37、;<p>  public DepartmentAdd(){</p><p>  //set frame</p><p>  this.setSize(300,200); //設(shè)置窗體的大小</p><p>  this.setTitle("添加系部");//設(shè)置窗體的標(biāo)題</p><p>  this.

38、setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//設(shè)置關(guān)閉</p><p>  this.setResizable(false);//設(shè)置窗體的大小不可變</p><p>  this.setLocationRelativeTo(null); //設(shè)置居中</p><p>  this.btnCancel.add

39、ActionListener(new ActionListener(){</p><p>  //實現(xiàn)動作事件并鏈接數(shù)據(jù)庫將文本框內(nèi)信息存儲到數(shù)據(jù)庫中:</p><p>  public void actionPerformed(ActionEvent arg0) {</p><p>  // TODO 自動生成方法存根</p><p>  

40、DepartmentAdd.this.setVisible(false);</p><p>  DepartmentAdd.this.dispose();} });</p><p>  this.setLayout(null);//將內(nèi)容面板的布局設(shè)置為空布局</p><p>  lblClassName.setBounds(30,40, 80, 20);</

41、p><p>  txtName.setBounds(120,40,150,20);</p><p>  btnAdd.setBounds(50,80,80,20); //alt+/:自動完成功能</p><p>  btnCancel.setBounds(150,80,80,20);</p><p>  this.add(lblClassNa

42、me);</p><p>  this.add(txtName);</p><p>  this.add(btnAdd);</p><p>  this.add(btnCancel);</p><p>  btnAdd.addActionListener(this);</p><p>  btnCancel.addAc

43、tionListener(this);}</p><p>  public static void main(String []args){</p><p>  DepartmentAdd caf=new DepartmentAdd();</p><p>  caf.setVisible(true); }</p><p>  public

44、void actionPerformed(ActionEvent e) {</p><p>  if(e.getSource()==btnAdd){</p><p>  //判斷文本框的值是否為空</p><p>  if(this.txtName.getText().equals("")){</p><p>  JOpt

45、ionPane.showMessageDialog(null, "系部名不能為空!","提示",JOptionPane.ERROR_MESSAGE,null); }</p><p>  else{try {</p><p>  //step1:查找驅(qū)動</p><p>  Class.forName("su

46、n.jdbc.odbc.JdbcOdbcDriver");</p><p>  //step2:創(chuàng)建連接對象</p><p>  Connection conn=DriverManager.getConnection("jdbc:odbc:studb");</p><p>  //System.out.println("數(shù)據(jù)庫

47、已連接!");</p><p>  //step3:操作數(shù)據(jù)庫的對象</p><p>  Statement st=conn.createStatement();</p><p>  //step4:準(zhǔn)備需要執(zhí)行的sql 語句</p><p>  String sql="insert into department val

48、ues('"+txtName.getText()+"')";</p><p>  //System.out.println(sql);</p><p>  //step5: 執(zhí)行insert的操作</p><p>  int count= st.executeUpdate(sql);</p><p&g

49、t;  //step 6:關(guān)閉對象</p><p>  st.close();</p><p>  conn.close();JOptionPane.showMessageDialog(null, "系部添加成功!","提示",JOptionPane.INFORMATION_MESSAGE,null);</p><p>  }

50、 catch (ClassNotFoundException e1) {</p><p>  // TODO 自動生成 catch 塊</p><p>  System.out.println("未找到驅(qū)動!");</p><p>  e1.printStackTrace();</p><p>  } catch (SQL

51、Exception e2) {</p><p>  // TODO 自動生成 catch 塊</p><p>  e2.printStackTrace();}}}</p><p>  else{this.txtName.setText("");}}}</p><p><b>  3.2系部刪除模塊</b&g

52、t;</p><p>  1.首先導(dǎo)入該程序中所需要用到的java包如下:</p><p>  import java.awt.*;</p><p>  import java.awt.event.*;</p><p>  import java.sql.Connection;</p><p>  import jav

53、a.sql.ResultSet;</p><p>  import java.sql.SQLException;</p><p>  import java.sql.Statement;</p><p>  import javax.swing.*;</p><p>  2.設(shè)計系部插入這一模塊的框架</p><p>

54、  public class DepartmentDelete1 {</p><p>  private JComboBox departmentList = null;</p><p>  private JTextField pMajoyResult = null;</p><p>  private JFrame jf = null ;</p>

55、<p>  public static void main(String[] args) {</p><p>  new DepartmentDelete1().function();}</p><p>  public void bindDepartmentList(){</p><p>  departmentList.removeAllItems

56、();</p><p>  String sql="select name from department;";</p><p>  ResultSet rs =SqlHelper.executeQuery(sql);</p><p><b>  try {</b></p><p>  while(r

57、s.next()){</p><p>  this.departmentList.addItem(rs.getString(1)); }</p><p>  Statement st=rs.getStatement();</p><p>  Connection conn=st.getConnection();</p><p>  rs.cl

58、ose();</p><p>  st.close();</p><p>  conn.close();</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();}}</p><p>  //實現(xiàn)動作事件并鏈接數(shù)據(jù)庫將文本框內(nèi)信息存儲到數(shù)據(jù)庫

59、中:</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  if(e.getSource()==btnModify){</p><p>  if(txtName.getText().length()==0){</p><p>  JOptionPane.showMes

60、sageDialog(null,"系部名不能為空!");</p><p><b>  return; }</b></p><p>  String sql="update department set name='"+txtName.getText()+"' where id="+cboId.

61、getSelectedItem();</p><p>  int count=SqlHelper.executeUpdate(sql);</p><p>  if(count>0){ JOptionPane.showMessageDialog(null,"系部名更新成功!"); }</p><p>  else{JOptionPane.sh

62、owMessageDialog(null,"系部名更新失敗!"); } }</p><p>  if(e.getSource()==btnCancel){ dispose();}}</p><p>  public void itemStateChanged(ItemEvent e) {</p><p>  if(e.getStateChange

63、()==ItemEvent.SELECTED){</p><p>  String did= cboId.getSelectedItem()+"";</p><p>  String sql="select name from department where id="+did;</p><p>  ResultSet rs

64、=SqlHelper.executeQuery(sql);</p><p>  try {rs.next();</p><p>  txtName.setText(rs.getString(1));</p><p>  Statement st =rs.getStatement();</p><p>  Connection conn= st

65、.getConnection();</p><p>  rs.close();</p><p>  st.close();</p><p>  conn.close();</p><p>  } catch (SQLException e1) {</p><p>  // TODO 自動生成 catch 塊</p

66、><p>  e1.printStackTrace();}}}}</p><p>  //step3:操作數(shù)據(jù)庫的對象</p><p>  Statement st=conn.createStatement();</p><p>  //step4:準(zhǔn)備需要執(zhí)行的sql 語句</p><p>  String sql=&q

67、uot;insert into department values('"+txtName.getText()+"')";</p><p>  //System.out.println(sql);</p><p>  //step5: 執(zhí)行insert的操作</p><p>  int count= st.executeU

68、pdate(sql);</p><p>  //step 6:關(guān)閉對象</p><p>  st.close();</p><p>  conn.close(); JOptionPane.showMessageDialog(null, "系部添加成功!","提示",JOptionPane.INFORMATION_MESSAGE

69、,null);</p><p>  } catch (ClassNotFoundException e1) {</p><p>  System.out.println("未找到驅(qū)動!");</p><p>  e1.printStackTrace();} catch (SQLException e2) {</p><p>

70、;  // TODO 自動生成 catch 塊</p><p>  e2.printStackTrace();}}}</p><p><b>  else</b></p><p>  {this.txtName.setText("");}}</p><p><b>  4 系統(tǒng)運行結(jié)果&l

71、t;/b></p><p><b>  4.1系部添加</b></p><p><b>  圖12</b></p><p>  數(shù)據(jù)庫里面就有這條內(nèi)容9</p><p><b>  圖13</b></p><p><b>  4.2系部修

72、改</b></p><p><b>  圖14</b></p><p>  數(shù)據(jù)庫里面的內(nèi)容修改就如下:</p><p><b>  圖15</b></p><p><b>  4.3系部刪除</b></p><p><b>  圖

73、16</b></p><p>  數(shù)據(jù)庫里面的內(nèi)容如下:</p><p><b>  圖17</b></p><p>  4.4系部所有專業(yè)查詢</p><p><b>  圖18</b></p><p><b>  4.5專業(yè)添加</b>&

74、lt;/p><p><b>  圖19</b></p><p>  數(shù)據(jù)庫里面的內(nèi)容如下:</p><p><b>  圖20</b></p><p><b>  4.6專業(yè)修改</b></p><p><b>  圖21</b><

75、;/p><p>  數(shù)據(jù)庫里面的內(nèi)容如下:</p><p><b>  圖22</b></p><p><b>  4.7專業(yè)刪除</b></p><p><b>  圖23</b></p><p><b>  數(shù)據(jù)庫的內(nèi)容如下:</b>

76、;</p><p><b>  圖24</b></p><p>  4.8專業(yè)所在系部查詢</p><p><b>  圖25</b></p><p><b>  5 調(diào)試分析</b></p><p>  1.遇到數(shù)據(jù)庫連接的問題,在配置ODBC數(shù)據(jù)源的

77、時候,找不到服務(wù)器,即使是配置本地的服務(wù)器也是不可以的,最后才發(fā)現(xiàn)我安裝的SQL Server2005是一個快速版本的,與常規(guī)配置不同,最后要輸入本機的計算機名字加上一個后綴才可以。</p><p>  2.在添加細(xì)部模塊的時候,遇到了下拉框的問題(在老師還沒教下拉框之前做的),原本是打算要用死的方式來配置這個下拉框,后來想想應(yīng)該要用活的方式來弄下拉框會比較方便,就是下拉框的內(nèi)容直接從數(shù)據(jù)庫中提取出來,這個問題在

78、陳德利的主導(dǎo)下,浪費一點時間,問題就解決了。</p><p>  3.在系部所有專業(yè)查詢的模塊中,遇到了一個修改的問題,就是說我們要把查詢,修改,刪除集中在一個版面來解決,在查詢,刪除這兩個功能的順利完成下,到了修改這個功能時便停下了腳步,因為老師教的TABLE只用來顯示,并沒有執(zhí)行的功能,要想執(zhí)行編輯修改的功能必須還要另外的控件,這個過程會比較的麻煩,所以我們選擇了放棄,不過在私底下會自己好好的探尋。</

79、p><p>  4.在系部刪除的模塊中,很容易忽略這樣的一個問題,也就是說在你把系部刪除之后,Major表,也就是專業(yè)表的這個系部的專業(yè)沒有刪除,后來我在刪除系部這個模塊的功能內(nèi)添加了兩個SQL語句,同時刪除專業(yè)表中的數(shù)據(jù)。</p><p>  5.在刪除系部的模塊中,由于我采用的是下拉框的形式,在刪除之后下拉框還是顯示原來的內(nèi)容,并沒有把刪除的那個系部刪除掉(只是在界面而已,數(shù)據(jù)庫中已經(jīng)刪除

80、掉了),后來我自己想出了一個很笨的辦法,就是在刪除完這個系部之后,把這個Frame直接Dispose掉,然后再讓它自動跳出一個Frame,這個新的Frame就沒有顯示那個已經(jīng)刪除掉的系部名稱。后來我還是向老師請教了問題,老師用了一個控件就是Bind(雖然在JDK里面沒有查到這個),代碼如下:</p><p>  public void bindDepartmentList(){departmentList.re

81、moveAllItems();</p><p>  String sql="select name from department;"; </p><p>  ResultSet rs =SqlHelper.executeQuery(sql);</p><p>  try {while(rs.next()){this.departmentList

82、.addItem(rs.getString(1)); </p><p>  }Statement st=rs.getStatement();</p><p>  Connection conn=st.getConnection();s.close();st.close();conn.close();</p><p>  }catch (SQLException e)

83、 {e.printStackTrace();}}</p><p>  6.數(shù)據(jù)庫中的department表與major表中的id如果不設(shè)置自增形式的話,在系部或者專業(yè)插入的時候,就會遇到異常。</p><p><b>  6 心得體會</b></p><p>  兩周的課程設(shè)計就這樣結(jié)束了,這期間既有快樂又有煩惱,快樂呢,是因為每編完一個模塊的

84、內(nèi)容時,并且能夠正確的運行出來,心里總會很高興,煩惱呢,也就是改了一個早上的程序還是不能運行出正確的結(jié)果,很郁悶….</p><p>  java是一門很靈活的課程,它的形式千變?nèi)f化,格式也是萬千種,如果只是“紙上談兵”,而不是“親臨戰(zhàn)場”,是很難全面的掌握java的,原本我剛拿到書的那一刻,我就覺得這肯定又是一門無聊的理論課,后來證明我是錯的,java并不是純粹的理論課,它是集理論與實踐于一身的一門課程,既能讓

85、人學(xué)到知識,又能讓人提高動手實踐的能力…剛拿到這個《學(xué)生成績管理系統(tǒng)》這個課題時,頭就開始痛了,因為不知道從何抓起,后來聽老師所講,模塊化思維能力非常重要,利用結(jié)構(gòu)體,分為一個模塊一個模塊,然后用選擇,循環(huán),依次輸出結(jié)果,同時對文件的操作也是必須有所掌握,我按老師所講,理了理頭緒,就開始編程了…經(jīng)過了四天的編程,調(diào)試,再改,再調(diào)試…然后再經(jīng)老師的指導(dǎo)…..終于完成了…從這兩周的課程設(shè)計中,我明白了課程設(shè)計這個課程是培養(yǎng)我們綜合運用所學(xué)知

86、識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié), 是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程.我們從接到課題的迷迷糊糊,到現(xiàn)在能夠完整的,按時的完成這個報告,非常感謝老師的指導(dǎo)還有同學(xué)們的幫忙。經(jīng)歷了這一個星期,我收獲了如下的幾點:</p><p>  1. 程序的設(shè)計思想的精巧的重要性,是不管怎么說都不為過的,好的程序可以讓大家很快的明白你的思想,而且很方便的來實現(xiàn)它。還有不管這程序有多長,只要你解釋

87、了之后,別人很快就能明白,看程序也比較簡單了。</p><p>  2.java是一門實踐性較強的課程,為了學(xué)好這門課程,必須在掌握理論知識的同時,加強上機實踐。一個人的力量是有限的,要想把課程設(shè)計做的更好,就要學(xué)會參考一定的資料,要善于捕獲資料,吸取別人的經(jīng)驗,讓自己和別人的思想有機的結(jié)合起來,得出屬于你自己的靈感。</p><p>  3.學(xué)會“遞進”的思想:程序的編寫需要有耐心,有些

88、事情看起來很復(fù)雜,但問題需要一點一點去解決,分析問題,把問題一個一個劃分,劃分成小塊以后就逐個去解決。再總體解決大的問題。這樣做起來不僅有條理也使問題得到了輕松的解決。</p><p>  這次的程序訓(xùn)練培養(yǎng)了我實際分析問題、編程和動手能力,使我掌握了程序設(shè)計的基本技能,提高了我適應(yīng)實際,實踐編程的能力。</p><p>  這次的課程設(shè)計我對于專業(yè)課的學(xué)習(xí)有了更加深刻的認(rèn)識,以為現(xiàn)在學(xué)的

89、知識用不上就加以怠慢,等到想用的時候卻發(fā)現(xiàn)自己的學(xué)習(xí)原來是那么的不扎實。以后努力學(xué)好每門專業(yè)課,讓自己擁有更多的知識,才能解決更多的問題! </p><p>  總的來說,這次課程設(shè)計讓我獲益匪淺,對數(shù)據(jù)結(jié)構(gòu)也有了進一步的理解和認(rèn)識,也讓我相信,只要你要做(just do it),沒有什么困難能難倒我們……</p><p>  “黑夜過去了,我們收獲的是黎明?!边@一句話是我對這次java

90、課程設(shè)計的最后總結(jié)。</p><p>  感謝課程設(shè)計,它的確教會我很多。</p><p>  感謝老師,讓我學(xué)到了更多的知識,給我構(gòu)建了一個知識系統(tǒng)框架。</p><p>  感謝同學(xué),與我風(fēng)雨同舟</p><p><b>  7 附錄</b></p><p><b>  7.1源程序

91、代碼</b></p><p>  7.1.1系部添加模塊的代碼: DepartmentAdd.java</p><p>  package com.zj.stu.prj.ui;</p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.

92、ActionListener;</p><p>  import javax.swing.*;</p><p>  import java.sql.*;</p><p>  public class DepartmentAdd extends JFrame implements ActionListener{</p><p>  //組件的實

93、例化放在類</p><p>  JLabel lblClassName=new JLabel("系部名稱:");//構(gòu)造方法</p><p>  JTextField txtName=new JTextField(20);</p><p>  JButton btnAdd=new JButton("添加");</p

94、><p>  JButton btnCancel=new JButton("取消");</p><p>  public DepartmentAdd(){</p><p>  //set frame</p><p>  this.setSize(300,200); //設(shè)置窗體的大小</p><p&

95、gt;  this.setTitle("添加系部");//設(shè)置窗體的標(biāo)題</p><p>  this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//設(shè)置關(guān)閉</p><p>  this.setResizable(false);//設(shè)置窗體的大小不可變</p><p>  this.se

96、tLocationRelativeTo(null); //設(shè)置居中</p><p>  this.setIconImage(new ImageIcon("imgs/1.ico").getImage());//error</p><p>  this.btnCancel.addActionListener(new ActionListener(){</p>

97、<p>  public void actionPerformed(ActionEvent arg0) {</p><p>  // TODO 自動生成方法存根</p><p>  DepartmentAdd.this.setVisible(false);</p><p>  DepartmentAdd.this.dispose();}});</p&

98、gt;<p>  this.setLayout(null);//將內(nèi)容面板的布局設(shè)置為空布局</p><p>  lblClassName.setBounds(30,40, 80, 20);</p><p>  txtName.setBounds(120,40,150,20);</p><p>  btnAdd.setBounds(50,80,80,2

99、0); //alt+/:自動完成功能</p><p>  btnCancel.setBounds(150,80,80,20);</p><p>  this.add(lblClassName);</p><p>  this.add(txtName);</p><p>  this.add(btnAdd);</p><

100、p>  this.add(btnCancel);</p><p>  btnAdd.addActionListener(this);</p><p>  btnCancel.addActionListener(this);</p><p><b>  }</b></p><p>  public static vo

101、id main(String []args){</p><p>  DepartmentAdd caf=new DepartmentAdd();</p><p>  caf.setVisible(true); }</p><p>  public void actionPerformed(ActionEvent e) {</p><p> 

102、 //JOptionPane.showMessageDialog(null, "hello");</p><p>  if(e.getSource()==btnAdd){</p><p>  //判斷文本框的值是否為空</p><p>  if(this.txtName.getText().equals("")){</p

103、><p>  JOptionPane.showMessageDialog(null, "系部名不能為空!","提示",JOptionPane.ERROR_MESSAGE,null);</p><p><b>  }else</b></p><p><b>  {將信息添加到DB</b>&

104、lt;/p><p>  try {step1:查找驅(qū)動</p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p>  //step2:創(chuàng)建連接對象</p><p>  Connection conn=DriverManager.getConnection(

105、"jdbc:odbc:studb");</p><p>  //System.out.println("數(shù)據(jù)庫已連接!");</p><p>  //step3:操作數(shù)據(jù)庫的對象</p><p>  Statement st=conn.createStatement();</p><p>  //ste

106、p4:準(zhǔn)備需要執(zhí)行的sql 語句</p><p>  String sql="insert into department values('"+txtName.getText()+"')";</p><p>  //System.out.println(sql);</p><p>  //step5: 執(zhí)行in

107、sert的操作</p><p>  int count= st.executeUpdate(sql);</p><p>  //step 6:關(guān)閉對象</p><p>  st.close();</p><p>  conn.close();</p><p>  JOptionPane.showMessageDialo

108、g(null, "系部添加成功!","提示",JOptionPane.INFORMATION_MESSAGE,null);</p><p>  } catch (ClassNotFoundException e1) {</p><p>  // TODO 自動生成 catch 塊</p><p>  System.out.pr

109、intln("未找到驅(qū)動!");</p><p>  e1.printStackTrace();</p><p>  } catch (SQLException e2) {</p><p>  // TODO 自動生成 catch 塊</p><p>  e2.printStackTrace();</p>&

110、lt;p>  }}}else{this.txtName.setText("");}}}</p><p>  7.1.2系部修改模塊的代碼: DepartmentModify.java</p><p>  package com.zj.stu.prj.ui;</p><p>  import java.awt.Graphics;</p&

111、gt;<p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import java.awt.event.ItemEvent;</p><p>  import java.awt.event.ItemListen

112、er;</p><p>  import java.sql.Connection;</p><p>  import java.sql.DriverManager;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql.SQLException;</p>&

113、lt;p>  import java.sql.Statement;</p><p>  import javax.swing.*;</p><p>  public class DepartmentModify extends JFrame implements ActionListener,ItemListener{</p><p>  //組件的實例化放

114、在類</p><p>  JLabel lblClassId=new JLabel("專業(yè)編號:");</p><p>  //JTextField txtClassId=new JTextField(20);</p><p>  JComboBox cboId =new JComboBox();</p><p>  

115、JLabel lblClassName=new JLabel("專業(yè)名稱:");</p><p>  JTextField txtName=new JTextField(20);</p><p>  JButton btnModify=new JButton("修改");</p><p>  JButton btnC

116、ancel=new JButton("取消");</p><p>  public DepartmentModify(){</p><p>  //set frame</p><p>  this.setSize(300,200); //設(shè)置窗體的大小</p><p>  this.setTitle("修改系

117、部名稱");//設(shè)置窗體的標(biāo)題</p><p>  this.setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE);//設(shè)置關(guān)閉</p><p>  this.setResizable(false);//設(shè)置窗體的大小不可變</p><p>  //this.setClosable(true);

118、</p><p>  this.setLocation(200, 200);</p><p>  this.setLocationRelativeTo(null); //設(shè)置居中</p><p>  MyPanel contentPane=new MyPanel();</p><p>  this.setContentPane(conten

119、tPane);</p><p>  contentPane.setLayout(null);</p><p>  lblClassId.setBounds(30, 10, 80, 20);</p><p>  cboId.setBounds(120, 10, 150, 20);</p><p>  lblClassName.setBounds

120、(30,40, 80, 20);</p><p>  txtName.setBounds(120,40,150,20);</p><p>  btnModify.setBounds(60,80,80,20); //alt+/:自動完成功能</p><p>  btnCancel.setBounds(160,80,80,20);</p><p&

121、gt;  contentPane.add(lblClassId);</p><p>  contentPane.add(cboId);</p><p>  contentPane.add(lblClassName);</p><p>  contentPane.add(txtName);</p><p>  contentPane.add(b

122、tnModify);</p><p>  contentPane.add(btnCancel);</p><p>  btnModify.addActionListener(this);</p><p>  btnCancel.addActionListener(this);</p><p>  //將班級編號添加到cboId中</p&

123、gt;<p>  ResultSet rs =SqlHelper.executeQuery("select id from department ");</p><p>  try {while(rs.next()){</p><p>  String id=rs.getString(1);</p><p>  cboId.addI

124、tem(id); }</p><p>  Statement st =rs.getStatement();</p><p>  Connection conn= st.getConnection();</p><p>  rs.close();st.close();conn.close();} catch (SQLException e) {</p>

溫馨提示

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

最新文檔

評論

0/150

提交評論