學生信息管理系統(tǒng)數(shù)據(jù)庫java_第1頁
學生信息管理系統(tǒng)數(shù)據(jù)庫java_第2頁
學生信息管理系統(tǒng)數(shù)據(jù)庫java_第3頁
學生信息管理系統(tǒng)數(shù)據(jù)庫java_第4頁
學生信息管理系統(tǒng)數(shù)據(jù)庫java_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 數(shù)據(jù)庫原理與應用課程設計報告選題名稱: 學生信息管理系統(tǒng) 組 長: 李盟 指導教師: 湯嘉立 設計日期: 2016.06.132016.06.24 學號姓名小組評分教師評分2014144414李盟902014144415李玲902014144429徐蘭902014144431許媛媛901. 課程設計目的:數(shù)據(jù)庫是一門實踐性很強的課程,為了使學生加深對數(shù)據(jù)庫基本知識的理解,掌握數(shù)據(jù)庫設計和開發(fā)的基本方法,學生自選題目,要求學生完成一個完整的數(shù)據(jù)庫設計過程和基本的開發(fā)過程,從而培養(yǎng)學生在數(shù)據(jù)庫應用領(lǐng)域中的分析問題和解決問題的能力。2. 課程設計內(nèi)容:(1)數(shù)據(jù)庫設計教師講解數(shù)據(jù)庫的設計

2、方法以及PowerDesigner的使用,學生自選題目,要求學生根據(jù)題目的需求描述,進行實際調(diào)研,提出完整的需求分析報告、用PowerDesigner建立概念模型、邏輯模型、物理模型。在物理模型中根據(jù)需要添加必要的約束、視圖、觸發(fā)器和存儲過程等數(shù)據(jù)庫對象,最后生成創(chuàng)建數(shù)據(jù)庫的腳本,提出物理設計的文檔。要求學生提交的報告包含:l 需求說明書l 概念數(shù)據(jù)模型(E-R數(shù)據(jù)模型)l 邏輯數(shù)據(jù)模型(含關(guān)系規(guī)范化)l 物理數(shù)據(jù)模型(含約束、視圖、觸發(fā)器、存儲過程、安全設計、恢復方案、事務設計等等)l 創(chuàng)建數(shù)據(jù)庫的腳本(數(shù)據(jù)庫對象的定義語言)l 物理設計的文檔(數(shù)據(jù)庫的實施規(guī)劃)(2)數(shù)據(jù)庫開發(fā)在數(shù)據(jù)庫設計

3、的基礎上開發(fā)一個基本的數(shù)據(jù)庫應用系統(tǒng),要求有基本的數(shù)據(jù)查詢功能和數(shù)據(jù)管理功能,并能將存儲過程、觸發(fā)器、事務控制等運用其中。開發(fā)工具可以自己選擇。3. 課程設計要求:數(shù)據(jù)庫課程設計單獨設課,為2周獨立實踐環(huán)節(jié)(40學時),一般4人1組,指定1人為組長(也可申請獨立完成),但每人要承擔獨立的工作、獨立完成課程設計報告。通過以上過程,鍛煉學生從實際應用出發(fā),進行需求分析,利用PD工具建立數(shù)據(jù)庫模型、完善數(shù)據(jù)庫模型,到最后的數(shù)據(jù)庫實施和應用系統(tǒng)開發(fā)。希望通過這個過程可以鞏固所學知識,提高學生的綜合分析問題和解決問題的能力。4. 實驗條件:(1) 硬件條件:PC機。(2) 軟件條件:(Elipse、SQ

4、L Server2008、PowerDesigner)5. 實驗方法與步驟:1、 需求分析(一)目標學生信息管理系統(tǒng)的目標是方便學校教務處系統(tǒng)的管理學生的信息,并為學校和學生間提供一個信息共享的平臺。隨著學校的普及和人們文化水平的提高,高效的教學管理系統(tǒng)越來越廣泛應用于各類信息化學校。學生信息管理系統(tǒng)要求實用性強、使用方便、效率高和安全可靠等特點。用戶管理:用戶共分為管理員,教師和學生。學生和教師通過注冊建立賬戶,管理員由系統(tǒng)設定統(tǒng)一的用戶名和密碼。經(jīng)分析我們認為學生學籍管理系統(tǒng)的具體要求為: 1.能全面管理學校教學相關(guān)的各類主體,如用戶管理員,學生用戶以及選修課程表 2.通過使用計算機能方便

5、的維護(包括插入、刪除、修改)各信息表 3能方便的實現(xiàn)基于多個表的連接查詢 4系統(tǒng)具有操作方便、簡捷等特點(二)需求陳述 學生對功能的需求分析: 查詢個人基本信息 查詢學生課程信息 查詢學生成績信息 管理員對功能的需求分析: 添加、刪除、修改、查詢學生信息 添加、刪除、修改、查詢課程信息 修改、查詢用戶信息 查詢選課信息 修改、查詢成績信息2、 概念數(shù)據(jù)模型設計(A)局部E-R模型(B)整體E-R模型3、 邏輯模型設計(A)將概念數(shù)據(jù)模型轉(zhuǎn)化成邏輯數(shù)據(jù)模型(B)對模型進行必要的完善和優(yōu)化4、 物理模型設計(A)將邏輯數(shù)據(jù)模型轉(zhuǎn)化成物理數(shù)據(jù)模型(

6、B)對模型進行必要的完善和優(yōu)化(C)根據(jù)需要設計視圖、存儲過程和觸發(fā)器等(D)描述安全管理方案、備份恢復策略、并發(fā)控制策略等5、 系統(tǒng)實現(xiàn)描述數(shù)據(jù)庫實施的方法和過程,詳細文檔以附件1形式提交。6. 個人工作報告除上一步驟要求的完整文檔外,每個人需陳述自己所承擔的工作、在討論中的個人見解,提供個人所承擔工作的有關(guān)文檔(可能是不完整的),并對個人的工作情況、收獲等進行總結(jié)。(1) 承擔的工作及貢獻l 需求分析階段l 概念模型設計階段局部E-R模型: 整體E-R模型:l 邏輯模型設計階段Student(sno,sn,sa,ss,sd)Course(cno,cn,pcno)Sc(sno,cno,g)U

7、npw(un,pw,qx)l 物理模型設計階段s(學生信息表)字段名稱數(shù)據(jù)類型描述snochar (10)學號,關(guān)鍵字snchar (20)姓名saint年齡sschar (10)性別sdchar (10)院系c(課程信息表)字段名稱數(shù)據(jù)類型描述cnochar (10)課程號,關(guān)鍵字cnchar (30)課程名pcnochar (10)先行課程號sc(選課信息表)字段名稱數(shù)據(jù)類型描述snochar (10)學號,關(guān)鍵字cnochar (10)課程號,關(guān)鍵字gint成績unpw(用戶信息表)字段名稱數(shù)據(jù)類型描述unchar (10)用戶名,關(guān)鍵字pwchar (10)密碼qxint角色1.視圖:

8、2. s(學生信息表)3. c(課程信息表) 4. sc(選課信息表) 5. unpw(用戶信息表) l 實施和實現(xiàn)階段詳細見附件1。(2) 課程設計個人總結(jié)徐蘭:兩個星期的時間非常快就過去了,這半個月我不敢說自己有多大的進步,但是獲得了不少的知識,也了解了項目開發(fā)的部分過程。雖說上過數(shù)據(jù)庫相關(guān)的課程,有做過數(shù)據(jù)庫相關(guān)的實驗,但是沒有親身經(jīng)歷過相關(guān)的設計工作細節(jié)。這次課程設計給我提供了一個很好的機會。通過這次課程設計發(fā)現(xiàn)這其中需要的很多知識我們沒有接觸過,上網(wǎng)查找資料的時候發(fā)現(xiàn)我們以前學到的僅僅是皮毛,還有很多需要我們掌握的東西我們根本不知道。同時也發(fā)現(xiàn)有狠毒已經(jīng)學過的東西我們沒有理解到位,不

9、能靈活運用于實際,不能很好的用來解決問題,這就需要自己不斷的大量的時間,通過不斷的自學,不斷地發(fā)現(xiàn)問題,思考問題,進而解決問題。這次的課程設計也是為我們以后的畢業(yè)設計作品提前打好基礎。在這次的課程設計中,我負責的是創(chuàng)建數(shù)據(jù)庫,這些就讓我用到了數(shù)據(jù)庫的很多知識,對SQL語言,數(shù)據(jù)庫的創(chuàng)建、修改、刪除有了更深的了解,并且更加熟練的掌握了數(shù)據(jù)庫中的SQL語句。我想我做的是組里面最簡單的工作,因為我做的是有基礎的,組長做的JAVA前臺就比較的累了,她還要先去學習。在她做的時候我也學習了一下,為之后打個基礎。通過這次課程設計的完成,是我對自己所學知識進一步的了解,同時通過實踐發(fā)現(xiàn)自己的不足,對知識的掌握

10、及運用存在諸多的不完善。所以在今后的學習中,我會繼續(xù)努力,完善自我,同學的幫助和學校的精心安排是這個課題能夠順利進行。李玲:在本次課程設計中,我負責課程設計報告的整理與編寫,通過整理報告,我對于SQL,JAVA的編程方式以及他們之間的相互連接,基本運用有了全方位的認識,我的分析能力,獨立思考能力都得到了一定程度的提高?;仡櫰鸫苏n程設計,至今我仍感慨頗多,從理論到實踐,在這段日子里,可以學到很多很多的東西,同時不僅可以鞏固了以前所學過的知識,而且學到了很多在書本上所沒有學到過的知識。通過這次課程設計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起

11、來,從理論中得出結(jié)論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,但可喜的是最終都得到了解決。實驗過程中,也對團隊精神的進行了考察,讓我們在合作起來更加默契,在成功后一起體會喜悅的心情。果然是團結(jié)就是力量,只有互相之間默契融洽的配合才能換來最終完美的結(jié)果。讓我更加深切的體會到團隊合作的重要性。許媛媛:這次的數(shù)據(jù)庫課程設計,我主要是負責前期資料的收集,在設計期間及時提供相關(guān)的有利資料。兩個星期的時間非??炀瓦^去了,這兩個星期不敢說自己有多大的進步,獲得了多少知識,但起碼是了解了系統(tǒng)開發(fā)的過程。兩周課程設計讓我對java語言等編程技術(shù)

12、產(chǎn)生了濃厚的興趣,更重要的是增強了我學習的自信心。剛開始我們查找資料、了解有關(guān)的知識,相互探討,了解學生信息管理系統(tǒng)的需求,做好需求分析后,開始系統(tǒng)的設計,畫出E-R圖,寫出各個實體的屬性。在我搜集資料的過程中,發(fā)現(xiàn)這其中需要的很多知識是我們之前沒有接觸過的,去圖書館查資料的時候發(fā)現(xiàn)我們前邊所學到的僅僅是皮毛,還有很多需要我們掌握的東西我們根本不知道。同時也發(fā)現(xiàn)有很多已經(jīng)學過的東西我們沒有理解到位,不能靈活運用于實際,不能很好的用來解決問題,這就需要我們不斷的大量的實踐,通過不斷的自學,不斷地發(fā)現(xiàn)問題,思考問題,進而解決問題。在這個過程中我們將深刻理解所學知識,同時也可以學到不少很實用的東西。

13、這次的系統(tǒng)設計不僅使我們學會了把數(shù)據(jù)庫的各個模塊聯(lián)系起來,并與java相連接,更讓我懂得了如何設計一個系統(tǒng),了解了系統(tǒng)設計的過程。李盟:在本次課程設計中,本組課程選題名稱為“學生信息管理系統(tǒng)”,由于我擔任的是組長,因此我不僅負責自己的部分,還負責課題布置與集中交流。我在本小組中的主要任務是java程序的編寫及修改。在課程設計初期,我們小組首先確定的課題題目,在細致地討論了系統(tǒng)的需求,列出了相應的模塊,并進行了結(jié)構(gòu)化設計。然后我再根據(jù)我們的初步研究結(jié)果,確定我的編程方向,開始我的任務。我通過借閱相關(guān)書籍,上網(wǎng)查閱資料等方式,完成了我的系統(tǒng)編程初稿。但在系統(tǒng)測試階段,出現(xiàn)了很多的問題和錯誤。 比如

14、數(shù)據(jù)庫文件的導入路徑出錯,導致數(shù)據(jù)庫連接錯誤;通過老師的指導,幸而解決了此問題。通過這次課程設計,我不僅清楚地知道了自己在數(shù)據(jù)庫原理知識和編程語言方面的不足,還認識到了在合作過程中,個人的力量總是不足的,需要大家一起協(xié)作。我們真切地體驗了軟件項目管理技能和方法,熟悉了軟件工具與環(huán)境,把課堂學習的理論知識很好的在實踐中運用了起來。我們小組成員之間合作默契,奮斗雖是艱苦的,但收獲是快樂的。我們相信,在大家的不懈努力之下目標一定可以達成,我們也將在學習數(shù)據(jù)庫及其他網(wǎng)絡編程語言的道路上更加進步。7. 總結(jié)(組長完成):小組分工情況說明及工作量(工作量以百分比表示)李盟:前臺頁面設計31%李玲:報告整理

15、23%徐蘭:后臺SQL建表23%許媛媛:收集資料23%小組工作總結(jié) 課程設計誠然是一門專業(yè)課,給我們很多專業(yè)知識以及專業(yè)技能上的提升,同時又是一門講道課,一門辯思課,給了我們許多道,給了我們很多思,給了我們莫大的空間。同時,設計讓我們感觸很深。使我們對抽象的理論有了具體的認識。在經(jīng)歷了將近兩個星期的課程設計過程后,本系統(tǒng)基本能夠完成學生學籍信息和學生的成績的查詢、插入、刪除、修改等。這次的課程設計是分組討論和制作的。我們小組從了解課題、理解課題、查找資料、確定思路到設計實施,學生信息管理系統(tǒng)初步形成。我們能從中深刻的感受到自己又收獲了很多東西。 首先,更進一步的了解了數(shù)據(jù)庫的基本操作, 在這之

16、前,數(shù)據(jù)庫的學 習僅僅剛開了個頭,我們只是在了解一些概念性的東西。在做這個系統(tǒng)之前,連基本的連接數(shù)據(jù)庫,配文件DSN,數(shù)據(jù)庫查詢語句等這些東西都不熟練。現(xiàn)在對于數(shù)據(jù)庫的增刪改查操作比較熟練了,對于初學者來說,比較頭疼的就是對于單引號的處理。我的建議是如果不理解先把按照課本上正確的語句敲,然后在多次進行數(shù)據(jù)庫的鏈接,增刪改查操作中不斷總結(jié)規(guī)律。 這次設計的學生信息管理系統(tǒng),完全體現(xiàn)了自己在數(shù)據(jù)庫語言和程序設計課程學習狀況,充分地為自己以后更深入了數(shù)據(jù)庫語言奠下深厚的基礎。 縱觀此學生信息管理系統(tǒng)的整體概況,目前,自我認為設計良好,相關(guān)功能都能夠?qū)崿F(xiàn),功能強大,條理清晰,界面可觀性比較好。并且特色

17、在于,所設計的表單都在一個表單系統(tǒng)桌面中運行,比較符合系統(tǒng)的觀念。 通過本次實踐,我們學習了許多數(shù)據(jù)庫的知識以及它與JAVA的連接,而且學到了書本上學不到的東西,積累了一點經(jīng)驗和教訓,有了些體會。1、必須詳細準確的做好需求分析。 2、軟件工程原理和方法是軟件開發(fā)得以順利進行的保障,一定要遵守,否則既費時又費力。 3、通過本次課程設計,端正了我們的學習態(tài)度,提高了實踐能力。使我認識到應該以嚴謹?shù)目茖W態(tài)度勇于去實踐和探索。 這次課程設計既是一個學習的過程,也是一個實踐的過程,它使我們獲得了一些開發(fā)大型數(shù)據(jù)庫系統(tǒng)的經(jīng)驗。還有就是由于我們對數(shù)據(jù)庫知識的掌握有限和不牢固,角色和視圖的創(chuàng)建沒有想象中的完美

18、,備份和還原也只是初步的形成,以致學生學籍管理系統(tǒng)只是達到了基本要求,有待進一步改善,希望老師給予批評。小組自評學號: 2014144414 姓名: 李萌 成績:90學號: 2014144415 姓名: 李玲 成績:90學號: 2014144429 姓名: 徐蘭 成績:90學號: 2014144431 姓名: 許媛媛 成績:90源程序、代碼、具體語句等,若表格空間不足時可作為附錄另外附頁。50附件1 系統(tǒng)實施1、 登錄界面圖片: 代碼:package li;import javax.swing.*;import java.awt.*;import java.awt.event.*;import

19、 java.sql.*;class DLFrame extends JFrame implements ActionListener, ItemListener / 登錄界面JPanel p1 = null;JPanel p2 = null;JPanel p3 = null;JLabel userName = new JLabel("用戶:");JTextField txtUser = new JTextField();JLabel password = new JLabel("密碼:");JPasswordField txtPwd = new JPas

20、swordField(6);JLabel role = new JLabel("角色:");JComboBox cbrole = new JComboBox();JButton btnLogin = new JButton("登錄");JButton btncz = new JButton("重置");JButton btnCancel = new JButton("取消");JLabel imageLabel;Icon image;static int OK = 1;static int CANCEL = 0;i

21、nt actionCode = 0;Connection con = null;Statement stmt = null;ResultSet rs = null;int qxian = 0;public DLFrame() / 構(gòu)造方法super("登錄界面");p1 = new JPanel();p2 = new JPanel();p3 = new JPanel();cbrole.addItem("管理員");cbrole.addItem("學生");image = new ImageIcon("Tulips.jpg&q

22、uot;);imageLabel = new JLabel(image);p1.add(imageLabel);this.setLayout(new FlowLayout();this.setBounds(100, 100, 246, 345);p2.setLayout(new GridLayout(4, 2);p2.add(userName);p2.add(txtUser);p2.add(password);p2.add(txtPwd);p2.add(role);p2.add(cbrole);p3.add(btnLogin);p3.add(btncz);p3.add(btnCancel);t

23、his.add(p1);this.add(p2);this.add(p3);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.show();btnLogin.addActionListener(this);cbrole.addItemListener(this);btncz.addActionListener(this);btnCancel.addActionListener(this);public void connDB() / 連接數(shù)據(jù)庫try Class.forName(&

24、quot;com.microsoft.sqlserver.jdbc.SQLServerDriver"); catch (ClassNotFoundException e) e.printStackTrace();try con = DriverManager.getConnection("jdbc:sqlserver:/localhost:1433; DatabaseName=student","sa", "123");stmt = con.createStatement(); catch (SQLException e)

25、e.printStackTrace();public void closeDB() / 關(guān)閉連接try stmt.close();con.close(); catch (SQLException e) e.printStackTrace();public void itemStateChanged(ItemEvent e) if (e.getStateChange() = ItemEvent.SELECTED) JComboBox jcb = (JComboBox) e.getSource();qxian = jcb.getSelectedIndex();public void actionP

26、erformed(ActionEvent e) Object source = e.getSource();String un = null;String pw = null;boolean success = false;/ 用于判斷是否登錄成功if (source = btnLogin) if (txtUser.getText().equals("") | txtPwd.getText().equals("") / 判斷是否輸入了用戶名和密碼JOptionPane.showMessageDialog(null, "登錄名和密碼不能為空!&q

27、uot;); else this.connDB();try rs = stmt.executeQuery("select * from unpw where qx="+ qxian);while (rs.next() un = rs.getString("un").trim();pw = rs.getString("pw").trim();if (txtUser.getText().equals(un) if (txtPwd.getText().equals(pw) actionCode = OK;this.setVisible(fa

28、lse);if (qxian = 0) new ManagerFrane();/ 進入管理員界面if (qxian = 1) new StudentFrame();/ 進入學生界面success = true;break; else JOptionPane.showMessageDialog(null, "密碼錯誤!");txtPwd.setText("");success = true;if (!success) JOptionPane.showMessageDialog(null, "登錄名錯誤!");txtUser.setTex

29、t("");txtPwd.setText(""); catch (SQLException e1) e1.printStackTrace(); else if (source = btncz) txtUser.setText("");txtPwd.setText(""); else if (source = btnCancel) System.exit(0);public static void main(String args)JPanel mainp=new JPanel();DLFrame student=n

30、ew DLFrame();2、 管理員界面圖片: 代碼:package li;import java.awt.*;import java.awt.event.*;import javax.swing.*;class ManagerFrane extends JFrame implements ActionListener / 管理員界面JPanel p1 = new JPanel();JPanel p2 = new JPanel();JButton btns = new JButton("學生信息管理");JButton btnc = new JButton("課

31、程信息管理");JButton btnsc = new JButton("選課信息管理");JButton btng = new JButton("成績信息管理");JButton btnu = new JButton("用戶信息管理");JButton btnClose = new JButton("退出管理系統(tǒng)");JLabel l = new JLabel("管理員");ManagerFrane() / 構(gòu)造方法super("學生信息管理系統(tǒng)");setSiz

32、e(350, 200);add("North", p1);add("Center", p2);p1.add(l);p2.add(btns);p2.add(btnc);p2.add(btnsc);p2.add(btng);p2.add(btnu);p2.add(btnClose);btns.addActionListener(this);btnc.addActionListener(this);btnsc.addActionListener(this);btng.addActionListener(this);btnu.addActionListener(

33、this);btnClose.addActionListener(this);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);show();public void actionPerformed(ActionEvent e) if (e.getActionCommand() = "學生信息管理")new SM().display();if (e.getActionCommand() = "課程信息管理") new CM("課程信息管理&qu

34、ot;).display();if (e.getActionCommand() = "選課信息管理") new SCM("選課信息管理").display();if (e.getActionCommand() = "成績信息管理") new GM("成績信息管理").display();if (e.getActionCommand() = "用戶信息管理") new PM("用戶信息管理").display();if (e.getActionCommand() = "

35、;退出管理系統(tǒng)") System.exit(0);(1) 學生信息管理代碼:class SM extends JFrame implements ActionListener / 學生信息管理JPanel p = new JPanel();JButton btnAdd = new JButton("增加");JButton btnDelete = new JButton("刪除");JButton btnAlter = new JButton("修改");JButton btnSearch = new JButton(&qu

36、ot;查詢");JButton btnDisplay = new JButton("顯示");JMenuBar mb = new JMenuBar();JPanel p1 = new JPanel();JTable sTable;JScrollPane scroll;Connection con = null;Statement stmt = null;ResultSet rs = null;Object playerInfo;SSelect sst;String mxh = null;boolean bstd = false;SM() / 構(gòu)造方法super(&

37、quot;學生信息管理");add("South", p);this.add("Center", p1);mb.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);SM(SSelect sst) / 構(gòu)造方法super("學生信息管理");this.sst = sst;bstd = true;add("South", p);this.add("Center", p1);m

38、b.add(btnAdd);mb.add(btnDelete);mb.add(btnAlter);mb.add(btnSearch);mb.add(btnDisplay);this.connDB();this.setBounds(200, 200, 400, 260);btnAdd.addActionListener(this);btnDelete.addActionListener(this);btnAlter.addActionListener(this);btnSearch.addActionListener(this);btnDisplay.addActionListener(this

39、);this.setJMenuBar(mb);/ this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setResizable(false);show();public void display() / 顯示所有學生的基本信息int i = 0;int j = 0;int k = 0;List al = new ArrayList();try rs = stmt.executeQuery("select * from s");while (rs.next() / 找出表中的記錄數(shù)賦給ial.add(rs.getS

40、tring("sno");al.add(rs.getString("sn");al.add(rs.getString("ss");al.add(rs.getInt("sa");al.add(rs.getString("sd");i+; catch (SQLException e) e.printStackTrace();playerInfo = new Objecti5;String columnNames = "學號", "姓名", "年齡&q

41、uot;, "性別", "院系" ;try rs = stmt.executeQuery("select * from s order by sno");while (rs.next() playerInfoj0 = rs.getString("sno");playerInfoj1 = rs.getString("sn");playerInfoj2 = rs.getInt("sa");playerInfoj3 = rs.getString("ss");pl

42、ayerInfoj4 = rs.getString("sd");j+; catch (SQLException e) e.printStackTrace();sTable = new JTable(playerInfo, columnNames);/ 創(chuàng)建網(wǎng)格p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);public void delete() / 刪除某個學生的基本信息String xh = null;String xm = null;int nl = 0;String xb = null

43、;String yx = null;int row = -1;row = sTable.getSelectedRow();if (row = -1) / 判斷要刪除的信息是否被選中JOptionPane.showMessageDialog(null, "請選擇要刪除的記錄!"); else if (!bstd) / 判斷選擇的是不是查詢后的結(jié)果int j1 = 0;try rs = stmt.executeQuery("select * from s");while (rs.next() && j1 <= row) / 找出當前被選

44、中的記錄在數(shù)據(jù)庫中的對應xh = rs.getString("sno");xm = rs.getString("sn");nl = rs.getInt("sa");xb = rs.getString("ss");yx = rs.getString("sd");j1+; catch (SQLException e) e.printStackTrace();int i1 = 0;try int rs1 = stmt.executeUpdate("delete from s where sn

45、o='"+ xh + "'"); / 刪除數(shù)據(jù)庫中當前被選中的記錄stmt.executeUpdate("delete from unpw where un='" + xh + "'");/ 刪除對應的用戶表中的記錄JOptionPane.showMessageDialog(null, "記錄刪除成功!");this.dispose();new SM().display(); catch (SQLException e) e.printStackTrace(); else

46、try int rs1 = stmt.executeUpdate("delete from s where sno='"+ mxh + "'");stmt.executeUpdate("delete from unpw where un='" + mxh+ "'");JOptionPane.showMessageDialog(null, "記錄刪除成功!");this.dispose();new SM().display(); catch (SQLExceptio

47、n e) e.printStackTrace();public void update() / 修改某個學生的基本信息String xh = null;String xm = null;int nl = 0;String xb = null;String yx = null;int row = -1;row = sTable.getSelectedRow();if (row = -1) JOptionPane.showMessageDialog(null, "請選擇要修改的記錄!"); else int j1 = 0;try if (!bstd) / 判斷選擇的是不是查詢后

48、的結(jié)果rs = stmt.executeQuery("select * from s"); else rs = stmt.executeQuery("select * from s where sno='" + mxh+ "'");while (rs.next() && j1 <= row) / 找出當前被選中的記錄在數(shù)據(jù)庫中的對應xh = rs.getString("sno");xm = rs.getString("sn");nl = rs.getInt(

49、"sa");xb = rs.getString("ss");yx = rs.getString("sd");j1+; catch (SQLException e) e.printStackTrace();SAdd sadd = new SAdd(xb, yx);sadd.setTitle("修改");sadd.tsno.setText(xh);sadd.tsname.setText(xm);sadd.tsage.setText("" + nl);sadd.tsno.setEnabled(fals

50、e);this.dispose();public void select() / 顯示某個查詢的結(jié)果mxh = sst.xh;playerInfo = new Object15;String columnNames = "學號", "姓名", "年齡", "性別", "院系" ;try rs = stmt.executeQuery("select * from s where sno='" + mxh + "'");while (rs.ne

51、xt() playerInfo00 = rs.getString("sno");playerInfo01 = rs.getString("sn");playerInfo02 = rs.getInt("sa");playerInfo03 = rs.getString("ss");playerInfo04 = rs.getString("sd"); catch (SQLException e) e.printStackTrace();if (playerInfo01 = null) this.dis

52、pose();JOptionPane.showMessageDialog(null, "學號不存在!");new SM().display(); else sTable = new JTable(playerInfo, columnNames);/ 創(chuàng)建網(wǎng)格p1.add(sTable);scroll = new JScrollPane(sTable);this.add(scroll);public void actionPerformed(ActionEvent e) if (e.getActionCommand() = "增加") new SAdd(&

53、quot;男", "計科系");this.dispose();if (e.getActionCommand() = "刪除") this.delete();if (e.getActionCommand() = "修改") this.update();if (e.getActionCommand() = "查詢") sst = new SSelect("學號:");this.dispose();if (e.getActionCommand() = "顯示") this

54、.dispose();new SM().display();1. 用于學生信息管理中增加或修改某條記錄的界面圖片: 代碼:class SAdd extends JFrame implements ActionListener, ItemListener / 用于學生信息管理中增加或修改某條記錄的界面JLabel lsno = new JLabel("學號:");JLabel lsname = new JLabel("姓名:");JLabel lssex = new JLabel("性別:");JLabel lsage = new JLabel("年齡:");JLabel lsdept = new JLabel("院系:");JTextField tsno = new JTextField(14);JTextField tsname = new JTextField(14);JComboBox cbssex = new JComboBox();JTextField tsage = new JTextField(14);JComboBox cbsdept = new JComboBox();JButton btnOK = new JBu

溫馨提示

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

評論

0/150

提交評論