java+SQL教學管理系統(tǒng)_第1頁
java+SQL教學管理系統(tǒng)_第2頁
java+SQL教學管理系統(tǒng)_第3頁
java+SQL教學管理系統(tǒng)_第4頁
java+SQL教學管理系統(tǒng)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 - 32 - 摘要本報告主要介紹了運用JAVA基礎語言、面向對象程序設計、圖形用戶界面編程、訪問數(shù)據(jù)庫等知識所設計開發(fā)出的小型學生信息管理系統(tǒng)。共分為課題概述、數(shù)據(jù)庫設計的過程、系統(tǒng)設計與實現(xiàn)、取得結果、總結與體會、主要參考文獻、附錄(原程序代碼、注釋)六大部分。每一部分都對本次課程設計過程及成果進行了詳細的介紹。例如:在課題概述中,讀者可了解到課程設計的主要任務及要求;在取得結果中,展示了所實現(xiàn)的界面效果;在總結與體會中,可了解到在課程設計中所需注意的事項等內(nèi)容。關鍵字: JAVA 數(shù)據(jù)庫 課程設計目錄 TOC o 1-3 h z u HYPERLINK l _Toc407900306 一

2、、課題概述 PAGEREF _Toc407900306 h - 3 - HYPERLINK l _Toc407900307 1.1任務 PAGEREF _Toc407900307 h - 3 - HYPERLINK l _Toc407900308 1.2目的 PAGEREF _Toc407900308 h - 3 - HYPERLINK l _Toc407900309 1.3要求 PAGEREF _Toc407900309 h - 3 - HYPERLINK l _Toc407900310 二、數(shù)據(jù)庫設計的過程 PAGEREF _Toc407900310 h - 3 - HYPERLINK l

3、 _Toc407900311 2.1 需求分析 PAGEREF _Toc407900311 h - 3 - HYPERLINK l _Toc407900312 2.2 概念結構設計 PAGEREF _Toc407900312 h - 4 - HYPERLINK l _Toc407900313 2.3 邏輯結構設計 PAGEREF _Toc407900313 h - 4 - HYPERLINK l _Toc407900314 2.4 物理結構設計 PAGEREF _Toc407900314 h - 5 - HYPERLINK l _Toc407900315 2.5 數(shù)據(jù)庫實施和運行維護 PAGE

4、REF _Toc407900315 h - 6 - HYPERLINK l _Toc407900316 三、系統(tǒng)設計與實現(xiàn) PAGEREF _Toc407900316 h - 7 - HYPERLINK l _Toc407900317 3.1 系統(tǒng)設計 PAGEREF _Toc407900317 h - 7 - HYPERLINK l _Toc407900318 3.1.1該系統(tǒng)實現(xiàn)的大致功能 PAGEREF _Toc407900318 h - 7 - HYPERLINK l _Toc407900319 3.1.2 開發(fā)環(huán)境和軟件 PAGEREF _Toc407900319 h - 7 - H

5、YPERLINK l _Toc407900320 3.2設計思路 PAGEREF _Toc407900320 h - 7 - HYPERLINK l _Toc407900321 3.2.1 系統(tǒng)模塊圖 PAGEREF _Toc407900321 h - 7 - HYPERLINK l _Toc407900322 3.3 采取方案 PAGEREF _Toc407900322 h - 8 - HYPERLINK l _Toc407900323 3.3.1登錄界面 PAGEREF _Toc407900323 h - 8 - HYPERLINK l _Toc407900324 3.3.2注冊界面 PA

6、GEREF _Toc407900324 h - 8 - HYPERLINK l _Toc407900325 3.3.3管理員界面 PAGEREF _Toc407900325 h - 8 - HYPERLINK l _Toc407900326 3.4 學生主頁 PAGEREF _Toc407900326 h - 9 - HYPERLINK l _Toc407900327 3.5 教師主頁 PAGEREF _Toc407900327 h - 9 - HYPERLINK l _Toc407900328 四、取得結果 PAGEREF _Toc407900328 h - 9 - HYPERLINK l

7、_Toc407900329 4.1 登錄界面 PAGEREF _Toc407900329 h - 9 - HYPERLINK l _Toc407900330 3.2 管理員界面 PAGEREF _Toc407900330 h - 10 - HYPERLINK l _Toc407900331 3.3 學生主頁 PAGEREF _Toc407900331 h - 11 - HYPERLINK l _Toc407900332 3.4 教師主頁 PAGEREF _Toc407900332 h - 11 - HYPERLINK l _Toc407900333 3.3 錄入界面 PAGEREF _Toc4

8、07900333 h - 12 - HYPERLINK l _Toc407900334 3.4 查詢界面 PAGEREF _Toc407900334 h - 13 - HYPERLINK l _Toc407900335 3.5 修改/刪除界面 PAGEREF _Toc407900335 h - 13 - HYPERLINK l _Toc407900336 五、總結與體會 PAGEREF _Toc407900336 h - 14 - HYPERLINK l _Toc407900337 六、主要參考文獻 PAGEREF _Toc407900337 h - 15 - HYPERLINK l _Toc

9、407900338 七、附錄(部分原程序代碼、注釋等) PAGEREF _Toc407900338 h - 15 - HYPERLINK l _Toc407900339 6.1 登錄 PAGEREF _Toc407900339 h - 15 - HYPERLINK l _Toc407900340 6.2 課程信息維護界面 PAGEREF _Toc407900340 h - 19 -一、課題概述1.1任務根據(jù)所學JAVA及SQL Server數(shù)據(jù)庫知識,設計出符合要求的學生信息管理系統(tǒng)。本系統(tǒng)可實現(xiàn)管理系統(tǒng)中的登錄、注冊及增、刪、改、查等功能,以實現(xiàn)前臺對后臺數(shù)據(jù)庫的管理。1.2目的1、通過本次

10、課程設計的實踐操作,鞏固和加深對高級語言程序設計課程的基本知識的理解和掌握,掌握java語言編程和程序調試的基本技能;2、利用java語言進行基本的軟件設計,提高運用java語言解決實際問題的能力;3、充分掌握面向用戶界面中各組件及布局的運用;4、進一步訓練自頂向下逐步求精策略,并應用于實際問題; 1.3要求要求運用JAVA及SQL數(shù)據(jù)庫等方面的知識,對學生信息管理系統(tǒng)的開發(fā),在功能上實現(xiàn)管理系統(tǒng)中增、刪、改、查;在界面上注意設計的美觀程度。并能夠通過登陸系統(tǒng)進入主界面,然后通過主界面管理學生信息。二、數(shù)據(jù)庫設計的過程2.1 需求分析(1) 用戶需求此學生成績管理系統(tǒng)的用戶分為管理員,教師和學

11、生,其中管理員可以實現(xiàn)對學生和課程基本信息的增、刪、查、改等操作;而學生只能查看基本信息和成績信息,所以合理分配用戶的權限顯得十分重要。以用戶登錄用戶名和密碼來核對確認用戶,管理好這些用戶對系統(tǒng)安全有十分重要的影響。(2) 功能需求 登錄模塊:主要分為老師,管理員和學生,對于登錄后,按照各自的需求進一步進行。 基本信息管理模塊:管理員實現(xiàn)對學生信息的增、刪、查、改等操作;學生可以查看基本信息和成績信息。2.2 概念結構設計2.3 邏輯結構設計將概念設計階段的E-R圖轉換成關系模式,設計出“學生管理系統(tǒng)”的邏輯結構,并根據(jù)程序需要設計視圖。1)關系設計數(shù)據(jù)庫關系圖: 學生(學號,密碼,姓名,性別

12、,年級,專業(yè)) 教師(教師號,密碼,姓名,性別,院系) 課程(課程號,課程名,學分,課時) 管理員(管理員賬號,密碼)學生選課(學號,課程號,成績)將關系模式轉換成為具體的RDBMS中支持的關系數(shù)據(jù)模型(表結構)。本系統(tǒng)在SQL Server 2008 數(shù)據(jù)庫管理系統(tǒng)中共設計5個表,分別為學生表、教師表、課程表、學生選課表、管理員表,表結構如圖所示。 2)視圖1:可用于管理員查詢每門課的選修人數(shù);視圖2可用于管理員查詢每門課的平均成績。2.4 物理結構設計索引查詢1)2)2.5 數(shù)據(jù)庫實施和運行維護在SQL Server2008中創(chuàng)建數(shù)據(jù)庫“教學庫”,創(chuàng)建其中的5個表,并為表創(chuàng)建索引然后向表中

13、添加數(shù)據(jù),創(chuàng)建2個視圖。再根據(jù)程序功能設計一個存儲過程和一個表值函數(shù)。1)存儲過程teacherQElect,用于實現(xiàn)教師查詢學生選課情況 create PROCEDURE teacherQElect 課程號 varchar(6)As if(SELECT COUNT(*) FROM 學生,學生選課 where 學生.學號=學生選課.學號 and 課程號=課程號)0SELECT 學生.學號,姓名,年級,專業(yè) from 學生,學生選課where 學生.學號=學生選課.學號 and 課程號=課程號 order by 專業(yè),年級else select 0 as 選課人數(shù)return結果:2)一個表值函

14、數(shù)stuscore,用于實現(xiàn)學生查詢考試成績。三、系統(tǒng)設計與實現(xiàn)3.1 系統(tǒng)設計3.1.1該系統(tǒng)實現(xiàn)的大致功能1用戶登錄界面。該界面可以進行管理員、教師、學生登錄。用戶通過驗證通過后方可進入管理系統(tǒng)。一定程度上保證了信息安全性,防止他人未經(jīng)允許篡改學生信息;2. 注冊新用戶界面。該界面可創(chuàng)建新的用戶信息,完成注冊;3學生主頁。通過學生賬號登錄后,進入此界面進行課程查詢及個人信息修改;4管理員主頁。管理員可以通過此界面進行學生信息及課程信息;5教師主頁。教師可以通過此界面進行學生成績錄入及個人信息修改。3.1.2 開發(fā)環(huán)境和軟件(1)操作系統(tǒng):Windows XP(2)數(shù)據(jù)庫軟件:SQL Ser

15、ver 2005 (3)Java開發(fā)工具:Eclipse3.2設計思路學生信息管理系統(tǒng),可用于學生的信息管理、查詢、更新與維護,使用方便,圖形界面清晰明了。該系統(tǒng)運用java語言編寫,用SQLServer2005數(shù)據(jù)庫作為后臺的數(shù)據(jù)庫進行信息的存儲,用SQL語句完成添加、查詢、修改、刪除的操作。用JDBC驅動實現(xiàn)前臺Java與后臺SQL Server數(shù)據(jù)庫的連接。Java語言跨平臺性強,可以在windows,linux,ubuntu等多種系統(tǒng)下使用,方便簡單,安全性強。SQLServer2008數(shù)據(jù)庫高效安全,兩者結合可相互利用各自的優(yōu)勢。3.2.1 系統(tǒng)模塊圖3.3 采取方案3.3.1登錄界

16、面1、先新建一個框架,在框架上添加所需標簽(“歡迎使用學生信息管理系統(tǒng)”,“登錄人員”,“用戶名”,“密碼”)、文本框和按鈕(“登錄”,“重置”,“注冊”)。2、點擊“登錄”后,根據(jù)所選擇的登錄人員,對登錄信息進行判斷。若用戶名與密碼輸入正確,登錄到主界面;若輸入錯誤,提示“登錄失敗”。點擊“重置”時,文本框清空。點擊“注冊”時,彈出“注冊新用戶”界面。3.3.2注冊界面用戶按要求輸入信息,注冊界面上包含有兩個按鈕(“注冊”,“取消”),點擊注冊按鈕,注冊成功,新數(shù)據(jù)添加到數(shù)據(jù)庫的“用戶表”中。點擊“重置”后,文本框清空。3.3.3管理員界面此界面中添加有菜單(包含學生信息錄入、修改或刪除、查

17、詢及退出等菜單項)、工具條(添加有包含學生信息錄入、修改或刪除、查詢及退出等按鈕)和四個面板。1、打開主界面,顯示第一個面板“歡迎進入學生信息管理系統(tǒng)”。2、通過點擊學生信息錄入菜單項或按鈕,顯示第二個面板。面板上添加有“添加”,“重置”,“返回”三個按鈕。點擊添加按鈕,可將信息添加到數(shù)據(jù)庫的“student”表中;點擊“重置”按鈕,將文本框中的信息清空;點擊“返回”,返回到第一面板。3、點擊學生信息查詢菜單項或按鈕,顯示第三個面板。面板上添加有文本框及下拉列表中。輸入查詢條件,選擇查詢項目,所需信息便顯示在列表中。4、點擊學生信息修改/刪除菜單項或按鈕,顯示第四個面板。面板上添加有查詢、修改

18、、刪除三個按鈕。點擊查詢,文本框中顯示滿足學號條件的學生信息;點擊修改,信息修改成功;點擊刪除,表中信息被刪除。5、點擊退出按鈕,退出主界面。3.4 學生主頁此界面中添加有菜單(包含課程信息查詢、個人資料修改及退出等菜單項)、工具條(添加有包含課程信息查詢、個人資料修改及退出等按鈕)。3.5 教師主頁此界面中添加有菜單(包含學生成績錄入、個人信息修改及退出等菜單項)、工具條(添加有包含學生成績錄入、個人信息修改及退出等按鈕)。四、取得結果4.1 登錄界面設計并開發(fā)出了滿足實驗要求的“學生信息管理系統(tǒng)”,用戶可以通過登錄界面進入系統(tǒng)對數(shù)據(jù)進行管理,進一步對數(shù)據(jù)進行錄入、修改和查詢。登錄界面如下圖

19、所示: 若用戶不存在,則需要進入注冊界面進行用戶注冊。注冊界面如下圖所示:3.2 管理員界面課程信息維護:學生信息維護:3.3 學生主頁3.4 教師主頁如上述界面所示,用戶可通過工具欄的按鈕進行信息管理。另外,也可通過菜單欄進入,如下:3.3 錄入界面在信息錄入時,用戶需根據(jù)要求,各項數(shù)據(jù)不可為空,若為空,系統(tǒng)將提醒用戶。在各項數(shù)據(jù)輸入完畢后,點擊“添加”,便可將新數(shù)據(jù)錄入到已鏈接好的數(shù)據(jù)庫中。若已輸入數(shù)據(jù)有誤,用戶可點擊“重置”按鈕,對數(shù)據(jù)進行清除。點擊“返回”按鈕,可使系統(tǒng)回到主界面。錄入界面如下圖所示:3.4 查詢界面在進行信息查詢時,用戶可以通過學號、姓名和所在系,并根據(jù)所需查詢條件將

20、所需信息顯示出來,或直接點擊學號,可顯示全部信息,界面簡潔明了。查詢界面如下圖所示:3.5 修改/刪除界面在信息修改、刪除功能中,界面效果是錄入界面與查詢界面的結合,但在這一功能中,不可對學號進行編輯。信息修改完畢后,點擊“確定”,就實現(xiàn)了對原始信息的修改。修改/刪除界面如下圖所示:五、總結與體會課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學生實際工作能力的具體訓練和考察過程。通過兩個星期的課程設計,運用JAVA和SQL數(shù)據(jù)庫的相關知識,設計并開發(fā)出了“學生信息管理系統(tǒng)”。并實現(xiàn)了登錄、注冊、增加、修改、刪除、查詢信息等功能,完成了實驗任務。

21、另外,在設計過程中,由于對知識的掌握程度不夠,遇到了一些問題,1、包的引入。在設計初期設置顏色時,未引入顏色包,造成對“Color”無法識別的問題;2、在實現(xiàn)事件功能時,需要加連接數(shù)據(jù)庫的語句( con=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433; DatabaseName=test,sa,123456); ),以獲取數(shù)據(jù)庫中的數(shù)據(jù);3. 在向主界面添加組件時,不可以將同一組件添加到多個面板中,否則會造成界面空白,組件無法顯示;4. 在注冊用戶時,系統(tǒng)提醒“INSERT 語句與 FOREIGN KEY 約束FK_用戶_

22、student沖突。該沖突發(fā)生于數(shù)據(jù)庫test,表student,Column學號”。此問題錯在,用戶中的用戶名與student存在外鍵關系,插入的對應字段值需要在student中存在。所以,需要先將信息添加到student表中,再添加到用戶表中;5.在運行代碼后,出現(xiàn)了組件不顯示的問題。在添加完組件后寫入“validate();”,便可解決此問題;6. 在設置背景顏色時,發(fā)現(xiàn)面板不可以設置背景顏色,需要先在面板上添加一個設置好的標簽,再向標簽上添加組件。經(jīng)過兩個星期的課程設計,總體感覺自己在面向對象程序設計方面有了一定的提高。也讓我深刻的認識到一些事情:1.編寫程序時需目的明確,思路清晰。2

23、.代碼書寫要規(guī)范,養(yǎng)成正確書寫的良好習慣,以避免更多錯誤的發(fā)生。3.編程時要充分利用學過的知識,熟練掌握,融匯貫通,將理論與實踐相結合。 另外,感謝老師能給出這次課程設計,讓我們意識到,對于知識要一步一個腳印,多加練習。六、主要參考文獻1 耿祥義JSP基礎編程M清華大學出版社,2004.55-1622 薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論(第三版)M.北京:高等教育出版社,1998.3 劉慧琳.Java程序設計教程(第二版)M.人民郵電出版社,2013.七、附錄(部分原程序代碼、注釋等)6.1 登錄import java.awt.Choice;import java.awt.Color;import

24、java.awt.Font;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import jav

25、a.sql.Statement;import javax.swing.*;public class 登錄 implements ActionListener,ItemListenerprivate JFrame frame;private JLabel l1,l2,l3,l4,l5;private TextField t1;private TextField t2;private JButton button1,button2,button3; Connection con; Statement sql; ResultSet rs; Choice c=new Choice();public 登

26、錄()frame = new JFrame();frame.setResizable(false);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setBounds(200,100,672,420);frame.setLayout(null); l1 = new JLabel();ImageIcon icon = new ImageIcon(die.jpg);l1.setIcon(icon);frame.add(l1);l1.setBounds(0,0,672, 420);l1.setLayout(null);Font f

27、ont1 = new Font(楷體_GB2312,1,30) ;Font font2 = new Font(幼圓,0,18) ;l5=new JLabel(登錄人員);l5.setFont(font2) ;l5.setForeground(Color.WHITE); c.add(管理員); /添加下拉表 c.add(教師); c.add(學生); c.addItemListener(this); l1.add(l5);l5.setBounds(155, 100, 200, 50);l1.add(c);c.setBounds(250, 120, 200, 50);l2=new JLabel(歡

28、迎使用學生信息管理系統(tǒng));l2.setFont(font1) ;l2.setForeground(Color.MAGENTA);l1.add(l2);l2.setBounds(125, 50, 400, 50);l3=new JLabel(用戶名);l3.setFont(font2) ;l3.setForeground(Color.WHITE);l1.add(l3);l3.setBounds(155, 151, 100, 50);l4=new JLabel(密 碼);l4.setFont(font2) ;l4.setForeground(Color.WHITE);l1.add(l4);l4.s

29、etBounds(155, 209, 100, 50);t1 = new TextField();t2 = new TextField();t2.setEchoChar(*);l1.add(t1);l1.add(t2);t1.setBounds(250, 170, 200, 23);t2.setBounds(250, 220, 200, 23);button1 = new JButton(登錄,new ImageIcon(星星.jpg);button1.addActionListener(this);l1.add(button1);button1.setBounds(125, 270,100,

30、30);button2 = new JButton(重置,new ImageIcon(星星.jpg);button2.addActionListener(this);l1.add(button2);button2.setBounds(260, 270,100,30);button3 = new JButton(注冊,new ImageIcon(星星.jpg);button3.addActionListener(this);l1.add(button3);button3.setBounds(395, 270,100,30);frame.setVisible(true);public void a

31、ctionPerformed(ActionEvent e) / TODO Auto-generated method stub if(e.getSource()=button1) if (t1.getText().toString().equals() JOptionPane.showMessageDialog(null, 請輸入登錄名, 溫馨提示, JOptionPane.INFORMATION_MESSAGE); return; else if (t2.getText().toString().equals() JOptionPane.showMessageDialog(null, 請輸入

32、密碼, 溫馨提示, JOptionPane.INFORMATION_MESSAGE); return; try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch(ClassNotFoundException se) try con=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433; DatabaseName=教學庫,sa,123456); Statement stmt=con.createStatement(); sql=con.createS

33、tatement(); String n1=c.getSelectedItem(); /下拉列表 String queryMima; if(n1.equals(管理員) queryMima=select * from 管理員 where 管理員賬號 =+t1.getText().trim()+ and 密碼 =+t2.getText().trim()+; ResultSet rs=sql.executeQuery(queryMima); if(rs.next() JOptionPane.showMessageDialog(null,登錄成功!,溫馨提示,JOptionPane.INFORMAT

34、ION_MESSAGE); new 管理員界面(); con.close(); frame.hide(); else JOptionPane.showMessageDialog(null,登錄失??!,溫馨提示,JOptionPane.INFORMATION_MESSAGE); t1.setText(); t2.setText(); if(n1.equals(教師) queryMima=select * from 教師 where 教師號 =+t1.getText().trim()+ and 密碼 =+t2.getText().trim()+; ResultSet rs=sql.executeQ

35、uery(queryMima); if(rs.next() JOptionPane.showMessageDialog(null,登錄成功!,溫馨提示,JOptionPane.INFORMATION_MESSAGE); new 教師主頁(); con.close(); frame.hide(); else JOptionPane.showMessageDialog(null,登錄失??!,溫馨提示,JOptionPane.INFORMATION_MESSAGE); t1.setText(); t2.setText(); else if(n1.equals(學生) queryMima=select

36、 * from 學生 where 學號 =+t1.getText().trim()+ and 密碼 =+t2.getText().trim()+; ResultSet rs=sql.executeQuery(queryMima); if(rs.next() JOptionPane.showMessageDialog(null,登錄成功!,溫馨提示,JOptionPane.INFORMATION_MESSAGE); new 學生主頁(); con.close(); frame.hide(); else JOptionPane.showMessageDialog(null,登錄失敗!,溫馨提示,J

37、OptionPane.INFORMATION_MESSAGE); t1.setText(); t2.setText(); sql.close(); catch (SQLException se) se.printStackTrace(); if(e.getSource()=button3) new 用戶注冊(); else if(e.getSource()=button2) t1.setText(); t2.setText(); public static void main(String args)new 登錄();public void itemStateChanged(ItemEvent

38、 arg0) 6.2 課程信息維護界面import java.awt.*;import javax.swing.*;import javax.swing.ImageIcon;import java.awt.event.*;import java.sql.*;import java.util.EventObject;class 課程信息維護 extends JFrame implements ActionListener,ItemListenerFrame f;JLabel l1,l2,l3,l4,l5,l6,lb1,lb2,lb3,lb4,lb5,lb8,lb9,lb10,lb11,lb12,

39、lb13,lb16;Panel p,p1,p2,p3,p4,p5,p6,p7; /p5為查詢界面最下方的面板MenuBar mb1=new MenuBar();Menu me1 =new Menu(文件);JButton b1,b2,b3,b4,b5,b6,b7,bu1,bu2,bu3; JToolBar toolBar=new JToolBar();CardLayout myCard = new CardLayout();JTable table1;Object a,b;Object name=課程號,課程名,學分,課時,教師號;java.sql.Connection con; Statem

40、ent sql; ResultSet rs; Choice c=new Choice();TextField tx1=new TextField();TextField tx2=new TextField();TextField tx3=new TextField();TextField tx4=new TextField();TextField tx5=new TextField();TextField tx6=new TextField();TextField tx7=new TextField();TextField tx8=new TextField(20);TextField tx9

41、=new TextField(); TextField tx10=new TextField();TextField tx11=new TextField();TextField tx12=new TextField();TextField tx13=new TextField();TextField tx14=new TextField();TextField tx15=new TextField();TextField tx16=new TextField(20);public 課程信息維護()f=new Frame(學生信息管理系統(tǒng)); f.setSize(600,550); f.set

42、Location(400,100); f.setBackground(Color.white); f.setVisible(true); f.setMenuBar(mb1); f.validate();l1=new JLabel(歡迎進入學生信息管理系統(tǒng));l2=new JLabel();ImageIcon icon = new ImageIcon(lv.jpg);l2.setIcon(icon);l3=new JLabel();ImageIcon icon1 = new ImageIcon(hu.jpg);l3.setIcon(icon1);l4=new JLabel();ImageIcon

43、 icon2 = new ImageIcon(q.jpg);l4.setIcon(icon2);l5=new JLabel();ImageIcon icon3 = new ImageIcon(a.jpg);l5.setIcon(icon3);l6=new JLabel();ImageIcon icon4 = new ImageIcon(s.jpg);l6.setIcon(icon4);bu1=new JButton(添加);bu2=new JButton(重置);bu3=new JButton(返回);lb1=new JLabel(課 程 號);lb2=new JLabel(課 程 名);lb

44、3=new JLabel(學 分);lb4=new JLabel(課 時);lb5=new JLabel(教 師 號);lb8=new JLabel(查詢條件);lb9=new JLabel(課 程 號);lb10=new JLabel(課 程 名);lb11=new JLabel(學 分);lb12=new JLabel(課 時);lb13=new JLabel(教 師 號);lb16=new JLabel(查詢條件);/菜單設置 mb1.add(me1); me1.add(new MenuItem(課程信息錄入); me1.add(new MenuItem(課程信息查詢); me1.add

45、(new MenuItem(課程信息修改/刪除);me1.addSeparator();me1.add(new MenuItem(退出);me1.addActionListener(this);/按鈕設置b1=new JButton(課程信息錄入);b2=new JButton(課程信息查詢);b3=new JButton(課程信息修改/刪除);b4=new JButton(退出);b6=new JButton(查詢); b6.addActionListener(this);b5=new JButton(修改);b5.addActionListener(this);b7=new JButton

46、(刪除); b7.addActionListener(this);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);/工具條toolBar.add(b1);toolBar.add(b2);toolBar.add(b3);toolBar.add(b4);/面板設置p=new Panel(myCard );p1=new Panel();p1.setLayout(null);p2=new Panel();p2.setLayout(nul

47、l);p3=new Panel(new BorderLayout();p4=new Panel(new BorderLayout();p5=new Panel();p5.setLayout(null);f.add(toolBar,North); /給框架添加工具條f.add(p,Center); /給框架添加總的面板p.add(p1,p1); /給卡片布局的面板添加不同的面板p.add(p2,p2);p.add(p3,p3);p.add(p5,p5);l1.setForeground(Color.white);/設置Label的字體l1.setFont(new Font(幼圓,Font.BOL

48、D,30);p1.add(l6);l6.setBounds(0,0 , 600, 600);l6.add(l1);l1.setBounds(100,50,400,50);f.validate();/錄入界面的布局設置tx1.setEditable(true) ;tx2.setEditable(true) ;tx3.setEditable(true) ;tx4.setEditable(true) ;tx5.setEditable(true) ;bu1.addActionListener(this);bu2.addActionListener(this);bu3.addActionListener

49、(this);p2.add(lb1);lb1.setBounds(160, 50, 100, 30);p2.add(lb2);lb2.setBounds(160, 100, 100, 30);p2.add(lb3);lb3.setBounds(160, 150, 100, 30);p2.add(lb4);lb4.setBounds(160, 200, 100, 30);p2.add(lb5);lb5.setBounds(160, 250, 100, 30);p2.add(l2);l2.setBounds(400, 50, 200, 500);p2.add(l3);l3.setBounds(0,

50、 0, 155, 155);p2.add(tx1);tx1.setBounds(250, 50, 150, 30);p2.add(tx2);tx2.setBounds(250, 100, 150, 30);p2.add(tx3);tx3.setBounds(250, 150, 150, 30);p2.add(tx4);tx4.setBounds(250, 200, 150, 30);p2.add(tx5);tx5.setBounds(250, 250, 150, 30);p2.add(bu1);bu1.setBounds(130,330,70,20);p2.add(bu2);bu2.setBo

51、unds(230,330,70,20);p2.add(bu3);bu3.setBounds(330,330,70,20);/設置修改界面tx9.setEditable(true) ;tx10.setEditable(true) ;tx11.setEditable(true) ;tx12.setEditable(true) ;tx13.setEditable(true) ;b5.addActionListener(this);b6.addActionListener(this);b7.addActionListener(this);p5.add(lb9);lb9.setBounds(160, 5

52、0, 100, 30);p5.add(lb10);lb10.setBounds(160, 100, 100, 30);p5.add(lb11);lb11.setBounds(160, 150, 100, 30);p5.add(lb12);lb12.setBounds(160, 200, 100, 30);p5.add(lb13);lb13.setBounds(160, 250, 100, 30);p5.add(l4);l4.setBounds(400, 50, 200, 500);p5.add(l5);l5.setBounds(0, 0, 100, 100);p5.add(tx9);tx9.s

53、etBounds(250, 50, 150, 30);p5.add(tx10);tx10.setBounds(250, 100, 150, 30);p5.add(tx11);tx11.setBounds(250, 150, 150, 30);p5.add(tx12);tx12.setBounds(250, 200, 150, 30);p5.add(tx13);tx13.setBounds(250, 250, 150, 30);p5.add(b6);b6.setBounds(130,330,70,20);p5.add(b5);b5.setBounds(230,330,70,20);p5.add(

54、b7);b7.setBounds(330,330,70,20);/設置查詢界面p4=new Panel(new FlowLayout();p4.setBackground(Color.cyan);tx8.setEditable(true) ; c.add(課程號); /添加下拉表 c.add(課程名); c.add(學分); c.add(課時); c.add(教師號); c.addItemListener(this); p4.add(lb8); p4.add(tx8); p4.add(c); b=new Object507; table1=new JTable(b,name); p3.add(

55、Center,new JScrollPane(table1,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); p3.add(p4,South); validate(); /給窗口添加事件 f.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e)System.exit(0););/下拉表事件 查詢信息public void itemStateChanged(ItemEvent e) S

56、tring m=tx8.getText(); /查詢條件String n1=c.getSelectedItem(); /下拉列表String chaxun=;if(n1.equals(課程號)chaxun=select * from 課程 where 課程號 like+%+m+%;if (n1.equals(課程名) chaxun=select * from 課程 where 課程名 like+ +%+m+%+ ;if(n1.equals(學分)chaxun=select * from 課程 where 學分 like+%+m+%;if(n1.equals(課時)chaxun=select *

57、 from 課程 where 課時 like+%+m+%;if(n1.equals(教師號)chaxun=select * from 課程 where 教師號 like+%+m+%;int j=0;tryClass.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);catch(ClassNotFoundException a) System.out.println(+a);trytable1.repaint();con=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;

58、 DatabaseName=教學庫,sa,123456);sql=con.createStatement();rs=sql.executeQuery(chaxun);while(rs.next()bj0=rs.getString(課程號);bj1=rs.getString(課程名);bj2=rs.getString(學分);bj3=rs.getString(課時);bj4=rs.getString(教師號);j+;con.close();catch(SQLException ex)/按鈕事件public void actionPerformed(ActionEvent e) EventObje

59、ct n;AbstractButton bj;if (e.getActionCommand()=課程信息錄入|e.getSource()=b1) myCard .show(p,p2); else if (e.getActionCommand()=課程信息查詢|e.getSource()=b2) myCard .show(p,p3); else if (e.getActionCommand()=課程信息修改/刪除|e.getSource()=b3) myCard .show(p,p5); else if (e.getSource()=b4) System.exit(0); else if (e.

60、getActionCommand()=退出) myCard .show(p,p1); /學生信息刪除 else if(e.getSource()=b7) try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch(ClassNotFoundException se) try con=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433; DatabaseName=教學庫,sa,123456); Statement stmt=con.createSta

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論