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

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計 報 告</p><p>  課程名稱 企業(yè)資源計劃 </p><p>  課題名稱 高校學(xué)生成績管理信息系統(tǒng) </p><p>  2012年 6 月 25 日</p><p>  一、設(shè)計內(nèi)容與設(shè)計要求</p><p><

2、b>  1.設(shè)計內(nèi)容:</b></p><p>  高校學(xué)生成績管理信息系統(tǒng)</p><p>  8-14號:系部信息管理,專業(yè)信息管理</p><p>  命名規(guī)范.doc 整理</p><p><b>  E-R圖 整理</b></p><p><b>  FAQ

3、信息</b></p><p><b>  *報表功能</b></p><p><b>  2.設(shè)計要求: </b></p><p>  (1)本系統(tǒng)采用C/S模式進(jìn)行開發(fā),采用JAVA語言進(jìn)行界面及程序設(shè)計,后端采用SQL Server 2000數(shù)據(jù)庫系統(tǒng)。</p><p>  (2)論

4、述課題的性質(zhì)、內(nèi)容以及本次課程設(shè)計的目的和要求。說明系統(tǒng)對計算機(jī)軟、硬件環(huán)境的基本要求,對JAVA語言和SQL Server數(shù)據(jù)庫管理系統(tǒng)和C/S模式簡要的說明。</p><p>  (3)總體設(shè)計方案的分析、比較和論證。</p><p> ?。?)數(shù)據(jù)庫的建立,數(shù)據(jù)庫中表的結(jié)構(gòu),各表中關(guān)鍵字的設(shè)置,表與表之間的關(guān)系。</p><p> ?。?)應(yīng)用程序各功能模塊和

5、報表的設(shè)計。</p><p>  (6)編寫代碼、上機(jī)輸入、調(diào)試、修改并運(yùn)行通過。</p><p> ?。?)編寫課程設(shè)計說明書。說明書是總結(jié)性的技術(shù)文件,應(yīng)全面敘述整個設(shè)計的內(nèi)容及過程(可參考上述6條),發(fā)現(xiàn)的問題及解決方法等。</p><p>  (9)說明書應(yīng)采用A4紙張,文字說明不少于5000字。</p><p><b> 

6、 二、進(jìn)度安排</b></p><p>  第一周:星期一 上午8:00——12:00,星期二 上午8:00——12:00 </p><p>  星期三 晚上7:00——10:00,星期四 上午8:00——12:00</p><p>  第二周:星期六 上午8:00——12:00,下午2:30——6:30</p><p&g

7、t;<b>  附:</b></p><p>  課程設(shè)計報告裝訂順序:封面、任務(wù)書、目錄、正文、評分。 </p><p>  正文的格式:一級標(biāo)題用3號黑體,二級標(biāo)題用四號宋體加粗,正文用小四號宋體;行距為22。</p><p>  正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫出模塊圖);三、主要功能的實(shí)現(xiàn)(至少要有一個

8、主要模塊的流程圖);四、程序調(diào)試;五、總結(jié);</p><p><b>  目 錄</b></p><p>  1 系統(tǒng)需求分析1</p><p><b>  1.1設(shè)計思想1</b></p><p><b>  1.2實(shí)現(xiàn)方法1</b></p><p&

9、gt;<b>  2 總體設(shè)計3</b></p><p>  2.1總體設(shè)計圖3</p><p>  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ù)庫連接的實(shí)現(xiàn)4</p&

10、gt;<p>  2.3.1:department表的創(chuàng)建4</p><p>  2.3.2:major表的創(chuàng)建4</p><p>  2.3.3:數(shù)據(jù)庫的連接5</p><p><b>  3 詳細(xì)設(shè)計7</b></p><p>  3.1系部插入模塊7</p><p>

11、  3.2系部刪除模塊8</p><p>  4 系統(tǒng)運(yùn)行結(jié)果11</p><p>  4.1系部添加11</p><p>  4.2系部修改11</p><p>  4.3系部刪除12</p><p>  4.4系部所有專業(yè)查詢13</p><p>  4.5專業(yè)添加13<

12、/p><p>  4.6專業(yè)修改14</p><p>  4.7專業(yè)刪除14</p><p>  4.8專業(yè)所在系部查詢15</p><p><b>  5 調(diào)試分析16</b></p><p><b>  6 心得體會17</b></p><p&g

13、t;<b>  7 附錄19</b></p><p>  7.1源程序代碼19</p><p>  7.2 參考文獻(xiàn)34</p><p><b>  8 評分表35</b></p><p><b>  1 系統(tǒng)需求分析</b></p><p>&

14、lt;b>  1.1設(shè)計思想</b></p><p>  本文論述某學(xué)校學(xué)生成績管理系統(tǒng)專業(yè)系部兩個模塊的開發(fā)過程。全文分課程任務(wù)及要求、需求分析、設(shè)計思路、詳細(xì)設(shè)計、運(yùn)行調(diào)試與分析討論設(shè)計體與小結(jié)及參考文獻(xiàn)共七部份內(nèi)容。本系統(tǒng)以Java Eclipse為開發(fā)平臺,選擇了易學(xué)易用可java圖形界面開發(fā)編程語言,主要用到了swing、awt、sql三個類包,結(jié)合單位實(shí)際,利用軟件工程化思想和方法,

15、總體上用結(jié)構(gòu)化生命周期法進(jìn)行系統(tǒng)分析和設(shè)計,采用快速原型法來實(shí)現(xiàn)系統(tǒng)。在程序設(shè)計與調(diào)試上采用了自上而下、逐步細(xì)化,逐步完善的原則。</p><p>  采用結(jié)構(gòu)化的功能模塊設(shè)計系統(tǒng)功能,可讀性好,易于擴(kuò)充。系部模塊由“系部插入”、“系部修改”、“系部刪除”、“系部所有專業(yè)查詢”等功能模塊組成,專業(yè)模塊由“專業(yè)插入”、“專業(yè)修改”、“專業(yè)刪除”和“專業(yè)所在系部查詢”等功能模塊組成。基本功能較全面。本系統(tǒng)用戶界面友好

16、、清晰、操作簡便,易學(xué)易用;系統(tǒng)可讀性好,易于維護(hù)、更新,安全性較好。本系統(tǒng)采用傳統(tǒng)下拉菜單功能選擇,方便、快捷、一目了然,并且在一個窗體中進(jìn)行操作,每個功能界面顏色不同,這樣可使系統(tǒng)可視化性比較強(qiáng)。對學(xué)生的基本信息進(jìn)行簡單操作,可按名稱進(jìn)行查詢、修改、刪除操作。本系統(tǒng)采用鏈入數(shù)據(jù)庫進(jìn)行存儲,可動態(tài)進(jìn)行查看、操作,這樣的系統(tǒng)可修改性較強(qiáng)。</p><p><b>  1.2實(shí)現(xiàn)方法</b>&

17、lt;/p><p> ?、賹W(xué)生學(xué)籍管理系統(tǒng)主界面模塊:</p><p>  采用Frame窗體來設(shè)置歡迎界面包括背景圖片及字幕(可以設(shè)計成滾動字幕效果),左上方的菜單條設(shè)計成下拉式。包括“系部插入”、“系部修改”、“系部刪除”、“系部所有專業(yè)查詢”“專業(yè)插入”、“專業(yè)修改”、“專業(yè)刪除”和“專業(yè)所在系部查詢”八項菜單項。</p><p>  ②系部插入基本信息模塊:&

18、lt;/p><p>  由于我們在數(shù)據(jù)庫department表中的id采用的是自增,所以在界面當(dāng)中只要輸入系部名稱就可以了。所以我們直接在Frame窗體中加入一個輸入框,用來填寫系部名字,再加上添加按鈕和取消兩個按鈕進(jìn)行監(jiān)聽。</p><p> ?、坌薷南挡炕拘畔⒛0澹?lt;/p><p>  這個功能我們采用了下拉框的形式,我們下拉框里面的內(nèi)容是系部的id,然后下面的輸

19、出框就顯示出了這個系部的名稱,你可以在這個輸出輸入框中修改內(nèi)容,再加上添加按鈕和取消兩個按鈕進(jìn)行監(jiān)聽。</p><p> ?、芟挡克袑I(yè)查詢基本信息模板:</p><p>  這個功能我們采用了一個二維表來顯示查詢到的結(jié)果,然后加上一個輸入框,里面輸入你想要查詢的系部的名稱,再加上一個添加的按鈕來進(jìn)行監(jiān)聽并觸動事件,就能在二維表中顯示出你所查詢出來的所有專業(yè)。</p>&l

20、t;p>  ⑤系部刪除基本信息模板:</p><p>  這個主要是采用了下拉框的方式,下拉框中的內(nèi)容是從數(shù)據(jù)庫中提取出來的,選中你所要刪除的系部,然后點(diǎn)擊“刪除”按鈕來實(shí)現(xiàn)監(jiān)聽。</p><p>  專業(yè)的插入查詢刪除修改的Frame窗體和系部是差不多的,所以我就不在這里一一介紹咯額,以下有圖片與代碼詳解。</p><p>  綜上,我們小組的模塊就是由以上

21、六部分組成,并將所有內(nèi)容信息在同一窗體中實(shí)現(xiàn),這樣可使系統(tǒng)可視化性提高。</p><p><b>  2 總體設(shè)計</b></p><p><b>  2.1總體設(shè)計圖</b></p><p><b>  圖1</b></p><p>  運(yùn)行程序到系統(tǒng)界面,接著系統(tǒng)界面就會出

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

23、業(yè)插入【2】專業(yè)修改【3】專業(yè)所在系部查詢</p><p>  【4】專業(yè)刪除【5】數(shù)據(jù)庫相關(guān)功能設(shè)定</p><p><b>  2.2 E-R圖</b></p><p>  2.2.1專業(yè)E-R圖</p><p><b>  圖3</b></p><p>  2.2.1系

24、部E-R圖</p><p><b>  圖4</b></p><p>  2.3數(shù)據(jù)庫的設(shè)計與數(shù)據(jù)庫連接的實(shí)現(xiàn)</p><p>  2.3.1:department表的創(chuàng)建</p><p>  create table department</p><p>  (id int primary ke

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

26、rimary key identity(1,1),</p><p>  name varchar(50) not null,</p><p>  did int foreign key (did) references department(id))</p><p><b>  圖6</b></p><p>  2.3.

27、3:數(shù)據(jù)庫的連接</p><p>  新建名為student的數(shù)據(jù)源</p><p>  打開控制面板,找到數(shù)據(jù)源新建一個student的數(shù)據(jù)源。</p><p><b>  圖7</b></p><p>  單擊添加,選擇SQL,并在服務(wù)器內(nèi)添加(local)</p><p><b>

28、  圖8</b></p><p>  注意修改默認(rèn)的數(shù)據(jù)庫,選中自己的數(shù)據(jù)庫student</p><p><b>  圖9</b></p><p>  進(jìn)行數(shù)據(jù)庫的鏈接測試</p><p><b>  圖10</b></p><p><b>  圖11

29、</b></p><p>  在數(shù)據(jù)源管理器中會看到自己添加的數(shù)據(jù)源student。</p><p><b>  3 詳細(xì)設(shè)計</b></p><p> ?。ㄒ?yàn)閷I(yè)這個模塊的功能與系部這個差不多,所里我這里就只舉例了系部這個模塊而已,剩下的看最后的源代碼)</p><p><b>  3.1系部插

30、入模塊</b></p><p>  1.首先導(dǎo)入該程序中所需要用到的java包如下:</p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import javax.swing.*

31、;</p><p>  import java.sql.*;import javax.swing.JOptionPane;</p><p>  2.設(shè)計系部插入這一模塊的框架</p><p>  public class DepartmentAdd extends JFrame implements ActionListener{</p><p&

32、gt;  //組件的實(shí)例化放在類</p><p>  JLabel lblClassName=new JLabel("系部名稱:");//構(gòu)造方法</p><p>  JTextField txtName=new JTextField(20);</p><p>  JButton btnAdd=new JButton("添加&qu

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

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

35、t;  this.setLocationRelativeTo(null); //設(shè)置居中</p><p>  this.btnCancel.addActionListener(new ActionListener(){</p><p>  //實(shí)現(xiàn)動作事件并鏈接數(shù)據(jù)庫將文本框內(nèi)信息存儲到數(shù)據(jù)庫中:</p><p>  public void actionPerfor

36、med(ActionEvent arg0) {</p><p>  // TODO 自動生成方法存根</p><p>  DepartmentAdd.this.setVisible(false);</p><p>  DepartmentAdd.this.dispose();} });</p><p>  this.setLayout(nul

37、l);//將內(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,20); //alt+/:自動完成功能</p>&l

38、t;p>  btnCancel.setBounds(150,80,80,20);</p><p>  this.add(lblClassName);</p><p>  this.add(txtName);</p><p>  this.add(btnAdd);</p><p>  this.add(btnCancel);</p&

39、gt;<p>  btnAdd.addActionListener(this);</p><p>  btnCancel.addActionListener(this);}</p><p>  public static void main(String []args){</p><p>  DepartmentAdd caf=new Departm

40、entAdd();</p><p>  caf.setVisible(true); }</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  if(e.getSource()==btnAdd){</p><p>  //判斷文本框的值是否為空</p>&

41、lt;p>  if(this.txtName.getText().equals("")){</p><p>  JOptionPane.showMessageDialog(null, "系部名不能為空!","提示",JOptionPane.ERROR_MESSAGE,null); }</p><p>  else{try {

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

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

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

45、行insert的操作</p><p>  int count= st.executeUpdate(sql);</p><p>  //step 6:關(guān)閉對象</p><p>  st.close();</p><p>  conn.close();JOptionPane.showMessageDialog(null, "系部添加成功

46、!","提示",JOptionPane.INFORMATION_MESSAGE,null);</p><p>  } catch (ClassNotFoundException e1) {</p><p>  // TODO 自動生成 catch 塊</p><p>  System.out.println("未找到驅(qū)動!&q

47、uot;);</p><p>  e1.printStackTrace();</p><p>  } catch (SQLException e2) {</p><p>  // TODO 自動生成 catch 塊</p><p>  e2.printStackTrace();}}}</p><p>  else{th

48、is.txtName.setText("");}}}</p><p><b>  3.2系部刪除模塊</b></p><p>  1.首先導(dǎo)入該程序中所需要用到的java包如下:</p><p>  import java.awt.*;</p><p>  import java.awt.event.

49、*;</p><p>  import java.sql.Connection;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql.SQLException;</p><p>  import java.sql.Statement;</p><p&

50、gt;  import javax.swing.*;</p><p>  2.設(shè)計系部插入這一模塊的框架</p><p>  public class DepartmentDelete1 {</p><p>  private JComboBox departmentList = null;</p><p>  private JTextF

51、ield pMajoyResult = null;</p><p>  private JFrame jf = null ;</p><p>  public static void main(String[] args) {</p><p>  new DepartmentDelete1().function();}</p><p>  p

52、ublic void bindDepartmentList(){</p><p>  departmentList.removeAllItems();</p><p>  String sql="select name from department;";</p><p>  ResultSet rs =SqlHelper.executeQue

53、ry(sql);</p><p><b>  try {</b></p><p>  while(rs.next()){</p><p>  this.departmentList.addItem(rs.getString(1)); }</p><p>  Statement st=rs.getStatement();&

54、lt;/p><p>  Connection conn=st.getConnection();</p><p>  rs.close();</p><p>  st.close();</p><p>  conn.close();</p><p>  } catch (SQLException e) {</p>

55、<p>  e.printStackTrace();}}</p><p>  //實(shí)現(xiàn)動作事件并鏈接數(shù)據(jù)庫將文本框內(nèi)信息存儲到數(shù)據(jù)庫中:</p><p>  public void actionPerformed(ActionEvent e) {</p><p>  if(e.getSource()==btnModify){</p>&l

56、t;p>  if(txtName.getText().length()==0){</p><p>  JOptionPane.showMessageDialog(null,"系部名不能為空!");</p><p><b>  return; }</b></p><p>  String sql="update

57、 department set name='"+txtName.getText()+"' where id="+cboId.getSelectedItem();</p><p>  int count=SqlHelper.executeUpdate(sql);</p><p>  if(count>0){ JOptionPane.show

58、MessageDialog(null,"系部名更新成功!"); }</p><p>  else{JOptionPane.showMessageDialog(null,"系部名更新失敗!"); } }</p><p>  if(e.getSource()==btnCancel){ dispose();}}</p><p>  

59、public void itemStateChanged(ItemEvent e) {</p><p>  if(e.getStateChange()==ItemEvent.SELECTED){</p><p>  String did= cboId.getSelectedItem()+"";</p><p>  String sql="

60、;select name from department where id="+did;</p><p>  ResultSet rs =SqlHelper.executeQuery(sql);</p><p>  try {rs.next();</p><p>  txtName.setText(rs.getString(1));</p>

61、<p>  Statement st =rs.getStatement();</p><p>  Connection conn= st.getConnection();</p><p>  rs.close();</p><p>  st.close();</p><p>  conn.close();</p>&l

62、t;p>  } catch (SQLException e1) {</p><p>  // TODO 自動生成 catch 塊</p><p>  e1.printStackTrace();}}}}</p><p>  //step3:操作數(shù)據(jù)庫的對象</p><p>  Statement st=conn.createStateme

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

64、;/p><p>  //step5: 執(zhí)行insert的操作</p><p>  int count= st.executeUpdate(sql);</p><p>  //step 6:關(guān)閉對象</p><p>  st.close();</p><p>  conn.close(); JOptionPane.showM

65、essageDialog(null, "系部添加成功!","提示",JOptionPane.INFORMATION_MESSAGE,null);</p><p>  } catch (ClassNotFoundException e1) {</p><p>  System.out.println("未找到驅(qū)動!");</p

66、><p>  e1.printStackTrace();} catch (SQLException e2) {</p><p>  // TODO 自動生成 catch 塊</p><p>  e2.printStackTrace();}}}</p><p><b>  else</b></p><p&g

67、t;  {this.txtName.setText("");}}</p><p><b>  4 系統(tǒng)運(yùn)行結(jié)果</b></p><p><b>  4.1系部添加</b></p><p><b>  圖12</b></p><p>  數(shù)據(jù)庫里面就有這條內(nèi)

68、容9</p><p><b>  圖13</b></p><p><b>  4.2系部修改</b></p><p><b>  圖14</b></p><p>  數(shù)據(jù)庫里面的內(nèi)容修改就如下:</p><p><b>  圖15</b&

69、gt;</p><p><b>  4.3系部刪除</b></p><p><b>  圖16</b></p><p>  數(shù)據(jù)庫里面的內(nèi)容如下:</p><p><b>  圖17</b></p><p>  4.4系部所有專業(yè)查詢</p>

70、<p><b>  圖18</b></p><p><b>  4.5專業(yè)添加</b></p><p><b>  圖19</b></p><p>  數(shù)據(jù)庫里面的內(nèi)容如下:</p><p><b>  圖20</b></p>

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

72、<p><b>  圖23</b></p><p><b>  數(shù)據(jù)庫的內(nèi)容如下:</b></p><p><b>  圖24</b></p><p>  4.8專業(yè)所在系部查詢</p><p><b>  圖25</b></p>

73、<p><b>  5 調(diào)試分析</b></p><p>  1.遇到數(shù)據(jù)庫連接的問題,在配置ODBC數(shù)據(jù)源的時候,找不到服務(wù)器,即使是配置本地的服務(wù)器也是不可以的,最后才發(fā)現(xiàn)我安裝的SQL Server2005是一個快速版本的,與常規(guī)配置不同,最后要輸入本機(jī)的計算機(jī)名字加上一個后綴才可以。</p><p>  2.在添加細(xì)部模塊的時候,遇到了下拉框的問

74、題(在老師還沒教下拉框之前做的),原本是打算要用死的方式來配置這個下拉框,后來想想應(yīng)該要用活的方式來弄下拉框會比較方便,就是下拉框的內(nèi)容直接從數(shù)據(jù)庫中提取出來,這個問題在陳德利的主導(dǎo)下,浪費(fèi)一點(diǎn)時間,問題就解決了。</p><p>  3.在系部所有專業(yè)查詢的模塊中,遇到了一個修改的問題,就是說我們要把查詢,修改,刪除集中在一個版面來解決,在查詢,刪除這兩個功能的順利完成下,到了修改這個功能時便停下了腳步,因?yàn)槔?/p>

75、師教的TABLE只用來顯示,并沒有執(zhí)行的功能,要想執(zhí)行編輯修改的功能必須還要另外的控件,這個過程會比較的麻煩,所以我們選擇了放棄,不過在私底下會自己好好的探尋。</p><p>  4.在系部刪除的模塊中,很容易忽略這樣的一個問題,也就是說在你把系部刪除之后,Major表,也就是專業(yè)表的這個系部的專業(yè)沒有刪除,后來我在刪除系部這個模塊的功能內(nèi)添加了兩個SQL語句,同時刪除專業(yè)表中的數(shù)據(jù)。</p>&

76、lt;p>  5.在刪除系部的模塊中,由于我采用的是下拉框的形式,在刪除之后下拉框還是顯示原來的內(nèi)容,并沒有把刪除的那個系部刪除掉(只是在界面而已,數(shù)據(jù)庫中已經(jīng)刪除掉了),后來我自己想出了一個很笨的辦法,就是在刪除完這個系部之后,把這個Frame直接Dispose掉,然后再讓它自動跳出一個Frame,這個新的Frame就沒有顯示那個已經(jīng)刪除掉的系部名稱。后來我還是向老師請教了問題,老師用了一個控件就是Bind(雖然在JDK里面沒有

77、查到這個),代碼如下:</p><p>  public void bindDepartmentList(){departmentList.removeAllItems();</p><p>  String sql="select name from department;"; </p><p>  ResultSet rs =SqlHelp

78、er.executeQuery(sql);</p><p>  try {while(rs.next()){this.departmentList.addItem(rs.getString(1)); </p><p>  }Statement st=rs.getStatement();</p><p>  Connection conn=st.getConnecti

79、on();s.close();st.close();conn.close();</p><p>  }catch (SQLException e) {e.printStackTrace();}}</p><p>  6.數(shù)據(jù)庫中的department表與major表中的id如果不設(shè)置自增形式的話,在系部或者專業(yè)插入的時候,就會遇到異常。</p><p><b&

80、gt;  6 心得體會</b></p><p>  兩周的課程設(shè)計就這樣結(jié)束了,這期間既有快樂又有煩惱,快樂呢,是因?yàn)槊烤幫暌粋€模塊的內(nèi)容時,并且能夠正確的運(yùn)行出來,心里總會很高興,煩惱呢,也就是改了一個早上的程序還是不能運(yùn)行出正確的結(jié)果,很郁悶….</p><p>  java是一門很靈活的課程,它的形式千變?nèi)f化,格式也是萬千種,如果只是“紙上談兵”,而不是“親臨戰(zhàn)場”,是很

81、難全面的掌握java的,原本我剛拿到書的那一刻,我就覺得這肯定又是一門無聊的理論課,后來證明我是錯的,java并不是純粹的理論課,它是集理論與實(shí)踐于一身的一門課程,既能讓人學(xué)到知識,又能讓人提高動手實(shí)踐的能力…剛拿到這個《學(xué)生成績管理系統(tǒng)》這個課題時,頭就開始痛了,因?yàn)椴恢缽暮巫テ?,后來聽老師所講,模塊化思維能力非常重要,利用結(jié)構(gòu)體,分為一個模塊一個模塊,然后用選擇,循環(huán),依次輸出結(jié)果,同時對文件的操作也是必須有所掌握,我按老師所講,

82、理了理頭緒,就開始編程了…經(jīng)過了四天的編程,調(diào)試,再改,再調(diào)試…然后再經(jīng)老師的指導(dǎo)…..終于完成了…從這兩周的課程設(shè)計中,我明白了課程設(shè)計這個課程是培養(yǎng)我們綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié), 是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.我們從接到課題的迷迷糊糊,到現(xiàn)在能夠完整的,按時的完成這個報告,非常感謝老師的指導(dǎo)還有同學(xué)們的幫忙。經(jīng)歷了這一個星期,我收獲了如下的幾點(diǎn):</p>&l

83、t;p>  1. 程序的設(shè)計思想的精巧的重要性,是不管怎么說都不為過的,好的程序可以讓大家很快的明白你的思想,而且很方便的來實(shí)現(xiàn)它。還有不管這程序有多長,只要你解釋了之后,別人很快就能明白,看程序也比較簡單了。</p><p>  2.java是一門實(shí)踐性較強(qiáng)的課程,為了學(xué)好這門課程,必須在掌握理論知識的同時,加強(qiáng)上機(jī)實(shí)踐。一個人的力量是有限的,要想把課程設(shè)計做的更好,就要學(xué)會參考一定的資料,要善于捕獲資料

84、,吸取別人的經(jīng)驗(yàn),讓自己和別人的思想有機(jī)的結(jié)合起來,得出屬于你自己的靈感。</p><p>  3.學(xué)會“遞進(jìn)”的思想:程序的編寫需要有耐心,有些事情看起來很復(fù)雜,但問題需要一點(diǎn)一點(diǎn)去解決,分析問題,把問題一個一個劃分,劃分成小塊以后就逐個去解決。再總體解決大的問題。這樣做起來不僅有條理也使問題得到了輕松的解決。</p><p>  這次的程序訓(xùn)練培養(yǎng)了我實(shí)際分析問題、編程和動手能力,使我

85、掌握了程序設(shè)計的基本技能,提高了我適應(yīng)實(shí)際,實(shí)踐編程的能力。</p><p>  這次的課程設(shè)計我對于專業(yè)課的學(xué)習(xí)有了更加深刻的認(rèn)識,以為現(xiàn)在學(xué)的知識用不上就加以怠慢,等到想用的時候卻發(fā)現(xiàn)自己的學(xué)習(xí)原來是那么的不扎實(shí)。以后努力學(xué)好每門專業(yè)課,讓自己擁有更多的知識,才能解決更多的問題! </p><p>  總的來說,這次課程設(shè)計讓我獲益匪淺,對數(shù)據(jù)結(jié)構(gòu)也有了進(jìn)一步的理解和認(rèn)識,也讓我相信

86、,只要你要做(just do it),沒有什么困難能難倒我們……</p><p>  “黑夜過去了,我們收獲的是黎明?!边@一句話是我對這次java課程設(shè)計的最后總結(jié)。</p><p>  感謝課程設(shè)計,它的確教會我很多。</p><p>  感謝老師,讓我學(xué)到了更多的知識,給我構(gòu)建了一個知識系統(tǒng)框架。</p><p>  感謝同學(xué),與我風(fēng)雨同

87、舟</p><p><b>  7 附錄</b></p><p><b>  7.1源程序代碼</b></p><p>  7.1.1系部添加模塊的代碼: DepartmentAdd.java</p><p>  package com.zj.stu.prj.ui;</p><p

88、>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import javax.swing.*;</p><p>  import java.sql.*;</p><p>  public class

89、 DepartmentAdd extends JFrame implements ActionListener{</p><p>  //組件的實(shí)例化放在類</p><p>  JLabel lblClassName=new JLabel("系部名稱:");//構(gòu)造方法</p><p>  JTextField txtName=new JTex

90、tField(20);</p><p>  JButton btnAdd=new JButton("添加");</p><p>  JButton btnCancel=new JButton("取消");</p><p>  public DepartmentAdd(){</p><p>  /

91、/set frame</p><p>  this.setSize(300,200); //設(shè)置窗體的大小</p><p>  this.setTitle("添加系部");//設(shè)置窗體的標(biāo)題</p><p>  this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//設(shè)置關(guān)閉</

92、p><p>  this.setResizable(false);//設(shè)置窗體的大小不可變</p><p>  this.setLocationRelativeTo(null); //設(shè)置居中</p><p>  this.setIconImage(new ImageIcon("imgs/1.ico").getImage());//error<

93、/p><p>  this.btnCancel.addActionListener(new ActionListener(){</p><p>  public void actionPerformed(ActionEvent arg0) {</p><p>  // TODO 自動生成方法存根</p><p>  DepartmentAdd.t

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

95、  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(lblClassName);</p>

96、<p>  this.add(txtName);</p><p>  this.add(btnAdd);</p><p>  this.add(btnCancel);</p><p>  btnAdd.addActionListener(this);</p><p>  btnCancel.addActionListener(thi

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

98、/p><p>  public void actionPerformed(ActionEvent e) {</p><p>  //JOptionPane.showMessageDialog(null, "hello");</p><p>  if(e.getSource()==btnAdd){</p><p>  //判斷文

99、本框的值是否為空</p><p>  if(this.txtName.getText().equals("")){</p><p>  JOptionPane.showMessageDialog(null, "系部名不能為空!","提示",JOptionPane.ERROR_MESSAGE,null);</p>&l

100、t;p><b>  }else</b></p><p><b>  {將信息添加到DB</b></p><p>  try {step1:查找驅(qū)動</p><p>  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");</p><p&g

101、t;  //step2:創(chuàng)建連接對象</p><p>  Connection conn=DriverManager.getConnection("jdbc:odbc:studb");</p><p>  //System.out.println("數(shù)據(jù)庫已連接!");</p><p>  //step3:操作數(shù)據(jù)庫的對象&l

102、t;/p><p>  Statement st=conn.createStatement();</p><p>  //step4:準(zhǔn)備需要執(zhí)行的sql 語句</p><p>  String sql="insert into department values('"+txtName.getText()+"')";

103、</p><p>  //System.out.println(sql);</p><p>  //step5: 執(zhí)行insert的操作</p><p>  int count= st.executeUpdate(sql);</p><p>  //step 6:關(guān)閉對象</p><p>  st.close();&l

104、t;/p><p>  conn.close();</p><p>  JOptionPane.showMessageDialog(null, "系部添加成功!","提示",JOptionPane.INFORMATION_MESSAGE,null);</p><p>  } catch (ClassNotFoundException

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

106、;p>  // TODO 自動生成 catch 塊</p><p>  e2.printStackTrace();</p><p>  }}}else{this.txtName.setText("");}}}</p><p>  7.1.2系部修改模塊的代碼: DepartmentModify.java</p><p&g

107、t;  package com.zj.stu.prj.ui;</p><p>  import java.awt.Graphics;</p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  im

108、port java.awt.event.ItemEvent;</p><p>  import java.awt.event.ItemListener;</p><p>  import java.sql.Connection;</p><p>  import java.sql.DriverManager;</p><p>  import

109、 java.sql.ResultSet;</p><p>  import java.sql.SQLException;</p><p>  import java.sql.Statement;</p><p>  import javax.swing.*;</p><p>  public class DepartmentModify ex

110、tends JFrame implements ActionListener,ItemListener{</p><p>  //組件的實(shí)例化放在類</p><p>  JLabel lblClassId=new JLabel("專業(yè)編號:");</p><p>  //JTextField txtClassId=new JTextField

111、(20);</p><p>  JComboBox cboId =new JComboBox();</p><p>  JLabel lblClassName=new JLabel("專業(yè)名稱:");</p><p>  JTextField txtName=new JTextField(20);</p><p>  

112、JButton btnModify=new JButton("修改");</p><p>  JButton btnCancel=new JButton("取消");</p><p>  public DepartmentModify(){</p><p>  //set frame</p><

113、p>  this.setSize(300,200); //設(shè)置窗體的大小</p><p>  this.setTitle("修改系部名稱");//設(shè)置窗體的標(biāo)題</p><p>  this.setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE);//設(shè)置關(guān)閉</p><p>  

114、this.setResizable(false);//設(shè)置窗體的大小不可變</p><p>  //this.setClosable(true);</p><p>  this.setLocation(200, 200);</p><p>  this.setLocationRelativeTo(null); //設(shè)置居中</p><p> 

115、 MyPanel contentPane=new MyPanel();</p><p>  this.setContentPane(contentPane);</p><p>  contentPane.setLayout(null);</p><p>  lblClassId.setBounds(30, 10, 80, 20);</p><p

116、>  cboId.setBounds(120, 10, 150, 20);</p><p>  lblClassName.setBounds(30,40, 80, 20);</p><p>  txtName.setBounds(120,40,150,20);</p><p>  btnModify.setBounds(60,80,80,20); //al

117、t+/:自動完成功能</p><p>  btnCancel.setBounds(160,80,80,20);</p><p>  contentPane.add(lblClassId);</p><p>  contentPane.add(cboId);</p><p>  contentPane.add(lblClassName);<

118、;/p><p>  contentPane.add(txtName);</p><p>  contentPane.add(btnModify);</p><p>  contentPane.add(btnCancel);</p><p>  btnModify.addActionListener(this);</p><p&

119、gt;  btnCancel.addActionListener(this);</p><p>  //將班級編號添加到cboId中</p><p>  ResultSet rs =SqlHelper.executeQuery("select id from department ");</p><p>  try {while(rs.next(

120、)){</p><p>  String id=rs.getString(1);</p><p>  cboId.addItem(id); }</p><p>  Statement st =rs.getStatement();</p><p>  Connection conn= st.getConnection();</p>

121、<p>  rs.close();st.close();conn.close();} catch (SQLException e) {</p><p>  // TODO 自動生成 catch 塊</p><p>  e.printStackTrace();}</p><p>  cboId.addItemListener(this); }</p&

122、gt;<p>  public static void main(String []args){</p><p>  DepartmentModify caf=new DepartmentModify();</p><p>  caf.setVisible(true); }</p><p>  public void actionPerformed(

123、ActionEvent e) {</p><p>  if(e.getSource()==btnModify){</p><p>  if(txtName.getText().length()==0){</p><p>  JOptionPane.showMessageDialog(null,"系部名不能為空!"); return; }</

124、p><p>  String sql="update department set name='"+txtName.getText()+"' where id="+cboId.getSelectedItem();</p><p>  int count=SqlHelper.executeUpdate(sql);</p>&l

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論