數(shù)據(jù)庫(kù)課程設(shè)計(jì)--學(xué)生成績(jī)管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  《數(shù)據(jù)庫(kù)系統(tǒng)概論》</b></p><p><b>  課程設(shè)計(jì)</b></p><p><b>  實(shí)驗(yàn)報(bào)告書</b></p><p>  設(shè)計(jì)課題: 學(xué)生成績(jī)管理系統(tǒng) </p><p><b>  程序運(yùn)行平臺(tái)<

2、;/b></p><p>  編程工具:Netbeans</p><p><b>  編程語(yǔ)言:JAVA</b></p><p>  數(shù)據(jù)庫(kù):SQL SERVER 2005</p><p>  具體操作如下:新建SutGradeManage項(xiàng)目,然后再編寫相應(yīng)的java文件,再編譯,鏈接,執(zhí)行等,用戶就可登錄進(jìn)該系

3、統(tǒng)進(jìn)行相應(yīng)的操作。</p><p><b>  總體設(shè)計(jì)</b></p><p>  該系統(tǒng)可以添加、修改、查找、顯示和刪除學(xué)生的信息</p><p><b>  程序的主要功能</b></p><p><b>  4.1添加功能</b></p><p>

4、;  添加一個(gè)學(xué)生的基本信息,包括student_ID,student_Name,student_Sex,born_Date,class_NO,tele_Number,ru_Date,address,comment。</p><p><b>  4.2刪除功能</b></p><p>  能夠?qū)σ粋€(gè)學(xué)生的信息進(jìn)行刪除按student_ID進(jìn)行刪除。</p>

5、<p><b>  4.3顯示功能</b></p><p>  顯示所有學(xué)生的主要信息包括student_ID,student_Name,student_Sex,result!</p><p><b>  4.4查找功能</b></p><p>  根據(jù)你鍵入的student_ID,顯示其詳細(xì)信息!</

6、p><p><b>  4.5修改功能</b></p><p>  對(duì)學(xué)生的信息和成績(jī)進(jìn)行修改</p><p><b>  。</b></p><p><b>  數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫(kù)設(shè)計(jì)是要在一個(gè)給定的應(yīng)用環(huán)境(DBMS)中,通過

7、合理的邏輯設(shè)計(jì)和有效的物理設(shè)計(jì),構(gòu)造較優(yōu)的數(shù)據(jù)庫(kù)模式、子模式,建立數(shù)據(jù)庫(kù)和設(shè)計(jì)應(yīng)用程序,滿足用戶的各種信息需求。</p><p>  5.1數(shù)據(jù)庫(kù)概念設(shè)計(jì)</p><p>  在數(shù)據(jù)庫(kù)設(shè)計(jì)中,先要對(duì)系統(tǒng)分析所得的數(shù)據(jù)字典中的數(shù)據(jù)存儲(chǔ)進(jìn)行分析,然后得出系統(tǒng)的關(guān)系模式,可以采用實(shí)體——聯(lián)系圖(簡(jiǎn)稱E——R圖)的方法進(jìn)行數(shù)據(jù)結(jié)構(gòu)的描述。E——R圖由實(shí)體、屬性、聯(lián)系三部分組成。</p>

8、<p><b>  5.2表結(jié)構(gòu)</b></p><p><b>  5.3視圖</b></p><p><b>  模塊分析</b></p><p><b>  6.1 登陸界面</b></p><p>  主要代碼:public Logi

9、nUI(String title)</p><p>  {this.setTitle(title);</p><p>  Border border = BorderFactory.createBevelBorder(BevelBorder.RAISED,Color.WHITE,Color.GRAY);</p><p>  Login = new JLabel(&

10、quot;學(xué)生成績(jī)管理系統(tǒng)");</p><p>  Login.setHorizontalAlignment(JLabel.CENTER);</p><p>  Login.setFont(new Font("宋體",Font.BOLD,20));</p><p>  Tip = new JLabel();</p>&l

11、t;p>  Tip.setForeground(Color.RED);</p><p>  Tip.setHorizontalAlignment(JLabel.CENTER);</p><p>  Tip.setFont(new Font("宋體",Font.PLAIN,15));</p><p>  nameLabel = new JLa

12、bel("用戶名:");</p><p>  nameLabel.setHorizontalAlignment(JLabel.RIGHT);</p><p>  passwordLabel = new JLabel("密碼:");</p><p>  passwordLabel.setHorizontalAlignment(J

13、Label.RIGHT);</p><p>  nameField = new JTextField();</p><p>  nameField.addKeyListener(</p><p>  new KeyListener()</p><p><b>  {</b></p><p>  p

14、ublic void keyPressed(KeyEvent e)</p><p><b>  {</b></p><p>  if(e.getKeyCode() == KeyEvent.VK_ENTER)</p><p><b>  {</b></p><p>  passwordField.gr

15、abFocus();</p><p><b>  }</b></p><p><b>  }</b></p><p>  public void keyTyped(KeyEvent e)</p><p><b>  { }</b></p><p>  p

16、ublic void keyReleased(KeyEvent e)</p><p><b>  { }</b></p><p><b>  });</b></p><p>  passwordField = new JPasswordField();</p><p>  passwordField

17、.addKeyListener(new KeyListener()</p><p><b>  {</b></p><p>  public void keyPressed(KeyEvent e)</p><p><b>  {</b></p><p>  if(e.getKeyCode() ==

18、KeyEvent.VK_ENTER)</p><p>  {userLogin();</p><p><b>  }</b></p><p><b>  }</b></p><p>  public void keyTyped(KeyEvent e)</p><p>&l

19、t;b>  { }</b></p><p>  public void keyReleased(KeyEvent e)</p><p><b>  { }</b></p><p><b>  });</b></p><p>  passwordField.setEchoChar(&

20、#39;*');</p><p>  loginButton = new JButton("登錄");</p><p>  loginButton.setBorder(border);</p><p>  exitButton = new JButton("退出");</p><p>  exi

21、tButton.setBorder(border);</p><p>  loginButton.addActionListener(</p><p>  new ActionListener()</p><p><b>  {</b></p><p>  public void actionPerformed(Acti

22、onEvent e)</p><p><b>  {</b></p><p>  userLogin();</p><p><b>  }</b></p><p><b>  });</b></p><p>  6.2學(xué)生信息添加界面</p>

23、<p>  學(xué)生信息添加部分代碼: public StudentGradFrame(String title)</p><p><b>  {</b></p><p>  studentId = new JLabel("學(xué)號(hào):");</p><p>  studentId.setHorizontalAlignm

24、ent(JLabel.RIGHT);</p><p>  courseId = new JLabel("課程編號(hào):");</p><p>  courseId.setHorizontalAlignment(JLabel.RIGHT);</p><p>  school = new JLabel("學(xué)年:");</p>

25、;<p>  school.setHorizontalAlignment(JLabel.RIGHT);</p><p>  termId = new JLabel("學(xué)期:");</p><p>  termId.setHorizontalAlignment(JLabel.RIGHT);</p><p>  grade = new

26、JLabel("分?jǐn)?shù):");</p><p>  grade.setHorizontalAlignment(JLabel.RIGHT);</p><p>  studentIdField = new JTextField();</p><p>  studentIdField.grabFocus();</p><p>  

27、studentIdField.addKeyListener(</p><p>  new KeyListener()</p><p><b>  {</b></p><p>  public void keyPressed(KeyEvent e)</p><p><b>  {</b></p&

28、gt;<p>  if(e.getKeyCode() == KeyEvent.VK_ENTER)</p><p>  { courseIdField.grabFocus(); }</p><p><b>  }</b></p><p>  public void keyTyped(KeyEvent e)</p>&l

29、t;p><b>  {</b></p><p><b>  }</b></p><p>  public void keyReleased(KeyEvent e)</p><p><b>  {</b></p><p><b>  }</b><

30、/p><p><b>  });</b></p><p>  6.3學(xué)生成績(jī)查詢界面</p><p>  首先由用戶輸入要查找的學(xué)生學(xué)號(hào)等,然后查找數(shù)據(jù)庫(kù)中的該學(xué)生信息</p><p>  主要代碼:public QueryExam(String title)</p><p><b>  {

31、</b></p><p>  idLabel = new JLabel("請(qǐng)選擇查詢方式:");</p><p>  idLabel.setFont(new Font("隸書",Font.BOLD,20));</p><p>  idField = new JTextField();</p><

32、p>  idField.setEditable(false);</p><p>  jRByNum = new JRadioButton("課程編號(hào)");</p><p>  jRByNum.addActionListener(</p><p>  new ActionListener()</p><p><b

33、>  {</b></p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  {</b></p><p><b>  Flag = 0;</b></p><p>  idLabel.setText("

34、;請(qǐng)輸入課程編號(hào):");</p><p>  idField.setEditable(true);</p><p>  idField.grabFocus();</p><p><b>  }</b></p><p><b>  });</b></p><p>  

35、jRByName = new JRadioButton("課程名稱");</p><p>  jRByName.addActionListener(</p><p>  new ActionListener()</p><p><b>  {</b></p><p>  public void act

36、ionPerformed(ActionEvent e)</p><p><b>  {</b></p><p><b>  Flag = 1;</b></p><p>  idLabel.setText("請(qǐng)輸入課程名稱:");</p><p>  idField.setEdit

37、able(true);</p><p>  idField.grabFocus();</p><p><b>  }</b></p><p><b>  });</b></p><p>  jRByTerm = new JRadioButton("學(xué)期");</p>

38、<p>  jRByTerm.addActionListener(</p><p>  new ActionListener()</p><p><b>  {</b></p><p>  public void actionPerformed(ActionEvent e)</p><p><b>

39、  {</b></p><p><b>  Flag = 2;</b></p><p>  idLabel.setText("請(qǐng)輸入學(xué)期:");</p><p>  idField.setEditable(true);</p><p>  idField.grabFocus();</

40、p><p><b>  }</b></p><p><b>  });</b></p><p>  6.4學(xué)生成績(jī)修改界面</p><p>  首先由用戶輸入要修改的學(xué)生的成績(jī)</p><p>  主要代碼:public UpdateGrade(String title)<

41、/p><p><b>  {</b></p><p>  idLabel = new JLabel("請(qǐng)輸入學(xué)號(hào):");</p><p>  idLabel.setFont(new Font("隸書",Font.BOLD,20));</p><p>  idField = new JT

42、extField();</p><p>  idField.grabFocus();</p><p>  studentId = new JLabel("學(xué)號(hào):");</p><p>  studentId.setHorizontalAlignment(JLabel.RIGHT);</p><p>  courseId =

43、 new JLabel("課程編號(hào):");</p><p>  courseId.setHorizontalAlignment(JLabel.RIGHT);</p><p>  school = new JLabel("學(xué)年:");</p><p>  school.setHorizontalAlignment(JLabel.

44、RIGHT);</p><p>  termId = new JLabel("學(xué)期:");</p><p>  termId.setHorizontalAlignment(JLabel.RIGHT);</p><p>  grade = new JLabel("分?jǐn)?shù):");</p><p>  grad

45、e.setHorizontalAlignment(JLabel.RIGHT);</p><p>  studentIdField = new JTextField();</p><p>  courseIdField = new JTextField();</p><p>  schoolField = new JTextField();</p>&l

46、t;p>  termIdField = new JTextField();</p><p>  gradeField = new JTextField();</p><p>  studentIdField.setEditable(false);</p><p>  courseIdField.setEditable(false);</p>&l

47、t;p>  schoolField.setEditable(false);</p><p>  termIdField.setEditable(false);</p><p>  gradeField.setEditable(false);</p><p>  bQuery = new JButton("查詢");</p>&

48、lt;p>  bQuery.addActionListener(</p><p>  new ActionListener()</p><p><b>  {</b></p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  {&

49、lt;/b></p><p>  if(!gradeDAO.queryGrade(idField.getText()))</p><p><b>  {</b></p><p>  gradeDAO.viewGrade(idField.getText(),studentIdField,courseIdField,schoolField,t

50、ermIdField,gradeField);</p><p>  courseIdField.setEditable(true);</p><p>  schoolField.setEditable(true);</p><p>  termIdField.setEditable(true);</p><p>  gradeField.se

51、tEditable(true);</p><p>  bUpdate.setEnabled(true);</p><p>  bQuery.setEnabled(false);</p><p><b>  }</b></p><p><b>  else</b></p><p&g

52、t;<b>  {</b></p><p>  JOptionPane.showMessageDialog(new JFrame(),"該學(xué)號(hào)不存在,重新填寫");</p><p>  idField.setText("");</p><p>  idField.grabFocus();</p>

53、;<p><b>  }</b></p><p><b>  }</b></p><p><b>  });</b></p><p><b>  系統(tǒng)測(cè)試</b></p><p><b>  (學(xué)生成績(jī)添加圖)</b>&

54、lt;/p><p><b>  (學(xué)生信息查詢圖)</b></p><p><b> ?。ㄐ薷膶W(xué)生成績(jī)圖)</b></p><p>  (學(xué)生成績(jī)錄入成功圖)</p><p><b>  實(shí)驗(yàn)總結(jié)</b></p><p>  通過這次數(shù)據(jù)庫(kù)課程設(shè)計(jì),讓我對(duì)數(shù)

55、據(jù)庫(kù)有了更深層次的理解,不僅僅停留在理論知識(shí)的層面。對(duì)數(shù)據(jù)庫(kù)的操作及運(yùn)用也更熟悉了。在設(shè)計(jì)的過程中遇到的問題,不懂了就在網(wǎng)絡(luò)上搜索,書籍上查詢以及同學(xué)們的幫助,我了解了更多的知識(shí)。并且對(duì)軟件的設(shè)計(jì)有了更深的體會(huì)。積累了軟件開發(fā)的經(jīng)驗(yàn)。</p><p>  這次試驗(yàn)我用是java編寫的一個(gè)圖形界面來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的應(yīng)用,通過一些java中的窗體結(jié)構(gòu)JFrame來(lái)實(shí)現(xiàn)的,運(yùn)用了事件監(jiān)聽,按鈕事件等,這個(gè)程序界面不是很好看

56、,但是也用到了很多編程知識(shí),同時(shí),我也要感謝在設(shè)計(jì)過程中幫助過我的老師和同學(xué)。</p><p><b>  參考文獻(xiàn)</b></p><p>  《數(shù)據(jù)庫(kù)系統(tǒng)及應(yīng)用》 戴小平 主編 中國(guó)科學(xué)技術(shù)大學(xué)出版社 2010.8</p><p>  《數(shù)據(jù)庫(kù)系統(tǒng)概論》 王珊  主編  清華大學(xué)出版社  2009<

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論