學(xué)生學(xué)籍管理信息系統(tǒng)_第1頁
學(xué)生學(xué)籍管理信息系統(tǒng)_第2頁
學(xué)生學(xué)籍管理信息系統(tǒng)_第3頁
學(xué)生學(xué)籍管理信息系統(tǒng)_第4頁
學(xué)生學(xué)籍管理信息系統(tǒng)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、大理學(xué)院數(shù)學(xué)與計算機學(xué)院數(shù)據(jù)庫系統(tǒng)設(shè)計課程設(shè)計報告班級:學(xué)號:XXXXXXX姓名:XXXXXXX系統(tǒng)名稱:學(xué)生學(xué)籍管理信息系統(tǒng)總分:大理學(xué)院數(shù)學(xué)與計算機學(xué)院數(shù)據(jù)庫系統(tǒng)設(shè)計課程設(shè)計報告1、需求分析學(xué)生學(xué)籍管理工作包括學(xué)生檔案、學(xué)籍、成績、升學(xué)等內(nèi)容的管理;面對大量的學(xué)生 數(shù)據(jù)、報表,手工處理方式已經(jīng)很難跟上現(xiàn)代化的步伐。隨著計算機技術(shù)及網(wǎng)絡(luò)通訊技術(shù)的飛速發(fā)展,許多學(xué)校已經(jīng)有了較好的計算機應(yīng)用甚至網(wǎng)絡(luò)硬件建設(shè)基礎(chǔ)。因此為提高學(xué)校管理工作的現(xiàn)代化、科學(xué)化水平,保證信息處理的即時化、準(zhǔn)確化,開發(fā)一套對學(xué)生學(xué)籍進行管理的軟件是極其重要的。1.1 系統(tǒng)功能1.1.1 本系統(tǒng)應(yīng)完成的主要功能(1)學(xué)生檔案的

2、管理,即錄入、修改、查詢、輸出學(xué)生檔案信息,這些信息包括學(xué)生基 本情況、學(xué)生簡歷情況、學(xué)生獎勵情況、學(xué)生處分情況、學(xué)生家庭信息、學(xué)生體檢情況。(2)學(xué)生成績管理,錄入修改、查詢、輸出學(xué)生入校成績,各學(xué)期、各門課程的成績信 息,并支持按年級、班級等條件的統(tǒng)計、查詢、報表輸出。1.1.2 本系統(tǒng)功能需求(1)按系匯總各專業(yè)各年級的學(xué)生總數(shù)及其中的男、女生數(shù),并統(tǒng)計全???cè)藬?shù)。要求:當(dāng)任意輸入系部名稱、專業(yè)名稱和年級均可返回相應(yīng)信息。(2)按系匯總各年齡段的學(xué)生人數(shù)及其中的男、女生數(shù)。要求:當(dāng)任意輸入系部名稱、年齡時,均可返回相應(yīng)信息。(3)按系統(tǒng)計各地區(qū)的學(xué)生人數(shù)。要求:當(dāng)任意輸入系部名稱、地區(qū)名

3、稱時,均可返回相應(yīng)學(xué)生人數(shù)。(4)按系統(tǒng)計學(xué)生中的黨員、團員人數(shù)。要求:當(dāng)任意輸入系部名稱時,均可返回該系的學(xué)生黨員和團員人數(shù)。 按系統(tǒng)計各民族的學(xué)生人數(shù)。要求:當(dāng)任意輸入系部名稱、民族時,均可返回相應(yīng)信息。(6)按學(xué)年根據(jù)學(xué)生變更數(shù)據(jù)自動修改班級總?cè)藬?shù)(提示:用觸發(fā)器實現(xiàn))、系部總?cè)藬?shù)、學(xué)???cè)藬?shù)。(7)統(tǒng)計各門課程的成績分布情況:其中:1) (90-100、80-90、70-80、60-70、0-59)的人數(shù)及各自占實際考試人數(shù)的百分比數(shù)。2)統(tǒng)計缺考人數(shù)。3)統(tǒng)計及格、不及格人數(shù)。(8)統(tǒng)計每個學(xué)生的綜合測評總成績:1)總成績=平均分*0.7+德體分*0.32)綜合測評的排名。3)根據(jù)總

4、成績評定獎學(xué)金等級(特等、一等、二等、三等) 。4)按學(xué)年根據(jù)學(xué)生學(xué)習(xí)情況確定升、留級人選(補考三門(以上)不及格或畢業(yè)補 考一門(以上)不及格)。(9)學(xué)生成績查詢(分別按學(xué)號、姓名、班級、課程、開設(shè)學(xué)期) ,顯示信息自定。(10)更改信息時,相關(guān)表的相應(yīng)記錄也應(yīng)隨之更改。(如:留級、補考等)(11)觸發(fā)器的應(yīng)用:如:假設(shè)已存在“學(xué)生”、“成績”、“課程”三個表,其中“學(xué)生”表包括學(xué)號,姓名等字段,“成績”表包括學(xué)號,課程代碼,成績等字段,“課程”表包括課程代碼,課程名稱等字段。當(dāng)向“學(xué)生”表中添加一條新的學(xué)生信息后,在“成績”表中添加該學(xué)生所學(xué)課程信息,并確保課程代碼字段的取值是“課程”表

5、中的已有數(shù)據(jù)。(12)子查詢的應(yīng)用:查找“計應(yīng)041”班高于“計應(yīng)042”班總評成績最高分的學(xué)生記錄。(13)創(chuàng)建如下視圖并顯示對應(yīng)的數(shù)據(jù):1) V_學(xué)生成績:包括學(xué)生姓名、課程名稱、成績2) V_班級人數(shù):包括班級名稱、系別、專業(yè)名稱、班級人數(shù)1.2分析過程1.2.1 本系統(tǒng)的數(shù)據(jù)流圖(1)學(xué)生學(xué)籍管理信息系統(tǒng)數(shù)據(jù)流圖35(2)學(xué)生檔案管理數(shù)據(jù)流圖(3)學(xué)生學(xué)籍管理數(shù)據(jù)流圖學(xué)籍錄入(4)學(xué)生成績管理數(shù)據(jù)流圖(5)系統(tǒng)管理數(shù)據(jù)流圖1.2.2 數(shù)據(jù)字典(1)數(shù)據(jù)字典的用途進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果(2)數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)項數(shù)據(jù)流數(shù)據(jù)存儲處理過程(3)表關(guān)系說明1)學(xué)生表

6、字段名數(shù)據(jù)類型含義說明約束情況snoChar(10)學(xué)號主關(guān)鍵字snameChar(10)姓名可為空ssexChar(2)性別可為空sageint年齡可為空smzChar(10)民族可為空sjgChar(10)可為空szzmmChar(10)政治面貌可為空sdepartChar(10)系部可為空smajorChar(10)專業(yè)可為空sgradeChar(10)年級可為空sclassint班級可為空srxcjsmallint入校成績可為空ssfbyChar(10)是否畢業(yè)可為空sbyrqdatetime畢業(yè)日期可為空2)課程表字段名數(shù)據(jù)類型含義說明約束情況cnoint球杠勺主關(guān)鍵字cnamech

7、ar(10)課程名可為空cyearChar(10)開設(shè)學(xué)年可為空ctermChar(10)開設(shè)學(xué)期可為空3)成績表字段名數(shù)據(jù)類型含義說明約束情況snoint學(xué)號主關(guān)鍵字cnoint球杠勺主關(guān)鍵字scoresmallint成績可為空4)獎懲表字段名數(shù)據(jù)類型含義說明約束情況snoint學(xué)號主關(guān)鍵字rtypeChar(10)回可為空rdatedata日期可為空5)班級表字段名數(shù)據(jù)類型含義說明約束情況bhint編R主關(guān)鍵字yxChar(20)院系可為空mcChar(10)名稱可為空rsint人數(shù)可為空6)教師表字段名數(shù)據(jù)類型含義說明約束情況tnoint教工號主關(guān)鍵字tnameChar(10)姓名可為空

8、tsexChar(10)性別可為空tprofessChar(10)職稱可為空ttelint電話可為空2、數(shù)據(jù)庫設(shè)計2.1 數(shù)據(jù)庫概念設(shè)計數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計)優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要求和數(shù)據(jù)操作要求。目標(biāo):為用戶和各種應(yīng)用系統(tǒng)提供一個信息基礎(chǔ)設(shè)施和高效率的運行環(huán)境。2.1.1 表的建立(1)學(xué)生表J 506047jcsxjgldbo.student對焦資源育理器詳方信息列名數(shù)據(jù)類型允許空ch日(10)Bsnamechar (10)fflssexchar (2)s

9、agesmzSjflintchar (10) char(lO)回國團sdepartchar (30)fflsm 司 orchar(30)0sgrsdeint回sdsssszzmmsrxqsmallint char (10) smalUnt國 fflssfbychar (10)fflsbyrqdate time國B(2)課程表JS06047jcsxjgl - dbo.course對蠹資源爸退等注窈信息列名數(shù)據(jù)類到允許空(3)成績表J506047.xsxjgl - dbo.rewardpunish 源皆理懇列名數(shù)據(jù)類5L_l允許空.> snoi intrtypechar (10)團rdate

10、datetinne7(5)班級表J506047Jtsxjgl - dbo.dassW盆資耳苣理器三記信息列名數(shù)據(jù)類型允許空E,ri e,ri ei ri,/,e,hi e,E r,產(chǎn) r,e r e r,r e,ri r,e,ri,一,Lj bhj nthiiMrsun rsi nraifirainrwiniBU-#yxchar (20)Vmediar(20)V$intVI(6)教師表J506047Jtsxjgl dbo.teacher J506047.x5jgl - dbo.student 前象資源營理器詳空信爰列名數(shù)據(jù)類型允許空鬧tnointIDtnamechar(lO)Eltsextpr

11、of&sschar(2) char(lO)團ttelchar(ll)2.1.2表的信息(1)學(xué)生表 X科耐據(jù):碑蛔f3WX毗而期湎町q黑肺瑞田 r;歌簫的洌掰儺”,毗L眼誦就 口黑i二腳把田西淤吊例九僦蝮期i 工霞制取M就E眥翱S n;激用耨%M,dlEE ,眥1 占rnQ眼5事 般副期胖於E能簫耨驊聊.胸孤和1眼珊B螂。力則糠支u£源£斜吊期,“髀瓶鎖,”加)眼犒日EM賴譏刪彈Sy能疏.蝴也加;>me 服相日 -螂:ZIW微E1?源:嫡肚箍.蝌墉,“如jmo 西軸重C岷二暇蠕1;雕端膀溯,“闌i,”如mn于柏崩U班L二刪酒發(fā)LL雌輔褊上期題端船”岫:mn敬物

12、K U喊酒nii源G.i.峭 .耐E 口 盟在K U第i檢£11通誦施時遭“灌瞬常. an3助京 C褪i謔V L旗演臃黑”.胱脖. MilJrna耿4取 口HUi工出口技女1;船簫柵報柳 .2H13眼領(lǐng)T! /lUl;:加4霸田 汜Y陳瑞常.蜘馳.即1 X戢物取 £AUl皿I:9:.i浙跖熠 .珊漉.抑11 Jmn瞅當(dāng)麗 觸i凱山輜y H滯部之拼.爆. JJ111眼電iB明加二皿域雕疏1 峰,“幅 . an*mn歌酉旦 無雙賴譏般第J:腑汨a« 住.b'me西仃B螂i;。噌避7uL那鼬煙 .蠹醛. 3111Jmn 明時簫 U仙。班賴vL雄年眶籟.麹 .M2

13、nio 盟打系 U廄工皿脆S叱髓疏JSS .,珊遹. 20113nia盟K U戰(zhàn)i*魏ifJti皿魁臟成觀成成期雕lUiMIl廄(2)課程表委-dboxourse揖要皿CHigWTiecyearctenm1001高等數(shù)字201111002大"學(xué)英語1201111003大學(xué)物理201111004大學(xué)語文201111005VB.net程序設(shè)計201111005計茸機導(dǎo)論201121006公共體育201121007中國近現(xiàn)代史20112100S亡程序謾計201121009大學(xué)英語工201211O1O高等數(shù)學(xué)a201211011計茸機圖像處201211012通信工程201211013陽G沒計

14、2J01211014昔通話201211015數(shù)學(xué)文化欣嘉201211016觸振結(jié)構(gòu)2012N1017多媒體技術(shù)201221O1S線性代數(shù)201221019高散數(shù)學(xué)201221020中國文化杳題201221021體育舞蹈20122*/UL£fAU£(3)成績表雷-dt?Q.score 檐薨snoenoscore>20 11OO 11OO165201100210028920110031OO17820 11OO100-46520 1 1005100 55620110061006sg2011007100 752011008100656201100910097520 IIO I

15、OIO 1O9S20 1 IO 11IQ 115620 1 IO 121O119820 110 13±O 137520 1 IOLQI。S820110 15101-46720 1 XQ 1610156220 1 IO 171O116520 1 IO 181OO16320 11O 19100261201102010 1598*(4)獎懲表表-dbo.rewardptinish 摘要snortyperdate20110O1獎勵2D1Z/1/2 0;0D;DO2alicKJN處鐲2013/1/5 O:OO;ChO2011003獎勵2D 11/1/2 OiODiDO2011004獎勵2D11

16、/V 0;0D:D02011D05獎勵aoiwji/a o;oo;do2011006獎勵2D11/2/7 0:00:002011007獎勵2012/1/2 0:003002011008獎勵2D11/1/2 口:口moo2011009獎勵2011/1/2 0:00:002011010處翳2011/5/2 口:口moo2011011獎勵2D11/5/4 QiODiM2011012處浣2D11/1/2 0:003002011013處意2011/1/6 0:00:002011014宏羽2011/1/2 Q:00:002011015處羽2012/1/6 01-0000aoiiois獎勵2013/6/2

17、0:00:002011017獎勵2011/1/2 a:co=oo2011013獎勵2012/1/5 a:oooo2011019獎勵2011/7/2 0:00002011020處費20 W1/2 0:0000zoiioii處攜2011/l/Z 口:QQ:OQ米AMZNULL(5)班級表J5O6Q47.xsxjgl - dbo.student J 50047.kexj g 1 - dbo.class. J5D6O47.xs>cjglbhvxmera1數(shù)字與H算機.計茸機科學(xué)與1102藝術(shù)隹畫tl33藝術(shù)雕里4文學(xué)棋對外漢語655數(shù)字與計茸機通信工程796文字林雙語吉文學(xué)1207勤學(xué)與鐘宜機.

18、勤學(xué)與應(yīng)用熱一12S耳地法與經(jīng)營公井事吐管理.93H政法與經(jīng)管思想政治軟育.7610數(shù)字與計茸機統(tǒng)計學(xué)15611外國語學(xué)粽暴沼12312粒學(xué)與W,真機信息與B茸科14513工程學(xué)院電子信息與計西護理學(xué)院護理學(xué)aa15藝術(shù)修畫95蚱fit學(xué)與訶理機.通信工程9717ik法與經(jīng)管思想?yún)s治數(shù)百.91IS對外漢語泰語g1Q教學(xué)與計茸機.通信工程7520文字院對抑雙沿7221地法與經(jīng)管思想劫治就目.61NLLAC££dbo.teacher(6)教師表J506047-X$xj9I ' dbo teacher* J506047HX5Kjgl - dbcnStudent 江彖資源管

19、理洋婦信.豆tnotnametsextprofessttel1Tom臭講師187609511112Jerry更教授187605S22223楊勇女勃授137609533334Mary女湃師187609522335起信畀教6王曦女教MJLLMJLLNLAL2.1.3 E-R 圖(1)學(xué)生實體包含學(xué)號,姓名,性別,年齡,民族,籍貫,專業(yè),年級,班級,政治面貌,入校成績以及是否畢業(yè)等屬性。(2)課程實體包含課程號,課程名,開設(shè)學(xué)年以及開設(shè)學(xué)期四個屬性。(3)成績實體有學(xué)號,課程號和成績3個屬性。(4)獎懲實體包括學(xué)號,類型以及日期三個屬性。(4)班級

20、實體包括編號,院系以及名稱三個屬性。(5)教師實體包括教工號,姓名,性別,職稱,電話等屬性。(6)學(xué)生實體與課程實體是一個多對多(m:n)的選修關(guān)系,學(xué)生,課程和和成績 3個實體也是一個多對多(m:n:p)的考試關(guān)系。2.2數(shù)據(jù)庫的邏輯設(shè)計2.2.1 關(guān)系模型將E-R圖轉(zhuǎn)換為關(guān)系模型實際上就是要獎實體型、實體的屬性和實體型之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,這種轉(zhuǎn)換一般遵循如下原則:一個實體型轉(zhuǎn)換為一個關(guān)系模式。實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。對于實體型間的聯(lián)系則有以下不同的情況:(1) 一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的

21、關(guān)系模式,則與該聯(lián)系相連的個實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個實體的碼均是該關(guān)系的侯選碼。如果與某一端實體對應(yīng)的關(guān)系模式合并,則需要在關(guān)系模式的屬性中加入另一個關(guān)系模式的碼和聯(lián)系本身的屬性。(2) 一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的個各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實體的碼。(3) 一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。與該聯(lián)系相連的個實體的碼以及聯(lián)系本身的 屬性均轉(zhuǎn)換為關(guān)系的屬性,各實體的碼組成關(guān)系的碼或關(guān)系碼的一部分。(4) 3個或3個以上實體間的一個多元聯(lián)系

22、可以轉(zhuǎn)換為一個關(guān)系模式。與該多元聯(lián)系 相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實體的碼組成關(guān)系的碼或關(guān)系碼的一部分。(5)具有相同碼的關(guān)系模式可合并。將概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為關(guān)系模型,如下所示:1)學(xué)生(堂之姓名,性別,年齡,民族,籍貫,系部,專業(yè),年級,班級,政治 面貌,入校成績,是否畢業(yè),畢業(yè)日期)。2)課程(課程號,課程名,開設(shè)學(xué)年,開設(shè)學(xué)期)。3)成績(學(xué)幺課程號,成績)。4)獎懲(堂號。類型,日期)。5)班級(緬曼,院系,名稱)。6)教師(教工號,姓名,性別,職稱,電話) 。2.2.2 創(chuàng)建視圖(1) V_學(xué)生成績:包括學(xué)生學(xué)號,姓名、課程名稱、成

23、績Create view v_scoure AsSelect sno,sname,cname,scoreFrom student,coure,scoreWhere student.sno=score.sno(2) V_班級人數(shù):包括班級名稱、系別、專業(yè)名稱、班級人數(shù)Create view v_classAsSelect cclass,sdepart,smajor,rsFrom student,coure,score2.2.3 創(chuàng)建索引(1)創(chuàng)建學(xué)生表的索引學(xué)生表:先點擊右鍵,然后選擇修改。在彈出的界面中選擇索引頁面,索引名為index,類型為主索引,表達式為學(xué)號。(2)創(chuàng)建課程表的索引課程表:

24、先點擊右鍵,然后選擇修改。在彈出的界面中選擇索引頁面,索引名為index1,類型為主索引,表達式為課程號。(3)創(chuàng)建成績表的索引成績表:先點擊右鍵,然后選擇修改。在彈出的界面中選擇索引頁面,索引名為index2,通索引,表達式為課程號;索引名為xh,類型為主索引,表達式為學(xué)號。(4)創(chuàng)建獎懲表的索引獎懲表:先點擊右鍵,然后選擇修改。在彈出的界面中選擇索引頁面,索引名為index3,類型為主索引,表達式為學(xué)號。(5)創(chuàng)建班級表的索引(6)創(chuàng)建教師表的索引3、系統(tǒng)實現(xiàn)3.1 數(shù)據(jù)庫訪問(1)數(shù)據(jù)訪問類及實現(xiàn)代碼1)觸發(fā)器觸發(fā)器是用戶定義在關(guān)系表上的一類由事件驅(qū)動的特殊過程。 一旦定義,任 何用戶對

25、表的增、刪、改操作均由服務(wù)器自動激活相應(yīng)的觸發(fā)器,在 DBMS核 心層進行集中的完整性控制。由于本系統(tǒng)的觸發(fā)器比較多,在這里我只寫出了其中的一部分觸發(fā)器,具體如下所示。數(shù)據(jù)更新:CREATE TRIGGER studentupdate ON dbo.student FOR UPDATEASUPDATE STUDENTSET SNO = (SELECT SNO FROM INSERTED)WHERE SNO = (SELECT SNO FROM DELETED);CREATE TRIGGER courseupdate ON dbo.course /FOR UPDATEASUPDATE COURS

26、ESET SNO = (SELECT CNO FROM INSERTED)WHERE SNO = (SELECT CNO FROM DELETED);CREATE TRIGGER scoreupdate ON dbo.studentFOR UPDATEASUPDATE SCORESET SNO = (SELECT SNO FROM INSERTED)WHERE SNO = (SELECT SNO FROM DELETED);CREATE TRIGGER student1 ON dbo.majorFOR UPDATEASUPDATE STUDENTSET MNO = (SELECT MNO FR

27、OM INSERTED)WHERE MNO = (SELECT MNO FROM DELETED);CREATE TRIGGER student2update ON dbo.departFOR UPDATEASUPDATE STUDENTSET DMPNO = (SELECT DMPNO FROM INSERTED)WHERE DMPNO = (SELECT DMPNO FROM DELETED);數(shù)據(jù)刪除:CREATE TRIGGER teachiupdate ON dbo.teacherFOR DELETEASUPDATE TEACHSET TNO = NULLWHERE TNO = (S

28、ELECT TNO FROM DELETED);CREATE TRIGGER stu_majorupdate ON dbo.majorFOR DELETEASUPDATE STUDENTSET MNO = NULLWHERE MNO = (SELECT MNO FROM DELETED);CREATE TRIGGER teacherupdate ON dbo.departFOR DELETEASUPDATE TEACHERSET DMPNO = NULLWHERE DMPNO = (SELECT DMPNO FROM DELETED)2) java訪問數(shù)據(jù)庫及代碼package DBCONN;

29、import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class Conmysql /這是mysql的連接字符串private static String url ="jdbc:mysql::3306/finaltest?useUnicode=true&characterEncoding=UTF-8"static C

30、onnection conn = null;/ 定義一個 空連接,后面用static Statement stmt = null;/定義一個空查詢語句,后面用static ResultSet rs = null;/定義一個空的返回結(jié)果集,后面用static Object result;public static Object exqutesql(String sql) try /注冊mssql驅(qū)動Class.forName("com.mysql.jdbc.Driver");/連接數(shù)據(jù)庫conn = DriverManager.getConnection(url, "

31、;root", "root");準(zhǔn)備查詢語句stmt = conn.createStatement();String beginsql =""beginsql = sql.trim().substring(0, 1);/ boolean execute = stmt.execute(sql);判斷 sql 的類型,是 insert/select/delete/update/注意:只有 select才能是executeQuery,其他三種都是 executeUpdate if (beginsql.equalsIgnoreCase("i&

32、quot;) result = stmt.executeUpdate(sql);/ System.out.println(result); /if (beginsql.equalsIgnoreCase("s") result = stmt.executeQuery(sql);保存查詢結(jié)果到 result,下同if (beginsql.equalsIgnoreCase("d") result = stmt.executeUpdate(sql);if (beginsql.equalsIgnoreCase("u") result = stm

33、t.executeUpdate(sql);System.out.println(result);/ System.out.println(tag); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace(); finally /注意:最后的時候要關(guān)閉所有連接,首先是 stmt,然后是conn/ try / stmt.close()

34、;/ conn.close();/ catch (SQLException e) / / TODO Auto-generated catch block/ e.printStackTrace(); return result;(2) SQL語句 USE xsxjgl GO腳本日期:05/07/2014 11:07:39 */*對象:Table dbo.studentSET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ON GOSET ANSI_PADDING ON GOCREATE TABLE dbo.student( sno char(10) NOT NULL

35、, sname char(10) NULL, ssex char(2) NULL, sage int NULL, smzchar(10) NULL, sjgchar(10) NULL, sdepart char(30) NULL, smajor char(30) NULL, sgrade int NULL, sclass smallint NULL, szzmm char(10) NULL, srxcj smallint NULL,ssfbychar(10) NULL,sbyrq datetime NULL,CONSTRAINT PK_student PRIMARY KEY CLUSTERED

36、 (sno ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY )ON PRIMARY GOSET ANSI_PADDING OFFGO/* 對象:Table dbo.rewardpunish 腳本日期:05/07/2014 11:07:39 */ SET ANSI_NULLS ON GOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGO

37、CREATE TABLE dbo.rewardpunish(sno int NOT NULL,rtype char(10) NULL,rdate datetime NULL)ON PRIMARYGOSET ANSI_PADDING OFFGO/* 對象:Table dbo.class腳本日期:05/07/2014 11:07:39 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.class(bh int NOT NULL,yx char(20) NULL,mc char(2

38、0) NULL,rs int NULL,CONSTRAINT PK_class PRIMARY KEY CLUSTERED (bh ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY)ON PRIMARYGOSET ANSI_PADDING OFFGO/* 對象:Table dbo.teacher腳本日期:05/07/2014 11:07:39 */SET ANSI_NULLS O

39、NGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.teacher(tnoint NOT NULL,tnamechar(10) NULL,tsex char(2) NULL,tprofesschar(10) NULL,ttelchar(10) NULL,CONSTRAINT PK_teacher PRIMARY KEY CLUSTERED (tno ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =OFF, ALLOW

40、_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY)ON PRIMARYGOSET ANSI_PADDING OFFGO/* 對象:Table dbo.score腳本日期:05/07/2014 11:07:39 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE dbo.score(sno int NOT NULL,cno int NOT NULL,score smallint NULL,CONSTRAINT PK_score PRIMARY KEY CLUSTERED (sn

41、o ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY =OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY)ON PRIMARYGO/* 對象:Table dbo.course腳本日期:05/07/2014 11:07:39 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE dbo.course(cnoint NOT NU

42、LL,cnamechar(20) NULL,cyearchar(10) NULL,ctermchar(10) NULL)ON PRIMARYGOSET ANSI_PADDING OFFGO3.2業(yè)務(wù)邏輯層類及代碼(1)數(shù)據(jù)查詢語句格式:SELECT ALL/DISTINCT < 目標(biāo)列名表達式 > 別名,< 目標(biāo)列名表達式 > 別名口FROM表名或視圖名 > 別名兒表名或視圖名 > 別名口WHERE<條件表達式>GROUP BY< 列名 1>HAVING< 條件表達式 >ORDER BY < 歹U名 2>ASC

43、/DESC;查詢查詢所有選修了1001號課程的學(xué)生姓名SELECT snameFROM studentWHERE EXISTS(SELECT * FROM SC WHERE Sno=student.sno AND cno= '1001')(2)數(shù)據(jù)刪除語句格式:DELETEFROM<表明>WHERE< 條件 >刪除學(xué)號為2011021的學(xué)生記錄DELECTFROM studentWHERE sno= '2011021'(3)數(shù)據(jù)修改語句格式:UPDATE< 表名 >SET<列J名 >=<表達式 >,&l

44、t;歹U名 >=< 表達式刁WHERE< 條件 > 將所有學(xué)生的年齡加1UPDATE studentSET sage=sage+1(4)插入數(shù)據(jù)語句格式:INSERTINTO<表名 >(屬性列1><屬性列2>)VALUES(< 常量 1>,常量 2.); 在學(xué)生表中插入Insert intostudent(sno,sname,ssex,sage,smz,sjg,szzmm,sdepart,smajor,sgrade,sclass,srxcj,ssfby,sbyrq)values( 2011022','王強'

45、;,'男'20','漢族','云南,團員,'數(shù)學(xué)與應(yīng)用數(shù)學(xué)','2011' 2','412','是','2013/6/7') 在課程表中插入Insert into course(cno,cname,cyear,cterm)values( 1022','JAVA',2013' 1') 在成績表中插入Insert into score(cno,cno,score)values( 2011022','1022

46、',67')3.3表示層的實現(xiàn)登陸import java.util.Scanner;import java.sql.*;public class Studentstatic 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/ 用戶登錄驗證 String DBDrive = "sun.jdbc.odbc.JdbcOdbcDri

47、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 user

48、s where username= '"+name+"' andpassword= "'+pwd+""');if(rs.next()System.out.println("登錄成功!");(2)主界面public void show_DataBase_Information()/顯示數(shù)據(jù)庫中學(xué)生的個人基本信息 String Information;if(ConnectDataBase()trystr="SELECT* FROM Student_Basic_Information&qu

49、ot;ResultSet s1=st1.executeQuery(str);int i=0;while(s1.next()if(i>MaxNum)break;Information=s1.getString(1)+"t"+s1.getString(2)+"t"+s1.getString(3)+"t"+s1.getLong(4) +"t"+s1.getString(5)+"t"+s1.getString(6)+"n"Student_Informationi=Informa

50、tion;i+;NowInformationNum=i;Close_database();catch(SQLException e)System.out.println(e.toString();public boolean Query_Database_Information(String sno) 顯示查詢數(shù)據(jù)庫中學(xué)生信息if(ConnectDataBase()trystr="select* from Student_Basic_Information where學(xué)號='"+sno+""'ResultSet s1=st1.executeQuery(str);int i=0;while(s1.next()temptInformation=s1.getString+"t"+s1.getString(2)+"t&

溫馨提示

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

最新文檔

評論

0/150

提交評論