




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、【精品文檔】如有侵權(quán),請(qǐng)聯(lián)系網(wǎng)站刪除,僅供學(xué)習(xí)與交流數(shù)據(jù)庫課程設(shè)計(jì) java (學(xué)生學(xué)籍信息管理系統(tǒng)).精品文檔.數(shù) 據(jù) 庫課程設(shè)計(jì)說明書題 目: 學(xué)生學(xué)籍信息管理系統(tǒng) 院 系: 專業(yè)班級(jí): 學(xué) 號(hào): 學(xué)生姓名: 指導(dǎo)教師: 2010年5月 31日學(xué) 號(hào)學(xué)生姓名專業(yè)(班級(jí))設(shè)計(jì)題目 學(xué)生學(xué)籍信息管理系統(tǒng)設(shè)計(jì)技術(shù)參數(shù)數(shù)據(jù)庫:MYSQL 開發(fā)語言:JAVA(1)主要的數(shù)據(jù)表: 學(xué)生信息數(shù)據(jù)表,專業(yè)班級(jí)數(shù)據(jù)表,系統(tǒng)用戶數(shù)據(jù)表等。 (2) 主要功能模塊系統(tǒng)管理:管理員帳號(hào)添加、修改、刪除、密碼修改等。專業(yè)班級(jí)管理:實(shí)現(xiàn)專業(yè)班級(jí)的添加、刪除、修改、查詢等功能。學(xué)生信息管理:實(shí)現(xiàn)學(xué)生信息的添加、刪除、修改
2、、查詢等功能。學(xué)生檢索:要求提供多種檢索方式。設(shè)計(jì)要求(1) 三到四人為一個(gè)小組,小組成員既要有團(tuán)隊(duì)協(xié)作精神,又要分工明確。每個(gè)學(xué)生都必須充分了解整個(gè)設(shè)計(jì)的全過程。(3) 從開始的系統(tǒng)需求分析到最后的系統(tǒng)測試,都要有詳細(xì)的計(jì)劃,設(shè)計(jì)文檔應(yīng)按照軟件工程的要求書寫。(3) 系統(tǒng)中的數(shù)據(jù)表設(shè)計(jì)應(yīng)合理、高效,盡量減少數(shù)據(jù)冗余。(4) 系統(tǒng)安全性高。工作量 課程設(shè)計(jì)說明書字?jǐn)?shù)要求3000以上,不包括圖表。工作計(jì)劃第2周:需求分析,總體設(shè)計(jì) 第39周:詳細(xì)設(shè)計(jì),上機(jī)調(diào)試第1011周:編寫課程設(shè)計(jì)說明書及驗(yàn)收參考資料1 王珊,薩師煊. 數(shù)據(jù)庫系統(tǒng)概論M. 北京:高等教育出版社,2007.2Java語言程序設(shè)
3、計(jì) 北京:清華大學(xué)出版社,2005.3SQL Server 2000實(shí)驗(yàn)指導(dǎo)(第2版)北京:清華大學(xué)出版社,2008.指導(dǎo)教師簽字教研室主任簽字學(xué)生姓名: 學(xué)號(hào): 專業(yè)班級(jí): 課程設(shè)計(jì)題目: 學(xué)生學(xué)籍信息管理系統(tǒng) 指導(dǎo)教師評(píng)語: 成績: 指導(dǎo)教師: 年 月 日目錄1、問題描述51.1 主要的數(shù)據(jù)表:51.2 主要功能模塊52、可行性研究53、需求分析54、總體設(shè)計(jì)64.1主要表的設(shè)計(jì):64.2學(xué)生學(xué)籍信息管理系統(tǒng)流程圖74.3數(shù)據(jù)庫關(guān)系圖85、詳細(xì)設(shè)計(jì)85.1主菜單設(shè)計(jì)85.2函數(shù)設(shè)計(jì)及主要功能描述96、編碼和單元測試97、綜合測試107.1各函數(shù)測試結(jié)果107.2測試118、軟件維護(hù)129、
4、總結(jié)1210、參考文獻(xiàn)131、問題描述1.1 主要的數(shù)據(jù)表: 學(xué)生信息數(shù)據(jù)表,專業(yè)班級(jí)數(shù)據(jù)表,系統(tǒng)用戶數(shù)據(jù)表等。1.2 主要功能模塊系統(tǒng)管理:管理員帳號(hào)添加、修改、刪除、密碼修改等。專業(yè)班級(jí)管理:實(shí)現(xiàn)專業(yè)班級(jí)的添加、刪除、修改、查詢等功能。學(xué)生信息管理:實(shí)現(xiàn)學(xué)生信息的添加、刪除、修改、查詢等功能。學(xué)生檢索:要求提供多種檢索方式。2、可行性研究對(duì)于所要求的功能模塊,可以通過JAVA程序連接到數(shù)據(jù)庫。通過相對(duì)應(yīng)的操作要求,可以通過用戶或管理員的方式登錄,然后通過提示完成上述一系列的操作,包括:賬號(hào)的添加、修改,學(xué)生信息的添加、修改、刪除,班級(jí)信息的添加、修改、刪除等等操作。3、需求分析用戶登錄:操
5、作員可以分為兩種,一種是管理員,一種是普通用戶。兩者的權(quán)限是不一樣的,所以在通過不同身份進(jìn)入到系統(tǒng)里面會(huì)出現(xiàn)不同的操作界面。其中管理員多了添加、修改、刪除操作,還有就是用戶管理操作;而一般的用戶只有查看和修改自己密碼的權(quán)限。查看當(dāng)前信息:主要是通過對(duì)數(shù)據(jù)庫的訪問,查看當(dāng)前數(shù)據(jù)庫中的信息是否完整,然后才能進(jìn)行其它操作。這一功能是普通用戶和管理員都有的權(quán)限,所以兩個(gè)方法可以合二為一,而不用去分別寫了。查看的信息包括:學(xué)生信息和班級(jí)信息。管理員還包括一個(gè)用戶信息查詢。當(dāng)然也可以對(duì)個(gè)別學(xué)生通過不同的查找方式來查看對(duì)應(yīng)學(xué)生的信息和班級(jí)信息。修改密碼:管理員可能通過不同的方法對(duì)自己的密碼和其它所有用戶的密
6、碼進(jìn)行修改。而普通用戶只能通過此功能修改自己的密碼。用戶管理:管理員特權(quán)。其中包括:創(chuàng)建用戶、刪除用戶、修改用戶密碼等。通過對(duì)已經(jīng)用戶的查看,如果有必要?jiǎng)?chuàng)建一個(gè)新用戶的話就可以通過此方法來創(chuàng)建。當(dāng)然用戶名相同的不能再次創(chuàng)建。如果有用戶不再使用此系統(tǒng),為保證安全性可以盡快將其刪除。而修改密碼是和上一個(gè)方法聯(lián)系在一起的。插入操作:管理員特權(quán)!在系統(tǒng)之初,數(shù)據(jù)庫里面可能包含太少的學(xué)生信息和班級(jí)信息。而管理員則可以此方法向數(shù)據(jù)庫中添加數(shù)據(jù)。其中包括添加學(xué)生信息和班級(jí)信息。刪除操作:管理員特權(quán)!如果系統(tǒng)用的時(shí)間比較長的話,那么學(xué)生信息和班級(jí)信息不可能一直不變。如果出現(xiàn)了學(xué)生離?;蛘甙嗉?jí)編排方式不同,則有
7、可能出現(xiàn)多余的信息,此時(shí)可以通過此方法將多余的信息刪除掉。其中包括刪除學(xué)生信息和班級(jí)信息。修改操作:管理員特權(quán)!在管理員添加信息的時(shí)候,出錯(cuò)是難以避免的,而有時(shí)候一個(gè)學(xué)生的信息只是錯(cuò)了個(gè)班級(jí)。如果將其刪除然后再重新添加費(fèi)時(shí)又費(fèi)力。相反可以通過此方法對(duì)一條記錄中的個(gè)別錯(cuò)誤進(jìn)行修改。這樣可以節(jié)約很多添加和刪除操作。其中包括修改學(xué)生信息和班級(jí)信息。主函數(shù):主要用于整體框架的構(gòu)建。并通過輸入說明將方法分解開來,因此,用戶可以完成準(zhǔn)確的操作。4、總體設(shè)計(jì)4.1主要表的設(shè)計(jì):此系統(tǒng)包括三個(gè)表:學(xué)生學(xué)籍信息表(圖4-1)、班級(jí)信息表(圖4-2)、用戶表(圖4-3)圖4-1圖4-2圖4-34.2學(xué)生學(xué)籍信息管
8、理系統(tǒng)流程圖(圖4-4)圖4-44.3數(shù)據(jù)庫關(guān)系圖(圖4-5)圖4-55、詳細(xì)設(shè)計(jì)5.1主菜單設(shè)計(jì)(圖5-1、5-2)圖5-1 圖5-25.2函數(shù)設(shè)計(jì)及主要功能描述(1) public static void log_in(String name, String pwd): 用戶登錄驗(yàn)證。通過傳入用戶輸入的用戶名和密碼與數(shù)據(jù)庫中的users表中的用戶名和密碼一一對(duì)照。如果用戶名和密碼在users表中,則登錄成功。否則登錄失敗。并且失敗次數(shù)不得超過三次。超過三次會(huì)自動(dòng)退出系統(tǒng)。同時(shí),如果用戶名是Administrator,將標(biāo)志位flag 設(shè)為true。用于后面登錄界面的用戶的區(qū)別。(2) pu
9、blic static void student_watch():查看當(dāng)前學(xué)生信息。直接連接數(shù)據(jù)庫。將數(shù)據(jù)庫中的student表里面的內(nèi)容全部輸出到界面上。(3) public static void change_secret():修改密碼。用戶和管理員均可使用。中間有重復(fù)輸入新密碼并校對(duì)兩次輸入的密碼是否相同。(4) public static void admin_watch_users():查看當(dāng)前用戶信息,管理員特權(quán)。直接連接數(shù)據(jù)庫將數(shù)據(jù)庫中的users表里面的內(nèi)容全部輸出到界面上。(7) public static void admin_create_user():創(chuàng)建新用戶,管理
10、員特權(quán)。如果有新的用戶要求創(chuàng)建用戶名,管理員則可以通過此方法創(chuàng)建用戶需要的賬號(hào)。 (6) public static void admin_delete_user():刪除不用的用戶名和密碼,管理員特權(quán)。(7) public static void admin_student_insert():插入學(xué)生信息,管理員特權(quán)。在系統(tǒng)之初,需要向數(shù)據(jù)庫中添加許多學(xué)生信息。管理員可以通過此方法完成相應(yīng)的功能。(8) public static void admin_change():修改學(xué)生信息,管理員特權(quán)??梢詫?duì)特定學(xué)生的各樣屬性進(jìn)行修改。(9) public static void admin_st
11、udent_delete()throws Exception:刪除學(xué)生信息,管理員特權(quán)。對(duì)無用的學(xué)生信息進(jìn)刪除。(10) public static void class_watch()throws Exception:查看班級(jí)信息,公用功能。通過連接數(shù)據(jù)庫,將數(shù)據(jù)庫中class表輸出到界面。(11) public static void admin_class_change():修改班級(jí),管理員特權(quán)。可以對(duì)班級(jí)特定的屬性進(jìn)行修改。(12) public static void student_search():查找學(xué)生,公用功能方法??梢酝ㄟ^學(xué)生的各個(gè)屬性查找特定的學(xué)生。然后輸出該學(xué)生的信息
12、。(13) public static void main(String args):主方法,整個(gè)程序的入口。完成不同方法的正常調(diào)用。6、編碼和單元測試通過詳細(xì)設(shè)計(jì)之后,應(yīng)用程序中所有的方法及其調(diào)用方式都已經(jīng)設(shè)計(jì)好。接下來就是把詳細(xì)設(shè)計(jì)的結(jié)果翻譯成JAVA代碼。在編寫代碼的時(shí)候,難免會(huì)遇到一些問題,大概用了一周的時(shí)間編寫完成。編寫完成扣進(jìn)行了仔細(xì)測試編寫出的每一個(gè)模塊。7、綜合測試7.1各函數(shù)測試結(jié)果如下圖所示:(1)查看學(xué)生信息(圖7-1)圖7-1(2) 插入學(xué)生信息(圖7-2)圖7-2(3) 查看班級(jí)信息(圖7-3) 圖7-3(4)查找特定學(xué)生信息(圖7-4)圖7-4(7)用戶操作刪除用戶
13、(圖7-5)圖7-57.2測試 通過不了解此代碼的人通過多次各種各樣的測試,發(fā)現(xiàn)系統(tǒng)中出現(xiàn)了很多錯(cuò)誤。如通過管理員卻進(jìn)入了一般用戶的界面、在要求選擇的時(shí)候出現(xiàn)輸入字母后直接退出等等問題。說明此系統(tǒng)還需要用戶的進(jìn)一部使用,也需要我進(jìn)一步去完善。8、軟件維護(hù)維護(hù)階段的關(guān)鍵任務(wù)是,通過各和必要的維護(hù)活動(dòng)使系統(tǒng)持久地滿足用戶的需要。而且是在實(shí)際軟件設(shè)計(jì)中花時(shí)間最長的一項(xiàng)。但由于此次只是編寫課程設(shè)計(jì)。所以此項(xiàng)未能進(jìn)行9、總結(jié)通過此次課程設(shè)計(jì),掌握到了數(shù)據(jù)庫系統(tǒng)的開發(fā)方法。同時(shí)也加深了對(duì)剛剛學(xué)習(xí)的JAVA的印象。編寫代碼的那個(gè)星期里面,幾乎每天晚上上完自習(xí)回來都在編寫,總共七個(gè)模塊,一天大概寫一個(gè)模塊。雖
14、然感覺非常的累,但卻也感覺到了一種充實(shí)感。有事做總比沒事做去打游戲要好的多!整個(gè)代碼在寫的過程中出現(xiàn)了很多問題。有的實(shí)在解決不了的問題,就抱著筆記本電腦到下課的時(shí)候問教我們JAVA的石文兵老師,老師也非常樂意幫助我解決一些困難。有的時(shí)候不懂的問題沒必要上網(wǎng)搜,或者自己去看書。因?yàn)槟菢涌赡苡昧艘簧衔绲臅r(shí)間還不如老師的一句話有用。對(duì)這一點(diǎn)我頗有感觸。記得書上面只教會(huì)了我插入已經(jīng)給出的內(nèi)容,但是如果讓用戶輸入要插入的內(nèi)容,則花了我很長一段時(shí)間去搞明白。后來實(shí)在找不到解決辦法。只能在實(shí)驗(yàn)課上問老師了。結(jié)果老師花了不到十分鐘的時(shí)間,不僅給我講了如何實(shí)現(xiàn)插入用戶輸入的內(nèi)容。而且還給我講到了連接數(shù)據(jù)庫的實(shí)質(zhì)
15、以及如何設(shè)置數(shù)據(jù)庫的安全性、添加數(shù)據(jù)庫用戶等等。而這些之前我只是會(huì)把代碼抄下來,并沒能完全理解。此次課程設(shè)計(jì)結(jié)束之后,我還意猶未盡,因?yàn)閺闹懈杏X到了寫代碼的趣味。于是,我就開始想方設(shè)法找點(diǎn)小的應(yīng)用程序去寫。因?yàn)檫@樣的學(xué)習(xí)方法是最快也是最有效的方式。比老師上課講要好的多。而且大學(xué)生也應(yīng)該培養(yǎng)自己的動(dòng)手能力。而動(dòng)手能力只能來自于自己從頭到尾的去寫一個(gè)不大的應(yīng)用程序。了解整個(gè)創(chuàng)作的一個(gè)大體思路,在寫的過程中還要不斷地去請(qǐng)教我們的老師。因?yàn)樗麄儗?duì)實(shí)際應(yīng)用程序的把握比我們要強(qiáng)的多。當(dāng)看到自己寫這個(gè)1000行的JAVA程序能夠很順暢的運(yùn)行的時(shí)候,心里是無比的高興。也許其它人看到我這個(gè)只能在DOS下運(yùn)行的程
16、序,感覺非常的不美觀;也許他們從網(wǎng)上下到的東西比我這好看的多。但是,我想,從中得到的快樂肯定不可同日而語。雖然現(xiàn)在網(wǎng)絡(luò)很發(fā)達(dá),很多東西都能在網(wǎng)上找的到,但是要從中真正學(xué)到東西,才能發(fā)揮網(wǎng)絡(luò)的真正作用。像有的同學(xué)把源代碼下下來后,跑過來問我數(shù)據(jù)源怎么創(chuàng)建。當(dāng)然搞的我相當(dāng)無語。當(dāng)然,學(xué)無止境,不能因?yàn)檫@么一點(diǎn)小的成就就止步不前。前路很漫長,但我相信只要自己肯用心去學(xué)習(xí),Nothing is impossible!10、參考文獻(xiàn)1王珊,薩師煊. 數(shù)據(jù)庫系統(tǒng)概論M. 北京:高等教育出版社,2007.2Java語言程序設(shè)計(jì) 北京:清華大學(xué)出版社,2005.3SQL Server 2000實(shí)驗(yàn)指導(dǎo)(第2版
17、)北京:清華大學(xué)出版社,2008.11、附源程序import java.util.Scanner;import java.sql.*;public class Student static boolean flag; /標(biāo)記是否為管理員static int i =0; /限制密碼輸入次數(shù)static String present_name; /記錄當(dāng)前用戶public static void log_in(String name,String pwd) throws Exception/用戶登錄驗(yàn)證String DBDrive = "sun.jdbc.odbc.JdbcOdbcDri
18、ver"String connectionStr = "jdbc:odbc:conn"Connection con = null;Statement stmt = null;ResultSet rs = null;Class.forName(DBDrive); con = DriverManager.getConnection(connectionStr,"sa","sa");stmt = con.createStatement();rs = stmt.executeQuery("Select * From use
19、rs where username= '"+name+"' and password= '"+pwd+"'");if(rs.next()System.out.println("登錄成功!");else /設(shè)置三秒后關(guān)閉程序i+;if(i = 3)int j; System.out.println("登錄錯(cuò)誤次數(shù)已經(jīng)三次。系統(tǒng)將在三秒后關(guān)閉!");for(j=0; j<3; j+) Thread.sleep(1000);System.out.println(3-j);i
20、f(j = 3)System.exit(0);elseSystem.out.println("您的用戶名或密碼不正確!請(qǐng)重新登錄!");System.out.println("您還有"+(3-i)+"次機(jī)會(huì)");Scanner reader = new Scanner(System.in);System.out.println("請(qǐng)輸入您的用戶名:");String username = reader.nextLine();System.out.println("請(qǐng)輸入您的密碼:");Strin
21、g password = reader.nextLine();log_in(username,password);if(name.equals("Administrator")flag = true; /設(shè)個(gè)管理員的標(biāo)志位elseflag = false;public static void student_watch()throws Exception /當(dāng)前學(xué)生信息String DBDrive = "sun.jdbc.odbc.JdbcOdbcDriver"String connectionStr = "jdbc:odbc:conn&quo
22、t;Connection con = null;Statement stmt = null;ResultSet rs = null;Class.forName(DBDrive); con = DriverManager.getConnection(connectionStr,"sa","sa");stmt = con.createStatement();rs = stmt.executeQuery("Select * From student");while(rs.next()System.out.print(rs.getString
23、("sno")+" ");System.out.print(rs.getString("sname")+" ");System.out.print(rs.getString("ssex")+" ");System.out.print(rs.getInt("sclass")+" ");System.out.print(rs.getInt("sage")+" ");System.out.println
24、(rs.getString("sdept")+" ");public static void change_secret()throws Exception /修改密碼_通用 (出現(xiàn)點(diǎn)問題。密碼修改不了!?)String DBDrive = "sun.jdbc.odbc.JdbcOdbcDriver"String connectionStr = "jdbc:odbc:conn"Connection con = null;Statement stmt = null;/*ResultSet rs = null;*/Cl
25、ass.forName(DBDrive); con = DriverManager.getConnection(connectionStr,"sa","sa");stmt = con.createStatement(); System.out.println("您想把密碼改為:");Scanner reader = new Scanner(System.in);String pwd1 = reader.nextLine();System.out.println("請(qǐng)重復(fù)新密碼:");String pwd2 = re
26、ader.nextLine();if(pwd1.equals(pwd2)String sql = "update users set password = '"+pwd1+"' where username = '"+present_name+"'"trystmt.executeQuery(sql);catch(Exception e)System.out.println("密碼修改成功!下次登錄請(qǐng)用新的密碼!");/*String sql1 = "select * fro
27、m users where username = '"+present_name+"'"rs = stmt.executeQuery(sql1);System.out.println(rs.getString("password");if(pwd1.equals(rs.getString("password")System.out.println("密碼修改成功!下次登錄請(qǐng)用新的密碼!");elseSystem.out.println("兩次密碼輸入不相同。無法完成修改!&quo
28、t;);public static void admin_watch_users()throws Exception /查看當(dāng)前用戶信息_管理員String DBDrive = "sun.jdbc.odbc.JdbcOdbcDriver"String connectionStr = "jdbc:odbc:conn"Connection con = null;Statement stmt = null;ResultSet rs = null;Class.forName(DBDrive); con = DriverManager.getConnection(
29、connectionStr,"sa","sa");stmt = con.createStatement();rs = stmt.executeQuery("Select * From users");while(rs.next()System.out.println(rs.getString("username")+" ");public static void admin_create_user()throws Exception/創(chuàng)建用戶_管理員String DBDrive = "
30、sun.jdbc.odbc.JdbcOdbcDriver"String connectionStr = "jdbc:odbc:conn"Connection con = null;Statement stmt = null;ResultSet rs = null;Class.forName(DBDrive); con = DriverManager.getConnection(connectionStr,"sa","sa");stmt = con.createStatement();boolean a = true;whil
31、e(a)Scanner scr = new Scanner(System.in);System.out.println("請(qǐng)輸入用戶名:");String username =scr.nextLine();String strsql = ("select * from users where username ='"+username+"'");rs = stmt.executeQuery(strsql);if(rs.next()a = false;System.out.println("輸入有誤!此用戶名已
32、經(jīng)存在!");break;System.out.println("請(qǐng)輸入密碼:");Scanner reader = new Scanner(System.in);String pwd1 = reader.nextLine();System.out.println("請(qǐng)重復(fù)密碼:");String pwd2 = reader.nextLine();if(pwd1.equals(pwd2)String sql = "insert into users values(?,?)"PreparedStatement pstmt =
33、con.prepareStatement(sql);pstmt.setString(1, username);pstmt.setString(2, pwd1);int intTemp = pstmt.executeUpdate();if(intTemp != 0)a = false;System.out.println("用戶創(chuàng)建成功!");elseSystem.out.println("兩次密碼輸入不相同。無法完成創(chuàng)建!");public static void admin_delete_user()throws Exception/刪除用戶_管理員S
34、tring DBDrive = "sun.jdbc.odbc.JdbcOdbcDriver"String connectionStr = "jdbc:odbc:conn"Connection con = null;Statement stmt = null;Class.forName(DBDrive); con = DriverManager.getConnection(connectionStr,"sa","sa");stmt = con.createStatement();System.out.println(
35、"請(qǐng)輸入所要?jiǎng)h除用戶名:");Scanner reader = new Scanner(System.in);String name_d = reader.nextLine();String sql = "delete from users WHERE username = '"+name_d+"'"stmt.executeUpdate(sql);System.out.println("刪除成功!");public static void admin_student_insert()throws E
36、xception / 插入學(xué)生信息String DBDrive = "sun.jdbc.odbc.JdbcOdbcDriver"String connectionStr = "jdbc:odbc:conn"Connection con = null;Statement stmt = null;ResultSet rs = null;Class.forName(DBDrive); con = DriverManager.getConnection(connectionStr,"sa","sa");stmt = con
37、.createStatement();boolean a = true;while(a)Scanner scr = new Scanner(System.in);System.out.println("請(qǐng)輸入學(xué)生的學(xué)號(hào):");String sno =scr.nextLine();String strsql = ("select * from student where sno ='"+sno+"'");rs = stmt.executeQuery(strsql);if(rs.next()a = false;System
38、.out.println("輸入有誤!此學(xué)號(hào)已經(jīng)存在!");break;System.out.println("請(qǐng)輸入學(xué)生的姓名:");String sname = scr.nextLine();System.out.println("請(qǐng)輸入學(xué)生的性別:");String ssex = scr.nextLine();System.out.println("請(qǐng)輸入學(xué)生的班級(jí):");int sclass = Integer.parseInt(scr.nextLine();System.out.println("
39、;請(qǐng)輸入學(xué)生的年齡:");int sage = Integer.parseInt(scr.nextLine();System.out.println("請(qǐng)輸入學(xué)生的專業(yè):");String sdept= scr.nextLine();System.out.println("您所要插入的信息為:"+sno+" "+sname+" "+ssex+" "+sclass+" "+sage+" "+sdept);System.out.println(&qu
40、ot;確認(rèn)填加信息嗎?(y/n):");String chioce = scr.nextLine();if(chioce.equals("y")String sql = "insert into student values(?,?,?,?,?,?)"PreparedStatement pstmt = con.prepareStatement(sql);pstmt.setString(1, sno);pstmt.setString(2, sname);pstmt.setString(3, ssex);pstmt.setInt(4, sclass
41、);pstmt.setInt(5, sage);pstmt.setString(6, sdept);int intTemp = pstmt.executeUpdate();if(intTemp != 0)System.out.println("插入成功!");a = false;elseSystem.out.println("插入已經(jīng)取消!");a = false;public static void admin_change()throws Exception /修改學(xué)生信息String DBDrive = "sun.jdbc.odbc.Jd
42、bcOdbcDriver"String connectionStr = "jdbc:odbc:conn"Connection con = null;Statement stmt = null;ResultSet rs = null;Class.forName(DBDrive); con = DriverManager.getConnection(connectionStr,"sa","sa");stmt = con.createStatement();Scanner reader = new Scanner(System.i
43、n);System.out.println("請(qǐng)輸入您所要修改的學(xué)生的學(xué)號(hào):");String sno_before = reader.nextLine();String sql = "select * from student where sno='"+sno_before+"'"rs = stmt.executeQuery(sql);boolean a = true;if(rs.next()while(a)System.out.println("您可以有以下操作: "); System.out.
44、println(" 1、 修改學(xué)號(hào)"); System.out.println(" 2、 修改姓名 "); System.out.println(" 3、 修改性別 "); System.out.println(" 4、 修改班級(jí)"); System.out.println(" 5、 修改年齡"); System.out.println(" 6、 修改專業(yè)"); System.out.println(" 0、 返回上一步 "); System.out.pr
45、intln("請(qǐng)輸入您的選擇:"); int chioce_change = Integer.parseInt(reader.nextLine(); String strsql = null; switch(chioce_change) case 1: System.out.println("請(qǐng)輸入您所要更改為:"); String sno_after = reader.nextLine(); strsql = "update student set sno = '"+sno_after+"' where s
46、no = '"+sno_before+"'" /此處不知錯(cuò)在何處。如何不使用異常處理。 try stmt.executeQuery(strsql); catch(Exception e) System.out.println("修改成功!"); break; case 2: System.out.println("您想把名字更改為:"); String sname = reader.nextLine(); strsql = "update student set sname = '"
47、;+sname+"' where sno = '"+sno_before+"'" try stmt.executeQuery(strsql); catch(Exception e) System.out.println("修改成功!"); break; case 3: System.out.println("您想把性別更改為:"); String ssex = reader.nextLine(); strsql = "update student set ssex = '&
48、quot;+ssex+"' where sno = '"+sno_before+"'" try stmt.executeQuery(strsql); catch(Exception e) System.out.println("修改成功!"); break; case 4: System.out.println("您想把年齡更改為:"); int sage = Integer.parseInt(reader.nextLine(); strsql = "update student
49、set sage = '"+sage+"' where sno = '"+sno_before+"'" try stmt.executeQuery(strsql); catch(Exception e) System.out.println("修改成功!"); break; case 5: System.out.println("您想把班級(jí)更改為:"); int sclass = Integer.parseInt(reader.nextLine(); strsql = &q
50、uot;update student set sclass = '"+sclass+"' where sno = '"+sno_before+"'" try stmt.executeQuery(strsql); catch(Exception e) System.out.println("修改成功!"); break; case 6: System.out.println("您想把專業(yè)更改為:"); String sdept =reader.nextLine(); strs
51、ql = "update student set sdept = '"+sdept+"' where sno = '"+sno_before+"'" /此處不知錯(cuò)在何處。如何不使用異常處理。 try stmt.executeQuery(strsql); catch(Exception e) System.out.println("修改成功!"); break; case 0: a = false; break; default: System.out.println("對(duì)不
52、起!輸入有誤!"); break;elseSystem.out.println("不存在此學(xué)號(hào)!");public static void admin_student_delete()throws Exception / 刪除學(xué)生信息String DBDrive = "sun.jdbc.odbc.JdbcOdbcDriver"String connectionStr = "jdbc:odbc:conn"Connection con = null;Statement stmt = null;Class.forName(DBDr
53、ive); con = DriverManager.getConnection(connectionStr,"sa","sa");stmt = con.createStatement();System.out.println("請(qǐng)輸入所要?jiǎng)h除學(xué)生的姓名:");Scanner reader = new Scanner(System.in);String name_d = reader.nextLine();String sql = "delete from Student WHERE Sname = '"+n
54、ame_d+"'"stmt.executeUpdate(sql);System.out.println("刪除成功!");public static void class_watch()throws Exception /查看班級(jí)信息String DBDrive = "sun.jdbc.odbc.JdbcOdbcDriver"String connectionStr = "jdbc:odbc:conn"Connection con = null;Statement stmt = null;ResultSet
55、 rs = null;Class.forName(DBDrive); con = DriverManager.getConnection(connectionStr,"sa","sa");stmt = con.createStatement();String sql = "select * from class"rs = stmt.executeQuery(sql);while(rs.next()System.out.print(rs.getString("cno")+" ");System.out.print(rs.getString("cname")+" ");System.out.print(rs.getString("cdept")+" ");System.out.println(rs.getString("cmonitor")+" ");public static void admin_class_change()throws Exception /修改班級(jí)String DBDrive = &
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)殖股東協(xié)議合同范例
- 考試動(dòng)向2025年行政管理試題及答案
- 管理心理學(xué)的理論發(fā)展與實(shí)踐創(chuàng)新試題及答案
- 現(xiàn)代管理學(xué)與實(shí)踐結(jié)合試題及答案
- 行政管理與人才戰(zhàn)略研究試題及答案
- 養(yǎng)老機(jī)構(gòu)雇傭合同范例
- 行政管理中的利益均衡試題及答案
- 現(xiàn)代管理創(chuàng)新理論試題及答案
- 行政管理的國際動(dòng)態(tài)與本土實(shí)踐研究試題及答案
- 學(xué)習(xí)建筑工程中的必要財(cái)務(wù)知識(shí)試題及答案
- 2024年同等學(xué)力申碩-同等學(xué)力(哲學(xué))筆試參考題庫含答案
- 電氣工程及其自動(dòng)化畢業(yè)論文-基于單片機(jī)的太陽光追蹤系統(tǒng)設(shè)計(jì)
- 防范幫信罪知識(shí)講座
- 2022年高考浙江省英語考試真題及答案
- 建設(shè)項(xiàng)目水資源論證
- 建筑設(shè)計(jì)防火要求規(guī)范2024修訂版
- 2021年武漢中考數(shù)學(xué)試題(附答案)
- 2024-2024學(xué)年湖北省武漢市洪山區(qū)八年級(jí)(下)期末數(shù)學(xué)試卷
- 規(guī)范會(huì)議記錄培訓(xùn)課件
- GIS(地理信息系統(tǒng))空間分析
- 《舞蹈藝術(shù)賞析》課件
評(píng)論
0/150
提交評(píng)論