




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫技術(shù)課程設(shè)計(jì)學(xué)生信息管理系統(tǒng)班級學(xué)號(hào)姓名e-mail電話提交日期指導(dǎo)教師承德石油高等專科學(xué)校計(jì)算機(jī)與信息工程系學(xué)生信息管理系統(tǒng)摘要:主要是利用mysql和netbeans來創(chuàng)建一個(gè)簡單學(xué)生的數(shù)據(jù)庫管理系統(tǒng),用網(wǎng)頁形式進(jìn)行數(shù)據(jù)庫的增、刪、改、查等數(shù)據(jù)庫的功能。關(guān)鍵字:mysql;netbeans;數(shù)據(jù)庫增、刪、改、查; 1. 課程設(shè)計(jì)介紹本次課程設(shè)計(jì)的內(nèi)容是對數(shù)據(jù)庫的操作,運(yùn)用相應(yīng)的網(wǎng)頁上,而且是一次綜合性比較強(qiáng)的課程設(shè)計(jì),不單單是只對mysql的一些管理,更多的是要在其它編程語言的靈活運(yùn)用,以及基于jsp的網(wǎng)頁設(shè)計(jì),在課程設(shè)計(jì)過程中,要運(yùn)用到相當(dāng)多的java語言,這樣來說,一定要有一定的
2、java基礎(chǔ),否則即使把代碼給了我們,也看不懂,在設(shè)計(jì)網(wǎng)頁界面的時(shí)候,可以配合dreamweaver來使用,由于這次課程的設(shè)計(jì)時(shí)間有限,只是做一個(gè)比較簡單的數(shù)據(jù)庫管理系統(tǒng),主要實(shí)現(xiàn)增、刪、改、查就可以了,因此此次課程設(shè)計(jì)是由我們學(xué)生自己獨(dú)立完成的。對于初次來進(jìn)行這個(gè)課程設(shè)計(jì)還是有一定的難度的,主要原因是我們學(xué)生學(xué)習(xí)的java還是不太好,在而要大量的代碼要求的jsp,需要自己查閱大量的資料,必要時(shí)候還要老師的幫助,目的是很明確的,最主要還是要自己在課余時(shí)間加強(qiáng)訓(xùn)練,把增刪改查給成功的弄出來。2. 系統(tǒng)設(shè)計(jì)21 需求分析做一個(gè)簡單的學(xué)生管理系統(tǒng),可以參考學(xué)校的學(xué)生管理系統(tǒng),做一定的分析,用到的主要
3、工具有mysql、netbeans。最后完成對學(xué)生的一個(gè)比較好的管理,由一個(gè)管理員對其中的數(shù)據(jù)進(jìn)行管理,而學(xué)生登錄的時(shí)候時(shí)候只能進(jìn)行查看。22 總體設(shè)計(jì)學(xué)生信息管理系統(tǒng)是一個(gè)比較大的數(shù)據(jù)庫系統(tǒng),總的來是要對學(xué)生的信息有一個(gè)合理的管理,要讓學(xué)生和教師及管理員用起來舒服,在一方面做到方便,還有必要使網(wǎng)頁界面顯得美觀,這要在網(wǎng)頁設(shè)計(jì)上花下一定的功夫,而且的用戶的交互性好,界面比較友好,在網(wǎng)頁設(shè)計(jì)上用到工具是dreamweaver,用起來比較方便一點(diǎn),對網(wǎng)頁布局做美化,網(wǎng)頁只是前臺(tái)的一些用戶的操作,其實(shí)最重要的是后臺(tái)在代碼上對數(shù)據(jù)庫的操作,是一個(gè)很關(guān)鍵的問題,學(xué)生管理系統(tǒng)是針對學(xué)生信息的管理,但是對于
4、學(xué)生用戶來說,只能進(jìn)行查看,不能進(jìn)行數(shù)據(jù)庫的修改操作,而對于數(shù)據(jù)庫的管理員來說,他就可以有很高的權(quán)限,可以向其中進(jìn)行修改操作,對學(xué)生管理系統(tǒng)數(shù)據(jù)庫進(jìn)行維護(hù)。而針對這兩種人員,可以分別讓他們有各自的登錄名,以確認(rèn)各自的權(quán)限。進(jìn)行相應(yīng)的操作。對于管理員對其中數(shù)據(jù)庫的操作也要相應(yīng)做到操作方便。23 功能設(shè)計(jì)一個(gè)學(xué)生管理系統(tǒng)它的功能主要就是能夠?qū)ζ渲袛?shù)據(jù)的增刪改查,首先用dreamweaver做一個(gè)登錄界面,讓它連接到數(shù)據(jù)庫的login表,來確定是屬于學(xué)生人員還是管理人員,當(dāng)驗(yàn)證成功后讓網(wǎng)頁跳轉(zhuǎn)到學(xué)生信息表界面,顯示所有學(xué)生信息,這個(gè)網(wǎng)頁也是通過連接數(shù)據(jù)庫的學(xué)生信息表來實(shí)現(xiàn)的,在這個(gè)網(wǎng)頁當(dāng)中,以學(xué)生身
5、份進(jìn)入的話,只能查看學(xué)生的信息,不能進(jìn)行信息的修改操作,如果剛開始是以數(shù)據(jù)庫管理員身份進(jìn)入的話,在這個(gè)網(wǎng)頁當(dāng)中就顯示刪除的控件及在上欄可以有一個(gè)添加操作,能進(jìn)行數(shù)據(jù)的添加,添加之后再顯示,插入完成后的數(shù)據(jù)情況,數(shù)據(jù)添加的時(shí)候可以添加一些下拉表,進(jìn)行方便的選擇。3. 數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)31 數(shù)據(jù)庫的需求分析數(shù)據(jù)庫的主要需求是,進(jìn)行數(shù)據(jù)的錄入和管理,用的是mysql數(shù)據(jù)庫,可以用本地計(jì)算機(jī)作為一個(gè)服務(wù)器,之后讓別人訪問自己的數(shù)據(jù)庫,用網(wǎng)頁地址的方式,在數(shù)據(jù)庫當(dāng)中主要建的是一個(gè)學(xué)生表,及一個(gè)登錄表,然后利用前臺(tái)對數(shù)據(jù)庫的增刪改查操作,數(shù)據(jù)庫用mysql,就已經(jīng)足夠了,而對一個(gè)普通的學(xué)生實(shí)訓(xùn)用的一個(gè)學(xué)生
6、信息管理系統(tǒng)來,其實(shí)對數(shù)據(jù)庫的要求也不是太高。因?yàn)樗玫叫畔⒉欢唷?2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)該學(xué)生信息管理系統(tǒng),是一個(gè)比較簡單的數(shù)據(jù)庫,涉及到的表也不多,在表方面上,有student表及一個(gè)login表是一個(gè)最基本的信息,student表是一個(gè)學(xué)生所有信息的表,另外一個(gè)login表是用來驗(yàn)證用戶的登錄,給予相應(yīng)的權(quán)限,而對數(shù)據(jù)庫進(jìn)行操作的時(shí)候,所涉及到sql語句,嵌入到網(wǎng)頁當(dāng)中了,只要打開網(wǎng)頁,進(jìn)行直觀的操作就可以進(jìn)行對數(shù)據(jù)庫的修改了。建庫test建表連接數(shù)據(jù)庫netbeansstudentlogin圖1在數(shù)據(jù)庫結(jié)構(gòu)中,其中student中有的元素是學(xué)號(hào),姓名,性別,年齡,及出生日期,為了實(shí)現(xiàn)的
7、方便它們的類型教師字符型的,student表中學(xué)號(hào)設(shè)為主鍵,不能為空,其中年齡有一個(gè)范圍限制,在18歲到23歲之間。而在性別中,設(shè)置一個(gè)默認(rèn)值為男,這些在實(shí)現(xiàn)連接的時(shí)候都要在界面上顯示出來。33 數(shù)據(jù)庫的邏輯設(shè)計(jì)首先在啟動(dòng)本地的mysql服務(wù)器,在其中建一個(gè)為fl-stu的數(shù)據(jù)庫,在這個(gè)數(shù)據(jù)庫中有一個(gè)login表和student表,login表中包含了name和password。其次實(shí)現(xiàn)對數(shù)據(jù)庫增刪改查,是進(jìn)行在網(wǎng)頁中嵌入sql語句,在netbeans中的com.su.dao里一個(gè)testlogin.java代碼中就有sql語句,進(jìn)行增加,刪除,插入的語句,而且在里面引用到index.jsp網(wǎng)
8、頁中顯示出來,顯示出信息之前還要進(jìn)行用戶的驗(yàn)證,總的來說是在實(shí)現(xiàn)數(shù)據(jù)庫的增刪改查都是網(wǎng)頁上進(jìn)行的。而網(wǎng)頁也有一定的設(shè)計(jì)要求,講究美觀性,涉及的網(wǎng)頁有5個(gè),一個(gè)登錄頁面,一個(gè)首頁,一個(gè)插入頁,一個(gè)刪除頁,還有一個(gè)查詢頁,當(dāng)進(jìn)行其中的某項(xiàng)操作時(shí)也進(jìn)行相應(yīng)的跳轉(zhuǎn)。還要做跳轉(zhuǎn)時(shí)準(zhǔn)確無誤,插入時(shí)要插入的正確,插入之后,跳轉(zhuǎn)到下個(gè)頁面時(shí)能顯示出插入后所有的信息,還有刪除及查詢做到界面的友好,操作的簡便。還有要提到的是,在做查詢頁面的時(shí)候在網(wǎng)頁當(dāng)中做到多個(gè)條件的查詢,而實(shí)現(xiàn)這個(gè)功能,所要用到對數(shù)據(jù)庫操作的sql語句就是最關(guān)鍵的了,其中有相對于學(xué)號(hào)和年齡的雙條件查詢,還有可以對所有男生或女生人數(shù)的統(tǒng)計(jì)的功能。
9、總體來說,只要是表里的數(shù)據(jù)都可以進(jìn)行查詢。數(shù)據(jù)庫的student-er圖性別姓名年齡學(xué)號(hào)出生日期學(xué)生圖2t數(shù)據(jù)庫的login-er圖密碼用戶名用戶圖34. 系統(tǒng)各功能模塊(頁面)設(shè)計(jì)41 界面設(shè)計(jì)登錄界面:所在網(wǎng)頁為aa.jsp.提供用戶的登錄,用dreamweaver做一個(gè)登錄界面,用于用戶名及密碼的驗(yàn)證。如下圖所示:圖4登錄以后進(jìn)入,顯示所有學(xué)生信息,并有相應(yīng)控件提示下一步的操作。圖5進(jìn)行相應(yīng)的插入,修改,刪除,查詢操作。圖6圖7圖842 功能實(shí)現(xiàn)1、剛開始由登錄界面進(jìn)入,彈出一個(gè)學(xué)生信息表頁,點(diǎn)擊上面的添加數(shù)據(jù)按鈕。2、進(jìn)行添加了數(shù)據(jù)之后得到如圖5 所示,添加了足夠多的數(shù)據(jù),就可以進(jìn)行相
10、應(yīng)的修改查詢。3、進(jìn)行查詢時(shí),按照其中的字段進(jìn)行查詢,就可以得到相應(yīng)的信息。4、如圖5所示,點(diǎn)擊刪除按鈕時(shí)可刪除其所在行。5、點(diǎn)擊修改,跳轉(zhuǎn)到修改頁,如圖 8 所示,在其中進(jìn)行相應(yīng)的修改就可以了,然后跳到學(xué)生信息表頁。5. 課程設(shè)計(jì)總結(jié)和體會(huì)課程設(shè)計(jì)已經(jīng)結(jié)束了,總體來說,是學(xué)到了不少數(shù)據(jù)庫應(yīng)用的技術(shù),自己的能力也在此得到了一定的提高,不過在設(shè)計(jì)過程中也遇到了不少的問題,覺得自己在java編程方面還是不足,有待去提高,在這過程中也常常遇到一些關(guān)于這個(gè)代碼的問題,比如一個(gè)函數(shù)出現(xiàn)了錯(cuò)誤,而我要去查看的話,剛開始還不知道怎樣去解決,當(dāng)然也向同學(xué)、老師求助,如何把問題消除。學(xué)生信息管理系統(tǒng)的課程設(shè)計(jì)是
11、一個(gè)上大學(xué)以來的一個(gè)比較綜合性的設(shè)計(jì)。但是在短短的一個(gè)星期的實(shí)訓(xùn),我覺得還是遠(yuǎn)遠(yuǎn)不夠的,因?yàn)橛泻芏鄸|西我們學(xué)習(xí)的還不是太深入,在設(shè)計(jì)過程中也得到了很大的體現(xiàn),自己的編寫代碼能力相當(dāng)欠缺,可以這么說,大多數(shù)是借用老師的代碼,幾乎自己寫出來的相當(dāng)?shù)纳佟=?jīng)過了此次的學(xué)習(xí),真的發(fā)現(xiàn)自己要在專業(yè)課上下點(diǎn)工夫,要是在自己的操作下,把數(shù)據(jù)庫的增刪改查全部弄好,那才是真正學(xué)到的知識(shí)。經(jīng)過了這次課程設(shè)計(jì),覺得自己需要提高的是:1、在編程能力上要得到更大的提高,特別是熟練掌握一門編程語言,要對一門編程語言有一個(gè)深刻的理解,并熟練運(yùn)用到實(shí)際問題上。2、對一個(gè)項(xiàng)目,要有一個(gè)總體的把握,在建設(shè)之前,認(rèn)真思考系統(tǒng)的組成情
12、況,而這此次訓(xùn)練過程中,這個(gè)不足的問題就顯現(xiàn)出來了,在設(shè)計(jì)之前不知如何下手,所以要在這方面上有提高。3、在網(wǎng)頁設(shè)計(jì)輔助工具掌握的不太靈活,所以在這個(gè)寒假假期期間要在這網(wǎng)頁設(shè)計(jì)方面上多練習(xí)一下,用自己的電腦好好的操作一下網(wǎng)頁設(shè)計(jì)工具dreamwaver。4、利用自己的課余時(shí)間學(xué)習(xí)jsp,多看一下有關(guān)這方面的書,在下個(gè)學(xué)期的asp學(xué)習(xí)有很大的幫助。6致謝此次課程設(shè)計(jì)已圓滿結(jié)束了,要感謝老師的教導(dǎo),如果沒有老師的指導(dǎo),相信作業(yè)也不能這么順利的完成,還要感謝同學(xué)的幫助,最后要感謝學(xué)校給我們開設(shè)了這個(gè)課程設(shè)計(jì)的課,讓學(xué)生在學(xué)習(xí)理論知識(shí)的同時(shí),也讓學(xué)生去感受一下實(shí)際操作。參考文獻(xiàn)1jsp應(yīng)用開發(fā)技術(shù) (主
13、編:賈素玲、王強(qiáng))清華大學(xué)出版社20072jsp網(wǎng)絡(luò)編程從基礎(chǔ)到實(shí)踐 鄧子云編著 電子工業(yè)出版社 2009.834附錄1. 登錄功能模塊(實(shí)現(xiàn)登錄及跳轉(zhuǎn))以下實(shí)現(xiàn)登錄,登錄后跳轉(zhuǎn)index.jsp,不成功跳轉(zhuǎn)到aa.jsp類名:loginservlet.java string name=request.getparameter(name) ; string password =request.getparameter(password); /system.out.println(name+password); testlogin t=new testlogin(); s=t.gettest(n
14、ame, password); if(s=1) arraylist alist=new testlogin().getstulist(); request.setattribute(alllist, alist); request.getrequestdispatcher(aa.jsp).forward(request, response); else request.getrequestdispatcher(index.jsp).forward(request, response);2. 插入功能模塊 string sno=request.getparameter(sno); string
15、sname=request.getparameter(sname); string ssex=request.getparameter(ssex); string sage=request.getparameter(sage); string sbirthday=request.getparameter(sbirthday); system.out.println(ssex+sname); int c=new testlogin().insert_s(sno, sname, sage, ssex, sbirthday); 跳轉(zhuǎn) arraylist alist=new testlogin().g
16、etstulist(); request.setattribute(alllist, alist); request.getrequestdispatcher(aa.jsp).forward(request, response);3刪除功能模塊 (1) 類:deleteservlet.java string sno=request.getparameter(sno); string sname=request.getparameter(sname); string ssex=request.getparameter(ssex); string sage=request.getparameter
17、(sage); string sbirthday=request.getparameter(sbirthday); system.out.println(ssex+sname); int c=new testlogin().insert_s(sno, sname, sage, ssex, sbirthday); if(c=1) arraylist alist=new testlogin().getstulist(); request.setattribute(alllist, alist); request.getrequestdispatcher(aa.jsp).forward(reques
18、t, response); request.getrequestdispatcher(insert_s.jsp).forward(request, response); 4.修改功能模塊(1)類:updateservlet.java string sno=request.getparameter(code); studvo vo=new testlogin().getvoby(sno); request.setattribute(vo, vo); request.getrequestdispatcher(update.jsp).forward(request, response);(3)實(shí)現(xiàn)修
19、改方法,跳轉(zhuǎn)到aa.jsp protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception string sno =request.getparameter(sno); string sname =request.getparameter(sname); string ssex =request.getparameter(ssex); string sage =request.getparameter(sage); strin
20、g sbirthday =request.getparameter(sbirthday); int c=new testlogin().xiugai(sno,sname,ssex,sage,sbirthday); if(c=1) arraylist alist=new testlogin().getstulist(); request.setattribute(alllist, alist); request.getrequestdispatcher(aa.jsp).forward(request, response);5.從數(shù)據(jù)庫導(dǎo)入功能模塊 1從數(shù)據(jù)庫登錄方法:gettest實(shí)現(xiàn)代碼:pu
21、blic int gettest(string nam,string passwor) int a = 0; try connection con = getconnection(); statement st = con.createstatement(); string sql=select count(*) from login where name=+nam+ and password=+passwor+;/sql 查詢語句 system.out.println(sql); resultset rs=st.executequery(sql); if(rs.next() a=rs.get
22、int(1);2從數(shù)據(jù)庫查詢student學(xué)生表信息,方法:getstulist.實(shí)現(xiàn)代碼:arraylist alist =new arraylist(); try connection con = getconnection(); statement st = con.createstatement(); string sql=select * from student;/查詢學(xué)生表的sql語句。 resultset rs=st.executequery(sql);以下讀出學(xué)生信息 while(rs.next() studvo svo=new studvo(); svo.setsno(rs
23、.getstring(sno); svo.setsname(rs.getstring(sname); svo.setsage(rs.getstring(sage); svo.setsbirthday(rs.getstring(sbirthday); svo.setssex(rs.getstring(ssex); alist.add(svo);3從數(shù)據(jù)庫插入方法:insert_s實(shí)現(xiàn)代碼:public int insert_s(string sno,string sname,string sage,string ssex,string sbirthday) int a = 0; try conn
24、ection con = getconnection(); statement st = con.createstatement(); string sql = insert into student values( +sbirthday+,+sage+,+ssex+,+sname+,+sno+);/插入sql語句 system.out.println(sql); a=st.executeupdate(sql); 4數(shù)據(jù)庫刪除實(shí)現(xiàn)代碼:public int delet(string id) connection con = getconnection(); statement st = con
25、.createstatement(); string sql = delete from student where sno= + id + ; system.out.println(sql); a = st.executeupdate(sql); 5修改實(shí)現(xiàn)代碼:public int xiugai(string sno,string sname,string ssex,string sage,string sbirthday) connection con = getconnection(); statement st = con.createstatement(); string sql
26、= update student set sname= + sname+ ,ssex=+ssex+,sage=+sage+,sbirthday=+sbirthday+ where sno=+sno+;/用sql語句實(shí)現(xiàn)錄入學(xué)生信息 system.out.println(sql); a = st.executeupdate(sql) catch (sqlexception ex) logger.getlogger(testlogin.class.getname().log(level.severe, null, ex); 6查詢數(shù)據(jù)庫的實(shí)現(xiàn)代碼:public arraylist selectaction(string sno,string sname,string sage) arraylist alist =new arraylist(); connection con = getconnection(); statement st = con.createstatement(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度跨境電商物流風(fēng)險(xiǎn)承擔(dān)協(xié)議
- 二零二五年度北京小客車指標(biāo)車牌租賃及交通違章處理合同
- 2025年度高速公路隧道道閘系統(tǒng)安裝與通風(fēng)管理合同
- 2025年度航空航天產(chǎn)業(yè)融資服務(wù)合同
- 2025年度高速列車乘客搭乘免責(zé)協(xié)議
- 2025年度特色項(xiàng)目按摩師用工合同書
- 產(chǎn)品發(fā)布與推廣流程優(yōu)化指南
- 新辦公大樓落成慶典上的發(fā)言稿
- 聘用資料員勞動(dòng)協(xié)議
- 業(yè)務(wù)合作備忘錄及協(xié)議事項(xiàng)約定
- 《研學(xué)旅行課程設(shè)計(jì)》課件-研學(xué)課程設(shè)計(jì)計(jì)劃
- 中醫(yī)痹癥-課件
- 表面粗糙度等級對照表模板.doc
- GMP講課教案簡述
- 新冀人版小學(xué)科學(xué)三年級下冊全冊教案(2022年春修訂)
- 東莞虎門架空線路拆除施工方案
- 尿液結(jié)晶教學(xué)課件
- 繪本《你很特別》
- 茶葉揉捻機(jī)總體設(shè)計(jì)方案的擬定
- 蘇州大學(xué)應(yīng)用技術(shù)學(xué)院財(cái)務(wù)管理
- 粱、柱、板截面取值原則最終
評論
0/150
提交評論