java學生成績管理系統(tǒng).doc
《java學生成績管理系統(tǒng).doc》由會員分享,可在線閱讀,更多相關《java學生成績管理系統(tǒng).doc(31頁珍藏版)》請在裝配圖網(wǎng)上搜索。
西安文理學院 計算機科學系 課程設計報告 設計名稱: 軟件課程設計 設計題目: 學生成績管理系統(tǒng) 學生學號: 14102080217 專業(yè)班級: 軟件工程二班 學生姓名: 陳健 學生成績: 指導教師(職稱): 楊全() 課題工作時間: 2011.4.11至 2011.4.21 說明: 1、報告中的任務書、進度表由指導教師在課程設計開始前填寫并發(fā)給每個學生;四、五兩項(中英文摘要)由學生在完成綜合設計后填寫。 2、學生成績由指導教師根據(jù)學生的設計情況給出各項分值及總評成績。 3、指導教師評語一欄由指導教師就學生在整個設計期間的平時表現(xiàn)、設計完成情況、報告的質量及答辯情況,給出客觀、全面的評價。 4、所有學生必須參加課程設計的答辯環(huán)節(jié),凡不參加答辯者,其成績一律按不及格處理。答辯小組成員應由2人及以上教師組成。 5、報告正文字數(shù)一般應不少于3000字,也可由指導教師根據(jù)本門綜合設計的情況另行規(guī)定。 6、平時表現(xiàn)成績低于6分的學生,取消答辯資格,其本項綜合設計成績按不及格處理。 學生姓名 陳健 學號 14102080217 專業(yè) 班級 08級軟件二班 設計題目 基于C/S模式的學生成績記錄查詢系統(tǒng) 內容概要: 學生成績記錄查詢系統(tǒng)(C/S)的設計與實現(xiàn)。 具體要求如下: 1) 創(chuàng)建學生信息(學生的新增、刪除、修改、查詢); 2) 課程成績維護(成績的新增、刪除、修改、查詢); 3) 按學號或姓名查詢課程成績; 4) 顯示某課程60分以下、60~79、80~89、90分以上各分數(shù)段的學生信息; 5) 報表輸出(根據(jù)用戶需要打印有關資料); 6)判斷用戶標識和口令,并進行權限管理; 7)修改當前用戶的密碼及用戶管理。 備注:每個學生信息包括:學號、姓名、課程名、成績。 文獻資料: [1] 張海藩.軟件工程導論. 清華大學出版社, 2010 [2] 沈洪, 施明利. VB程序設計案例匯編. 清華大學出版社, 2010 [3] 孟德欣. VB程序設計. 清華大學出版社, 2011 [4] 石志國. VB.NET數(shù)據(jù)庫編程. 清華大學出版社, 2009 [5] 張友生. 軟件體系結構原理、方法與實踐. 清華大學出版社, 2010 設計要求: 1. 采用客戶/服務器方式作為系統(tǒng)開發(fā)結構; 2. 后臺數(shù)據(jù)庫(服務器)采用Microsoft SQL Server 2000; 3. 用戶使用界面(客戶端)采用高級程序設計語言(如VB 6.0)進行開發(fā); 4. 程序必須上機調試運行通過,并獲得滿意的結果; 5. 提交打印稿的課程設計報告。 工作期限: 設計工作自2011 年4 月11 日至2011年4 月21 日止。 指導教師: 楊全 系主任: 日 期:2011 年 4 月 11 日 計算機科學系課程設計進度安排表 專業(yè): 姓名: 學號: 日期 內 容 備注 5月31日 ~ 6月 1日 分析題目,查閱相關資料 6月2 日~ 6月3 日 擬定整體方案,編寫程序 6月4 日~ 6月6 日 程序編寫 6月7 日~ 6月8 日 調試程序 6月9 日~ 6月10 日 整理報告 6月11 日~ 6月11日 答辯 月 日~ 月 日 月 日~ 月 日 月 日~ 月 日 月 日~ 月日 月 日~ 月 日 月 日~ 月 日 月 日~ 月 日 月 日~ 月 日 月 日~ 月 日 指導教師簽名: 2010年5 月 28 日 指導教師評語 指導教師: (簽字) 日 期: 2010 年 6 月 10 日 答辯記錄表 學生姓名: 學號: 班級:軟件二班 答辯地點: 答辯內容記錄: 答辯成績 合計 分值 各項分值 評分標準 實際得分 合計得分 備注 25 10 在規(guī)定時間內能就所設計的內容進行闡述,言簡意明,重點突出,論點正確,條理清晰。 15 在規(guī)定時間內能準確、完整、流利地回答教師所提出的問題。 答辯小組成員(簽字): 2010 年 6 月 11 日 成績評定表 學生姓名: 陳健 學號: 班級: 類別 合計 分值 各項分值 評分標準 實際得分 合計得分 備注 平時表現(xiàn) 10 10 按時參加設計指導,無違反紀律情況。 完成情況 30 20 按設計任務書的要求完成了全部任務,能完整演示其設計內容,符合要求。 10 能對其設計內容進行詳細、完整的介紹,并能就指導教師提出的問題進行正確的回答。 報告質量 35 10 報告文字通順,內容翔實,論述充分、完整,立論正確,結構嚴謹合理;報告字數(shù)符合相關要求,工整規(guī)范,整齊劃一。 5 課題背景介紹清楚,綜述分析充分。 5 設計方案合理、可行,論證嚴謹,邏輯性強,具有說服力。 5 符號統(tǒng)一;圖表完備、符合規(guī)范要求。 5 能對整個設計過程進行全面的總結,得出有價值的結論或結果。 5 參考文獻數(shù)量在2篇以上,格式符合要求,在正文中正確引用。 答辯情況 25 10 在規(guī)定時間內能就所設計的內容進行闡述,言簡意明,重點突出,論點正確,條理清晰。 15 在規(guī)定時間內能準確、完整、流利地回答教師所提出的問題。 總評成績: 分 指導教師: (簽字) 日 期: 2010 年 6 月 15 日 摘 要 摘 要:隨著計算機技術的飛速發(fā)展和高等教育體制改革的不斷深入,傳統(tǒng)教育管理方法、手段以及工作效率已不能適應新的發(fā)展需要,無法很好地完成教學管理工作。提高教學管理水平的主要途徑是更新管理者的思想,增強對管理活動的科學認識?;贘ava與SQL server數(shù)據(jù)庫技術建立一個高校成績管理系統(tǒng)該系統(tǒng)為管理員、學生和教師提供了查詢、修改、增加記錄、刪除等功能,功能比較落齊全,基本上能滿足學生和老師的要求。 關鍵詞:Java;需求分析;概要設計;學生成績管理系統(tǒng); The Design And Realization Of the educational administration management system Based On JAVA Author: ChenJian Tutor:YangQuan Abstract: Fly technically along with the calculator to develop soon and the higher education system reform of continuously thorough, traditional education management the method, means and work efficiencies have already cant adapt the new development demand, cant complete the teaching management work nicely.The main path that raises the educational administration management level is a thought that renews the governor, strengthenning the science understanding to manage the activity.According to the JAVA build up that system of an educational administration of high school management systems pursue studies with the database technique to living to provided the search, modify, save, increase the record and select elective courses etc. with teacher function, the function relatively falls well-found, can satisfy the request between student and teacher basically. Keyword:JAVA; The need analysis; The essentiadesign; Database; Detailed design 目錄 前言 x 1 需求分析 x 1.1 功能需求分析 x 1.2 性能需求分析 xi 1.3 數(shù)據(jù)庫需求分析――數(shù)據(jù)流圖 xi 1.3.1 數(shù)據(jù)結構 xi 1.3.2 數(shù)據(jù)流: xi 2概要結構設計 xii 2.1系統(tǒng)功能結構設計 xii 2.1.1模塊的功能設計 xii 2.2 概要結構設計 xiii 3詳細設計及實現(xiàn) 14 3.1用戶登陸模塊 14 3.1.1 代碼實現(xiàn) 14 3.2 管理員界面 16 3.2.1 代碼實現(xiàn): 17 3.3 用戶界面 19 3.3.1 代碼實現(xiàn): 19 3.4 添加模塊 23 3.4.1 添加模塊代碼實現(xiàn): 24 3.5 刪除模塊 27 3.5.1 代碼實現(xiàn): 27 總 結 29 致 謝 30 參考文獻 30 前言 學生成績管理工作是高校教育工作的一項重要內容。教務管理工作是指學校管理人員按照一定教育方針,運用先進的管理手段,組織 、協(xié)調 、指揮并指導各用戶活動,以便高效率、高質量地完成各項教學任務,完成國家所制定的教育目標。學生成績管理工作是學校教學工作的中樞,是保證高校教學機制正常運轉的樞紐,它是一項目的性、計劃性、適用性、創(chuàng)造性和科學性很強的工作。學生成績工作關系到高校教學秩序的穩(wěn)定。 隨著計算機技術的飛速發(fā)展和高等教育體制改革的不斷深入,傳統(tǒng)教育管理方法、手段以及工作效率已不能適應新的發(fā)展需要,無法很好地完成教學管理工作。提高教務管理水平的主要途徑是更新管理者的思想,增強對管理活動的科學認識。同時,運用先進的信息技術,開發(fā)高校綜合成績管理信息系統(tǒng),是深化教務體制改革的有利措施。 JAVA以GUI的編程方式、面向對象的程序設計、眾多的GUI組件和強大的數(shù)據(jù)庫應用開發(fā)支持,在競爭激勵的開發(fā)工具市場中越來越羸得程序設計者的青睞。JAVA是Windows系統(tǒng)下的可視化集成開發(fā)工具,提供了強大的可視化組件功能,使程序員能夠快速、高效地開發(fā)出Windows系統(tǒng)下的應用程序,特別是在數(shù)據(jù)庫和網(wǎng)絡方面,JAVA與其它開發(fā)工具相比更是勝出一籌??梢暬饕侵搁_發(fā)圖形用戶界面,而只需調用GUI組件即可。 1 需求分析 1.1 功能需求分析 該學生成績管理系統(tǒng)具備三方面的功能:一方面是學生用戶,學生通過輸入學號和密碼進下該系統(tǒng)后,可以進行一些基礎查詢(學生信息查詢、班級信息查詢、課程信息查詢)、成績管理(成績查詢、計算平均分)重新登陸系統(tǒng);一方面老師進入該系統(tǒng)則比學生多一些權限:成績輸入、成績查詢。 具體功能的詳細描述如下 1.1.1 選擇[學生基本維護]菜單命令,即可進入 [學生基本維護]功能窗體,在其中輸入學生的相關信息,如果需要添加或修改學生信息,則單擊相應的按紐,輸入新信息后單擊[添加]就可以了。需要刪除一條信息,則只要選擇這條信息再點擊 [刪除]。在搜索條件中輸入相關的條件,單擊 [查詢]就可查找信息。 1.1.2 選擇[學生信息查詢]菜單命令,即可進入[學生信息查詢]功能窗體,在其中的下拉列表中選擇你要看的信息,則在下面的表格中顯示你要的信息。 1.1.3 選擇[成績管理] [添加成績]菜單命令,即可進入 [添加成績]功能窗體,此功能權限只有管理員和教師。 1.1.4 選擇[成績管理] [輸入成績]菜單命令,即可進入 [輸入成績]功能窗體, 此功能權限只有管理員和教師。 1.1.5 選擇[成績管理] [修改成績] 界面,此功能規(guī)管理員所有。 1.1.6 選擇[成績管理] [查詢成績]界面此界面對學生也是可見的,它的權限規(guī)所有用戶所有。 1.1.7 選擇[登陸] [重新登陸] 則會返回登陸界面,為用戶提供方便。 1.1.8 選擇[退出]將退出整個系統(tǒng)。 1.2 性能需求分析 時間特性要求:在軟件方面,響應時間有點慢,因為是用Eclipse做的,它占用內存比較大,更新處理時間比較快而且迅速。 安全性:設立口令號和密碼驗證方式,防止非法用戶登錄進行操作。也就是用戶只有管理員、學生和教師才能進入這個系統(tǒng),用戶憑口令號和密碼進入此系統(tǒng),系統(tǒng)會自動判斷用戶是那種類型,分別擁有不同的權限。 1.3 數(shù)據(jù)庫需求分析――數(shù)據(jù)流圖 1.3.1 數(shù)據(jù)結構 在系統(tǒng)中功能模塊主要牽涉到的信息包括:是學生信息(Student)、課程信息(Course)、成績表(SC). 學生信息:包含學號(STNO)、姓名(SNAME)、年齡(SAGE)、性別(SSEX)、系別(SDEPT) 課程信息:包括課程編號(Cno)、課程名稱(Cname)、先行課(Cpno) 成績表;學號(STNO)、課程號(Cno)、成績(Grade) 1.3.2 數(shù)據(jù)流: 1) 數(shù)據(jù)流名:口令號 說明:根據(jù)這個口令號定位到用戶管理數(shù)據(jù)庫,以便進行身份驗證。 數(shù)據(jù)流來源:登陸界面輸入的口令號和密碼。 數(shù)據(jù)流去向:其中用戶口令信息將存在于整個操作過程中,防止非法登陸。 數(shù)據(jù)流組成:口令號(文本);密碼(文本) 2) 數(shù)據(jù)流名:尋找信息 說明:根據(jù)用戶在學生信息維護的時候所填寫的信息。 數(shù)據(jù)流來源:學生信息維護界面學生輸入包含學號、班級編號、名稱等。 數(shù)據(jù)流去向:學號將存在整個操作,其它的存入數(shù)據(jù)庫。 數(shù)據(jù)流組成:學號(文本);姓名(文本)等 3) 數(shù)據(jù)流名:尋找信息 說明:根據(jù)用戶在成績管理的時候所填寫的信息。 數(shù)據(jù)流來源:成績輸入、修改、添加等界面用戶輸入包含課程編號、課程名稱、成績、教師。 數(shù)據(jù)流去向:學號、班級編號、課程編號將存在整個操作,其它的存入數(shù)據(jù)庫。 數(shù)據(jù)流組成:課程編號(文本)、課程名稱(文本)、教師(文本)等。 4) 數(shù)據(jù)流名:返回信息 說明:根據(jù)用戶在學生信息維護的時候所填寫的信息存入了數(shù)據(jù)庫之后。 數(shù)據(jù)流來源:由學生信息維護界面學生輸入的包含學號、姓名、性別等存入數(shù)據(jù)庫的。 數(shù)據(jù)流去向:學生信息維護界面。 數(shù)據(jù)流組成:學號(文本)、姓名(文本)、班級名稱(文本)、性別(文本)等。 5) 數(shù)據(jù)流名:返回信息 說明:根據(jù)用戶在成績管理的時候所填寫的信息存入數(shù)據(jù)庫后。 數(shù)據(jù)流來源:由成績管理輸入的包含班級名稱、教師、課程名、成績存入數(shù)據(jù)庫的。 數(shù)據(jù)流去向:成績管理的各子界面。 數(shù)據(jù)流組成:班級編號(文本);班級名稱(文本);教師(文本)等; 2概要結構設計 2.1系統(tǒng)功能結構設計 2.1.1模塊的功能設計 根據(jù)需求分析階段得到的功能需求,管理員、學生和教師用戶通過輸入口令號和密碼進下該系統(tǒng)后,可以進行一些學生基礎信息查詢(學生信息查詢、班級信息查詢、課程信息查詢)、學生信息維護、成績管理(成績查詢、計算平均分)重新登陸系統(tǒng)、退出。 模塊功能大概可以分為如下4個方面:這幾個模塊學生基礎維護、成績管理、登陸、退出。其中基礎維護還要包括學生信息維護、班級信息維護、課程信息維護。成績管理包括成績查詢、添加成績、成績輸入等。綜上所述,得到客戶端功能模塊圖如下2.1所示。 2.2 概要結構設計 用戶登陸 登陸 管理員登陸 增加信息 查詢信息 查詢信息 刪除信息 E-R 圖:開課 系別 名稱 含有 課名 先行課 成績 姓名 課程 選課 學號 系別 年齡 學生 3詳細設計及實現(xiàn) 3.1用戶登陸模塊 3.1.1 代碼實現(xiàn) package com.kk; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Login extends JFrame { private static final long serialVersionUID = 4949257312955311099L; TextField f1; TextField f2; JButton b1; JButton b2; JButton b3; String power;//表示權限 Login(){ Container cp=getContentPane(); cp.setLayout(new GridLayout(4,1)); Label l1=new Label("用戶名"); Label l2=new Label("密 碼"); Panel p1=new Panel(); Panel p2=new Panel(); Panel p3=new Panel(); f1=new TextField(10); f2=new TextField(10); f2.setEchoChar(*); b1=new JButton("登錄"); b2=new JButton("重置"); b3=new JButton("退出"); p1.add(l1); p1.add(f1); p2.add(l2); p2.add(f2); p3.add(b1); p3.add(b2); p3.add(b3); cp.add(p1); cp.add(p2); cp.add(p3); b1.addActionListener(new Enter()); b2.addActionListener(new ReWrite()); b3.addActionListener(new Close()); } public static void main(String[] args) { Login log=new Login(); log.setTitle("系統(tǒng)登錄"); log.setBounds(200, 200, 300, 300); log.setBackground(Color.blue); log.setVisible(true); } class Enter implements ActionListener{ public void actionPerformed(ActionEvent e) { if((f1.getText()).equals("1410")&&(f2.getText()).equals("chenjian")) { JOptionPane.showMessageDialog(null, "登錄成功!用戶權限是管理員"); power="管理員"; XueSheng frame1 = new XueSheng(); frame1.setVisible(true); } else if((f1.getText()).equals("abc")&&(f2.getText()).equals("123456")) { JOptionPane.showMessageDialog(null, "登錄成功!登錄成功!用戶權限是游客"); power="游客"; Find f2 = new Find(); f2.setVisible(true); } else JOptionPane.showMessageDialog(null, "登錄失敗,請重新登錄!"); } } class ReWrite implements ActionListener{ public void actionPerformed(ActionEvent e) { f1.setText(""); f2.setText(""); f1.requestFocus(); } } class Close implements ActionListener{ public void actionPerformed(ActionEvent e) { JButton bt=(JButton)e.getSource(); if(bt==b3) System.exit(0); } } } 3.2 管理員界面 3.2.1 代碼實現(xiàn): package com.kk; import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.JFrame; public class XueSheng extends JFrame implements ActionListener { JButton cx, zj, tc, sc; XueSheng() { setBounds(100, 100, 600, 600); JPanel panel2 = new JPanel(); setContentPane(panel2); panel2.setLayout(null); JLabel label1 = new JLabel("歡迎進入學生信息管理界面"); label1.setFont(new Font("BOLD", Font.BOLD, 28)); panel2.add(label1); label1.setBounds(50, 20, 400, 100); cx = new JButton("查詢"); panel2.add(cx); cx.setBounds(50, 200, 80, 50); zj = new JButton("增加"); panel2.add(zj); zj.setBounds(150, 200, 80, 50); sc = new JButton("刪除"); panel2.add(sc); sc.setBounds(250, 200, 80, 50); tc = new JButton("退出"); panel2.add(tc); tc.setBounds(350, 200, 80, 50); cx.addActionListener(this); zj.addActionListener(this); sc.addActionListener(this); tc.addActionListener(this); setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource() == cx) { Find f = new Find(); } if(e.getSource()==zj){ AddFI f = new AddFI(); } if(e.getSource()==sc){ Delet d = new Delet(); } if(e.getSource()==tc){ shutDown(); } } private void shutDown(){ this.dispose(); } } 3.3 用戶界面 3.3.1 代碼實現(xiàn): package com.kk; import java.awt.*; import java.awt.event.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.swing.*; public class Find extends JFrame implements ActionListener { JTextField t1; String STNO, r1, r2, r3, r4, r5, r6; JButton b1, b2; XueSheng xue; Find() { super("查詢學生信息"); Container c1 = this.getContentPane(); setBackground(new Color(215, 215, 215)); c1.setLayout(new GridLayout(3, 2)); JPanel pp = new JPanel(); JLabel label0 = new JLabel("請輸入你的學號"); label0.setForeground(Color.blue); pp.add(label0); JPanel p1 = new JPanel(); t1 = new JTextField(10); p1.add(new Label("")); p1.add(t1); c1.add(p1); JPanel p2 = new JPanel(); b1 = new JButton("查詢"); b2 = new JButton("退出"); b1.addActionListener(this); b2.addActionListener(this); p2.add(b1); p2.add(b2); c1.add(p2); this.setVisible(true); this.setBounds(200, 200, 400, 300); } public void actionPerformed(ActionEvent e) { try { if (e.getSource() == b1) { try { STNO = t1.getText(); Class.forName( "com.microsoft.sqlserver.jdbc.SQLServerDriver") .newInstance(); String url = "jdbc:sqlserver://localhost:1433; DatabaseName=ss"; String userName = "sa"; // 默認用戶名 String userPwd = "sa"; Connection cn = DriverManager.getConnection(url, userName, userPwd); String str = "select Student.SNAME,Student.SAGE,Student.SSEX,Student.STNO,Course.Cname,SC.Grade from Student,Course ,SC where Student.STNO = SC.STNO and SC.Cno = Course.Cno and Student.STNO ="+STNO+""; PreparedStatement ps = cn.prepareStatement(str); ResultSet rs = ps.executeQuery(); System.out.println("STNO=" + STNO); if (rs.next()) { r1 = rs.getString("STNO"); r2 = rs.getString("SNAME"); r3 = rs.getString("SAGE"); r4 = rs.getString("SSEX"); r5 = rs.getString("Cname"); r6 = rs.getString("Grade"); } else { JOptionPane.showMessageDialog(null, "你輸入的學號有誤"); } cn.close(); } catch (SQLException g) { System.out.println("Error" + g.getErrorCode()); System.out.println("Merrage=" + g.getMessage()); } catch (Exception f) { f.printStackTrace(); } File f = new File(); this.dispose(); } if (e.getSource() == b2) { t1.setText(""); t1.repaint(); } } catch (NumberFormatException ex) { JOptionPane.showMessageDialog(null, "數(shù)據(jù)轉換錯誤"); } } class File extends JFrame implements ActionListener { JTextField tt1, t2, t3, t4, t5, t6; JButton b3; File() { super("查詢學生信息"); Container c2 = this.getContentPane(); setBackground(new Color(215, 215, 215)); c2.setLayout(new GridLayout(3, 1)); tt1 = new JTextField(r1); t2 = new JTextField(r2); t3 = new JTextField(r3); t4 = new JTextField(r4); t5 = new JTextField(r5); t6 = new JTextField(r6); tt1.setEditable(false); t2.setEditable(false); t3.setEditable(false); t4.setEditable(false); t5.setEditable(false); t6.setEditable(false); JPanel pp1 = new JPanel(); JLabel label2 = new JLabel("學號為" + STNO + "學生的信息"); pp1.add(label2); label2.setFont(new Font("BOLD", Font.BOLD, 28)); c2.add(pp1); JPanel pp2 = new JPanel(new GridLayout(6, 2)); pp2.add(new JLabel("學號", SwingConstants.CENTER)); tt1.setText(STNO); pp2.add(tt1); pp2.add(new JLabel("姓名", SwingConstants.CENTER)); pp2.add(t2); pp2.add(new JLabel("年齡", SwingConstants.CENTER)); pp2.add(t3); pp2.add(new JLabel("性別", SwingConstants.CENTER)); pp2.add(t4); pp2.add(new JLabel("課程", SwingConstants.CENTER)); pp2.add(t5); pp2.add(new JLabel("成績", SwingConstants.CENTER)); pp2.add(t6); c2.add(pp2); JPanel pp3 = new JPanel(); b3 = new JButton("返回"); b3.addActionListener(this); pp3.add(b3); c2.add(pp3); this.setBounds(200, 200, 600, 400); setVisible(true); } public void actionPerformed(ActionEvent f) { if (f.getSource() == b3) { this.dispose(); } } } } 3.4 添加模塊 3.4.1 添加模塊代碼實現(xiàn): package com.kk; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class AddFI extends JFrame implements ActionListener { JTextField STNOText, SNAMEText, SAGEText, SSEXText, SDEPTText; JButton b1, b2, b3; String STNO, SNAME, SAGE, SSEX, SDEPT; public AddFI() { Container c = this.getContentPane(); c.setLayout(new GridLayout(3, 1)); JPanel center = new JPanel(new GridLayout(5, 2)); JPanel low = new JPanel(new FlowLayout()); JLabel label1 = new JLabel("添加學生信息", SwingConstants.CENTER); label1.setFont(new Font("TRUE", Font.TRUETYPE_FONT, 20)); c.add(label1); STNOText = new JTextField(30); SNAMEText = new JTextField(30); SSEXText = new JTextField(30); SAGEText = new JTextField(30); SDEPTText = new JTextField(30); center.add(new JLabel("學號", SwingConstants.CENTER)); center.add(STNOText); center.add(new JLabel("姓名", SwingConstants.CENTER)); center.add(SNAMEText); center.add(new JLabel("性別", SwingConstants.CENTER)); center.add(SSEXText); center.add(new JLabel("年齡", SwingConstants.CENTER)); center.add(SAGEText); center.add(new JLabel("系別", SwingConstants.CENTER)); center.add(SDEPTText); c.add(center); b1 = new JButton("添加"); b2 = new JButton("清除"); b3 = new JButton("退出"); low.add(b1); low.add(b2); low.add(b3); c.add(low); // 為按鈕添加jianting b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); this.setBounds(200, 200, 600, 400); this.setVisible(true); this.setTitle("添加學生信息"); } public void actionPerformed(ActionEvent e) { if (e.getSource() == b1) { addFI(); } if (e.getSource() == b2) { clearForm(); } if (e.getSource() == b3) { shutdown(); } } private void addFI() { STNO = STNOText.getText(); SNAME = SNAMEText.getText(); SSEX = SSEXText.getText(); SAGE = SAGEText.getText(); SDEPT = SDEPTText.getText(); if (STNO.length() == 0 || SNAME.length() == 0 || SAGE.length() == 0 || SDEPT.length() == 0 || SSEX.length() == 0) JOptionPane.showMessageDialog(this, "請?zhí)砑油耆畔?); else { try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver") .newInstance(); String url = "jdbc:sqlserver://localhost:1433; DatabaseName=ss"; String userName = "sa"; // 默認用戶名 String userPwd = "sa"; Connection cn = DriverManager.getConnection(url, userName, userPwd); String str = "INSERT INTO Student VALUES(?,?,?,?,?)"; PreparedStatement ps = cn.prepareStatement(str); ps.setString(1, STNO); ps.setString(2, SNAME); ps.setString(3, SSEX); ps.setString(4, SAGE); ps.setString(5, SDEPT); ps.executeUpdate(); cn.close(); JOptionPane.showMessageDialog(this, "添加成功"); clearForm(); } catch (SQLException e) { System.out.println("ECode" + e.getErrorCode()); System.out.println("E M=" + e.getMessage()); } catch (Exception e) { e.printStackTrace(); } } } private void clearForm() { STNOText.setText(""); SNAMEText.setText(""); SAGEText.setText(""); SSEXText.setText(""); SDEPTText.setText(""); } private void shutdown() { this.dispose(); } } 3.5 刪除模塊 3.5.1 代碼實現(xiàn): package com.kk; import java.awt.*; import java.awt.event.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import javax.swing.*; public class Delet extends JFrame implements ActionListener{ JButton yes; JButton cancle; JTextField text1; String STNO; Delet(){ Container c = this.getContentPane(); c.setLayout(new GridLayout(3, 1)); c.setFont(new Font("true",Font.TRUETYPE_FONT,13)); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JLabel label1 = new JLabel("刪除學生信息",SwingConstants.CENTER); label1.setFont(new Font("true",Font.TRUETYPE_FONT,13)); label1.setForeground(Color.blue); c.add(label1); JLabel label2 = new JLabel("請輸入學號"); text1 = new JTextField(10); p1.add(label2); p1.add(text1); c.add(- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- java 學生 成績管理系統(tǒng)
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
相關資源
更多
正為您匹配相似的精品文檔
相關搜索
鏈接地址:http://italysoccerbets.com/p-6565761.html