版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫(kù)課程設(shè)計(jì)說(shuō)明書題 目: 學(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ù)庫(kù):MYSQL 開發(fā)語(yǔ)言: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é)生信息的添加、刪除、修改、查詢等功能。學(xué)生檢索:要求提供多種檢索方式。設(shè)計(jì)要求(1) 三到四人為一個(gè)小組,小組成員既要有團(tuán)隊(duì)協(xié)作精神,又要分工明確。每個(gè)學(xué)
2、生都必須充分了解整個(gè)設(shè)計(jì)的全過(guò)程。(3) 從開始的系統(tǒng)需求分析到最后的系統(tǒng)測(cè)試,都要有詳細(xì)的計(jì)劃,設(shè)計(jì)文檔應(yīng)按照軟件工程的要求書寫。(3) 系統(tǒng)中的數(shù)據(jù)表設(shè)計(jì)應(yīng)合理、高效,盡量減少數(shù)據(jù)冗余。(4) 系統(tǒng)安全性高。工作量課程設(shè)計(jì)說(shuō)明書字?jǐn)?shù)要求3000以上,不包括圖表。工作計(jì)劃第2周:需求分析,總體設(shè)計(jì) 第39周:詳細(xì)設(shè)計(jì),上機(jī)調(diào)試第1011周:編寫課程設(shè)計(jì)說(shuō)明書及驗(yàn)收參考資料1 王珊,薩師煊. 數(shù)據(jù)庫(kù)系統(tǒng)概論M. 北京:高等教育出版社,2007.2Java語(yǔ)言程序設(shè)計(jì) 北京:清華大學(xué)出版社,2005.3SQL Server 2000實(shí)驗(yàn)指導(dǎo)(第2版)北京:清華大學(xué)出版社,2008。指導(dǎo)教師簽字教
3、研室主任簽字學(xué)生姓名: 學(xué)號(hào): 專業(yè)班級(jí):課程設(shè)計(jì)題目:學(xué)生學(xué)籍信息管理系統(tǒng)指導(dǎo)教師評(píng)語(yǔ):成績(jī):指導(dǎo)教師:年 月 日目錄1、問(wèn)題描述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ù)庫(kù)關(guān)系圖85、詳細(xì)設(shè)計(jì)85。1主菜單設(shè)計(jì)85。2函數(shù)設(shè)計(jì)及主要功能描述96、編碼和單元測(cè)試97、綜合測(cè)試107。1各函數(shù)測(cè)試結(jié)果107。2測(cè)試118、軟件維護(hù)129、總結(jié)1210、參考文獻(xiàn)131、問(wèn)題描述1。1 主要的數(shù)據(jù)表:學(xué)生信息數(shù)據(jù)表,專業(yè)班級(jí)數(shù)據(jù)表,系統(tǒng)用戶數(shù)據(jù)表等.1。2 主要功能模塊系統(tǒng)管理:管理
4、員帳號(hào)添加、修改、刪除、密碼修改等。專業(yè)班級(jí)管理:實(shí)現(xiàn)專業(yè)班級(jí)的添加、刪除、修改、查詢等功能。學(xué)生信息管理:實(shí)現(xiàn)學(xué)生信息的添加、刪除、修改、查詢等功能。學(xué)生檢索:要求提供多種檢索方式。2、可行性研究對(duì)于所要求的功能模塊,可以通過(guò)JAVA程序連接到數(shù)據(jù)庫(kù)。通過(guò)相對(duì)應(yīng)的操作要求,可以通過(guò)用戶或管理員的方式登錄,然后通過(guò)提示完成上述一系列的操作,包括:賬號(hào)的添加、修改,學(xué)生信息的添加、修改、刪除,班級(jí)信息的添加、修改、刪除等等操作。3、需求分析用戶登錄:操作員可以分為兩種,一種是管理員,一種是普通用戶。兩者的權(quán)限是不一樣的,所以在通過(guò)不同身份進(jìn)入到系統(tǒng)里面會(huì)出現(xiàn)不同的操作界面。其中管理員多了添加、修
5、改、刪除操作,還有就是用戶管理操作;而一般的用戶只有查看和修改自己密碼的權(quán)限。查看當(dāng)前信息:主要是通過(guò)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),查看當(dāng)前數(shù)據(jù)庫(kù)中的信息是否完整,然后才能進(jìn)行其它操作。這一功能是普通用戶和管理員都有的權(quán)限,所以兩個(gè)方法可以合二為一,而不用去分別寫了。查看的信息包括:學(xué)生信息和班級(jí)信息。管理員還包括一個(gè)用戶信息查詢。當(dāng)然也可以對(duì)個(gè)別學(xué)生通過(guò)不同的查找方式來(lái)查看對(duì)應(yīng)學(xué)生的信息和班級(jí)信息。修改密碼:管理員可能通過(guò)不同的方法對(duì)自己的密碼和其它所有用戶的密碼進(jìn)行修改。而普通用戶只能通過(guò)此功能修改自己的密碼。用戶管理:管理員特權(quán)。其中包括:創(chuàng)建用戶、刪除用戶、修改用戶密碼等.通過(guò)對(duì)已經(jīng)用戶的查看,如果
6、有必要?jiǎng)?chuàng)建一個(gè)新用戶的話就可以通過(guò)此方法來(lái)創(chuàng)建。當(dāng)然用戶名相同的不能再次創(chuàng)建.如果有用戶不再使用此系統(tǒng),為保證安全性可以盡快將其刪除.而修改密碼是和上一個(gè)方法聯(lián)系在一起的.插入操作:管理員特權(quán)!在系統(tǒng)之初,數(shù)據(jù)庫(kù)里面可能包含太少的學(xué)生信息和班級(jí)信息。而管理員則可以此方法向數(shù)據(jù)庫(kù)中添加數(shù)據(jù)。其中包括添加學(xué)生信息和班級(jí)信息。刪除操作:管理員特權(quán)!如果系統(tǒng)用的時(shí)間比較長(zhǎng)的話,那么學(xué)生信息和班級(jí)信息不可能一直不變.如果出現(xiàn)了學(xué)生離?;蛘甙嗉?jí)編排方式不同,則有可能出現(xiàn)多余的信息,此時(shí)可以通過(guò)此方法將多余的信息刪除掉.其中包括刪除學(xué)生信息和班級(jí)信息。修改操作:管理員特權(quán)!在管理員添加信息的時(shí)候,出錯(cuò)是難以
7、避免的,而有時(shí)候一個(gè)學(xué)生的信息只是錯(cuò)了個(gè)班級(jí)。如果將其刪除然后再重新添加費(fèi)時(shí)又費(fèi)力。相反可以通過(guò)此方法對(duì)一條記錄中的個(gè)別錯(cuò)誤進(jìn)行修改.這樣可以節(jié)約很多添加和刪除操作.其中包括修改學(xué)生信息和班級(jí)信息。主函數(shù):主要用于整體框架的構(gòu)建。并通過(guò)輸入說(shuō)明將方法分解開來(lái),因此,用戶可以完成準(zhǔn)確的操作。4、總體設(shè)計(jì)4。1主要表的設(shè)計(jì):此系統(tǒng)包括三個(gè)表:學(xué)生學(xué)籍信息表(圖4-1)、班級(jí)信息表(圖42)、用戶表(圖43)圖41圖42圖4-34。2學(xué)生學(xué)籍信息管理系統(tǒng)流程圖(圖44)圖4-44.3數(shù)據(jù)庫(kù)關(guān)系圖(圖45)圖455、詳細(xì)設(shè)計(jì)5.1主菜單設(shè)計(jì)(圖51、52)圖5-1 圖525.2函數(shù)設(shè)計(jì)及主要功能描述(
8、1)public static void log_in(String name,String pwd):用戶登錄驗(yàn)證.通過(guò)傳入用戶輸入的用戶名和密碼與數(shù)據(jù)庫(kù)中的users表中的用戶名和密碼一一對(duì)照。如果用戶名和密碼在users表中,則登錄成功。否則登錄失敗。并且失敗次數(shù)不得超過(guò)三次。超過(guò)三次會(huì)自動(dòng)退出系統(tǒng)。同時(shí),如果用戶名是Administrator,將標(biāo)志位flag 設(shè)為true。用于后面登錄界面的用戶的區(qū)別。(2)public static void student_watch():查看當(dāng)前學(xué)生信息。直接連接數(shù)據(jù)庫(kù)。將數(shù)據(jù)庫(kù)中的student表里面的內(nèi)容全部輸出到界面上.(3)public
9、 static void change_secret():修改密碼。用戶和管理員均可使用。中間有重復(fù)輸入新密碼并校對(duì)兩次輸入的密碼是否相同。(4)public static void admin_watch_users():查看當(dāng)前用戶信息,管理員特權(quán)。直接連接數(shù)據(jù)庫(kù)將數(shù)據(jù)庫(kù)中的users表里面的內(nèi)容全部輸出到界面上。(7)public static void admin_create_user():創(chuàng)建新用戶,管理員特權(quán)。如果有新的用戶要求創(chuàng)建用戶名,管理員則可以通過(guò)此方法創(chuàng)建用戶需要的賬號(hào). (6)public static void admin_delete_user():刪除不用的用戶
10、名和密碼,管理員特權(quán).(7)public static void admin_student_insert():插入學(xué)生信息,管理員特權(quán)。在系統(tǒng)之初,需要向數(shù)據(jù)庫(kù)中添加許多學(xué)生信息。管理員可以通過(guò)此方法完成相應(yīng)的功能。(8)public static void admin_change():修改學(xué)生信息,管理員特權(quán)??梢詫?duì)特定學(xué)生的各樣屬性進(jìn)行修改。(9)public static void admin_student_delete()throws Exception:刪除學(xué)生信息,管理員特權(quán)。對(duì)無(wú)用的學(xué)生信息進(jìn)刪除。(10)public static void class_watch()th
11、rows Exception:查看班級(jí)信息,公用功能。通過(guò)連接數(shù)據(jù)庫(kù),將數(shù)據(jù)庫(kù)中class表輸出到界面。(11)public static void admin_class_change():修改班級(jí),管理員特權(quán)。可以對(duì)班級(jí)特定的屬性進(jìn)行修改。(12)public static void student_search():查找學(xué)生,公用功能方法??梢酝ㄟ^(guò)學(xué)生的各個(gè)屬性查找特定的學(xué)生。然后輸出該學(xué)生的信息.(13)public static void main(String args):主方法,整個(gè)程序的入口。完成不同方法的正常調(diào)用。6、編碼和單元測(cè)試通過(guò)詳細(xì)設(shè)計(jì)之后,應(yīng)用程序中所有的方法及其調(diào)
12、用方式都已經(jīng)設(shè)計(jì)好。接下來(lái)就是把詳細(xì)設(shè)計(jì)的結(jié)果翻譯成JAVA代碼。在編寫代碼的時(shí)候,難免會(huì)遇到一些問(wèn)題,大概用了一周的時(shí)間編寫完成。編寫完成扣進(jìn)行了仔細(xì)測(cè)試編寫出的每一個(gè)模塊。7、綜合測(cè)試7.1各函數(shù)測(cè)試結(jié)果如下圖所示:(1)查看學(xué)生信息(圖71)圖71(2)插入學(xué)生信息(圖72)圖72(3)查看班級(jí)信息(圖73)圖73(4)查找特定學(xué)生信息(圖7-4)圖74(7)用戶操作-刪除用戶(圖75)圖7-57。2測(cè)試 通過(guò)不了解此代碼的人通過(guò)多次各種各樣的測(cè)試,發(fā)現(xiàn)系統(tǒng)中出現(xiàn)了很多錯(cuò)誤.如通過(guò)管理員卻進(jìn)入了一般用戶的界面、在要求選擇的時(shí)候出現(xiàn)輸入字母后直接退出等等問(wèn)題。說(shuō)明此系統(tǒng)還需要用戶的進(jìn)一部使
13、用,也需要我進(jìn)一步去完善。8、軟件維護(hù)維護(hù)階段的關(guān)鍵任務(wù)是,通過(guò)各和必要的維護(hù)活動(dòng)使系統(tǒng)持久地滿足用戶的需要。而且是在實(shí)際軟件設(shè)計(jì)中花時(shí)間最長(zhǎng)的一項(xiàng).但由于此次只是編寫課程設(shè)計(jì)。所以此項(xiàng)未能進(jìn)行9、總結(jié)通過(guò)此次課程設(shè)計(jì),掌握到了數(shù)據(jù)庫(kù)系統(tǒng)的開發(fā)方法。同時(shí)也加深了對(duì)剛剛學(xué)習(xí)的JAVA的印象。編寫代碼的那個(gè)星期里面,幾乎每天晚上上完自習(xí)回來(lái)都在編寫,總共七個(gè)模塊,一天大概寫一個(gè)模塊.雖然感覺非常的累,但卻也感覺到了一種充實(shí)感。有事做總比沒事做去打游戲要好的多!整個(gè)代碼在寫的過(guò)程中出現(xiàn)了很多問(wèn)題。有的實(shí)在解決不了的問(wèn)題,就抱著筆記本電腦到下課的時(shí)候問(wèn)教我們JAVA的石文兵老師,老師也非常樂意幫助我解
14、決一些困難.有的時(shí)候不懂的問(wèn)題沒必要上網(wǎng)搜,或者自己去看書.因?yàn)槟菢涌赡苡昧艘簧衔绲臅r(shí)間還不如老師的一句話有用。對(duì)這一點(diǎn)我頗有感觸。記得書上面只教會(huì)了我插入已經(jīng)給出的內(nèi)容,但是如果讓用戶輸入要插入的內(nèi)容,則花了我很長(zhǎng)一段時(shí)間去搞明白。后來(lái)實(shí)在找不到解決辦法.只能在實(shí)驗(yàn)課上問(wèn)老師了.結(jié)果老師花了不到十分鐘的時(shí)間,不僅給我講了如何實(shí)現(xiàn)插入用戶輸入的內(nèi)容。而且還給我講到了連接數(shù)據(jù)庫(kù)的實(shí)質(zhì)以及如何設(shè)置數(shù)據(jù)庫(kù)的安全性、添加數(shù)據(jù)庫(kù)用戶等等.而這些之前我只是會(huì)把代碼抄下來(lái),并沒能完全理解.此次課程設(shè)計(jì)結(jié)束之后,我還意猶未盡,因?yàn)閺闹懈杏X到了寫代碼的趣味。于是,我就開始想方設(shè)法找點(diǎn)小的應(yīng)用程序去寫。因?yàn)檫@樣的
15、學(xué)習(xí)方法是最快也是最有效的方式。比老師上課講要好的多.而且大學(xué)生也應(yīng)該培養(yǎng)自己的動(dòng)手能力。而動(dòng)手能力只能來(lái)自于自己從頭到尾的去寫一個(gè)不大的應(yīng)用程序。了解整個(gè)創(chuàng)作的一個(gè)大體思路,在寫的過(guò)程中還要不斷地去請(qǐng)教我們的老師.因?yàn)樗麄儗?duì)實(shí)際應(yīng)用程序的把握比我們要強(qiáng)的多.當(dāng)看到自己寫這個(gè)1000行的JAVA程序能夠很順暢的運(yùn)行的時(shí)候,心里是無(wú)比的高興.也許其它人看到我這個(gè)只能在DOS下運(yùn)行的程序,感覺非常的不美觀;也許他們從網(wǎng)上下到的東西比我這好看的多。但是,我想,從中得到的快樂肯定不可同日而語(yǔ)。雖然現(xiàn)在網(wǎng)絡(luò)很發(fā)達(dá),很多東西都能在網(wǎng)上找的到,但是要從中真正學(xué)到東西,才能發(fā)揮網(wǎng)絡(luò)的真正作用.像有的同學(xué)把源代
16、碼下下來(lái)后,跑過(guò)來(lái)問(wèn)我數(shù)據(jù)源怎么創(chuàng)建。當(dāng)然搞的我相當(dāng)無(wú)語(yǔ)。當(dāng)然,學(xué)無(wú)止境,不能因?yàn)檫@么一點(diǎn)小的成就就止步不前.前路很漫長(zhǎng),但我相信只要自己肯用心去學(xué)習(xí),Nothing is impossible!10、參考文獻(xiàn)1王珊,薩師煊. 數(shù)據(jù)庫(kù)系統(tǒng)概論M。 北京:高等教育出版社,2007.2Java語(yǔ)言程序設(shè)計(jì) 北京:清華大學(xué)出版社,2005。3SQL Server 2000實(shí)驗(yàn)指導(dǎo)(第2版)北京:清華大學(xué)出版社,2008。11、附源程序import java.util.Scanner;import java.sql。;public class Student static boolean flag;
17、/標(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。JdbcOdbcDriver”;String connectionStr = ”jdbc:odbc:conn”;Connection con = null;Statement stmt = null;ResultSet rs = null;
18、Class。forName(DBDrive); con = DriverManager。getConnection(connectionStr,”sa”,"sa");stmt = con。createStatement();rs = stmt。executeQuery("Select From users where username= "+name+" and password= '”+pwd+”);if(rs。next()System。out。println(”登錄成功!”);else /設(shè)置三秒后關(guān)閉程序i+;if(i = 3)i
19、nt j; System。out.println(”登錄錯(cuò)誤次數(shù)已經(jīng)三次。系統(tǒng)將在三秒后關(guān)閉!”);for(j=0; j3; j+) Thread.sleep(1000);System。out。println(3-j);if(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
20、 username = reader.nextLine();System.out.println(”請(qǐng)輸入您的密碼:”);String 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”;
21、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 student”);while(rs.next())System。out。p
22、rint(rs。getString(”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(rs。getString("sdept")+" ”);public static v
23、oid change_secret()throws Exception /修改密碼_通用 (出現(xiàn)點(diǎn)問(wèn)題。密碼修改不了!??)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&qu
24、ot;,”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 = reader.nextLine();if(pwd1。equals(pwd2)String sql = ”update users set password = '”+pwd1+" where use
25、rname = '”+present_name+"'”;trystmt.executeQuery(sql);catch(Exception e);System。out。println("密碼修改成功!下次登錄請(qǐng)用新的密碼!”);/String sql1 = "select * from users where username = "+present_name+"”;rs = stmt。executeQuery(sql1);System。out.println(rs。getString(”password"));if(
26、pwd1.equals(rs.getString(”password”)System.out。println(”密碼修改成功!下次登錄請(qǐng)用新的密碼!”);/elseSystem。out。println("兩次密碼輸入不相同.無(wú)法完成修改!”);public static void admin_watch_users()throws Exception /查看當(dāng)前用戶信息_管理員String DBDrive = ”sun。jdbc。odbc。JdbcOdbcDriver”;String connectionStr = ”jdbc:odbc:conn”;Connection con =
27、null;Statement stmt = null;ResultSet rs = null;Class.forName(DBDrive); con = DriverManager。getConnection(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_
28、create_user()throws Exception/創(chuà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(connectionStr,”sa",”sa”);stmt = con。c
29、reateStatement();boolean a = true;while(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(”輸入有誤!此用戶名已經(jīng)存在!”);br
30、eak;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 = con。prepareStatement(sql);pstmt.setStr
31、ing(1, username);pstmt.setString(2, pwd1);int intTemp = pstmt.executeUpdate();if(intTemp != 0)a = false;System。out。println("用戶創(chuàng)建成功!");elseSystem.out。println(”兩次密碼輸入不相同。無(wú)法完成創(chuàng)建!");public static void admin_delete_user()throws Exception/刪除用戶_管理員String DBDrive = "sun。jdbc。odbc.JdbcOdb
32、cDriver"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("請(qǐng)輸入所要?jiǎng)h除用戶名:”);Scanner reader = new Scanner(System。in);St
33、ring 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 Exception / 插入學(xué)生信息String DBDrive = ”sun。jdbc.odbc。JdbcOdbcDriver”;String connectionStr = "jd
34、bc: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;while(a)Scanner scr = new Scanner(System.in);System。out.println("請(qǐng)輸入學(xué)生的學(xué)號(hào):");St
35、ring sno =scr。nextLine();String strsql = (”select from student where sno ='”+sno+”);rs = stmt。executeQuery(strsql);if(rs。next()a = false;System。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 =
36、 scr.nextLine();System。out。println(”請(qǐng)輸入學(xué)生的班級(jí):”);int sclass = Integer。parseInt(scr。nextLine();System.out。println("請(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+”
37、 ”+sclass+” ”+sage+" ”+sdept);System。out.println(”確認(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.setStrin
38、g(3, ssex);pstmt。setInt(4, sclass);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 =
39、 ”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();Scanner reader = new Scanner(System.in);System。out。p
40、rintln(”請(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。println(" 1、 修改學(xué)號(hào)”); System。out。println(” 2、 修改姓名 ”)
41、; System.out。println(” 3、 修改性別 "); System。out。println(” 4、 修改班級(jí)”); System。out。println(" 5、 修改年齡”); System。out。println(” 6、 修改專業(yè)"); System.out。println(" 0、 返回上一步 "); System。out.println(”請(qǐng)輸入您的選擇:”); int chioce_change = Integer。parseInt(reader。nextLine()); String strsql = null;
42、 switch(chioce_change) case 1: System。out。println("請(qǐng)輸入您所要更改為:”); String sno_after = reader。nextLine(); strsql = ”update student set sno = '”+sno_after+" where sno = ”+sno_before+"”; /此處不知錯(cuò)在何處。如何不使用異常處理。 try stmt。executeQuery(strsql); catch(Exception e) ; System。out.println(”修改成功!&
43、quot;); break; case 2: System.out。println(”您想把名字更改為:”); String sname = reader.nextLine(); strsql = ”update student set sname = ”+sname+" where sno = '”+sno_before+”; try stmt。executeQuery(strsql); catch(Exception e) ; System。out。println(”修改成功!”); break; case 3: System。out.println("您想把性
44、別更改為:”); String ssex = reader.nextLine(); strsql = ”update student set ssex = ”+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。
45、nextLine(); strsql = ”update student 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
46、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(); strsql = ”update student set sdept = '”+sd
47、ept+" 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ì)不起!輸入有誤!"); break; elseSystem。out.println(”不存在此學(xué)號(hào)!”);public static void adm
48、in_student_delete()throws Exception / 刪除學(xué)生信息String 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。createState
49、ment();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 = '”+name_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 c
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度漁船租賃與漁業(yè)政策研究服務(wù)合同4篇
- 2025年度租賃房屋租賃合同稅費(fèi)繳納指南4篇
- 2025年文化創(chuàng)意產(chǎn)業(yè)合伙人合作協(xié)議書模板3篇
- 2025年度專業(yè)賽車場(chǎng)車手雇傭合同3篇
- 2025年物產(chǎn)中大金屬集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 《廉政風(fēng)險(xiǎn)防控培訓(xùn)課件》
- 2025年貴州遵義金控集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 二零二五年度米面油食品安全風(fēng)險(xiǎn)評(píng)估與監(jiān)控合同4篇
- 2025年消防給排水系統(tǒng)管網(wǎng)優(yōu)化設(shè)計(jì)施工合同2篇
- 2025年度重型工業(yè)門采購(gòu)安裝合同范本4篇
- 中國(guó)華能集團(tuán)公司風(fēng)力發(fā)電場(chǎng)運(yùn)行導(dǎo)則(馬晉輝20231.1.13)
- 中考語(yǔ)文非連續(xù)性文本閱讀10篇專項(xiàng)練習(xí)及答案
- 2022-2023學(xué)年度六年級(jí)數(shù)學(xué)(上冊(cè))寒假作業(yè)【每日一練】
- 法人不承擔(dān)責(zé)任協(xié)議書(3篇)
- 電工工具報(bào)價(jià)單
- 反歧視程序文件
- 油氣藏類型、典型的相圖特征和識(shí)別實(shí)例
- 流體靜力學(xué)課件
- 顧客忠誠(chéng)度論文
- 實(shí)驗(yàn)室安全檢查自查表
- 證券公司績(jī)效考核管理辦法
評(píng)論
0/150
提交評(píng)論