




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、數(shù)據(jù)庫技術課程設計學生信息管理系統(tǒng)班級學號姓名e-mail電話提交日期指導教師承德石油高等專科學校計算機與信息工程系學生信息管理系統(tǒng)摘要:主要是利用mysql和netbeans來創(chuàng)建一個簡單學生的數(shù)據(jù)庫管理系統(tǒng),用網(wǎng)頁形式進行數(shù)據(jù)庫的增、刪、改、查等數(shù)據(jù)庫的功能。關鍵字:mysql;netbeans;數(shù)據(jù)庫增、刪、改、查; 1. 課程設計介紹本次課程設計的內(nèi)容是對數(shù)據(jù)庫的操作,運用相應的網(wǎng)頁上,而且是一次綜合性比較強的課程設計,不單單是只對mysql的一些管理,更多的是要在其它編程語言的靈活運用,以及基于jsp的網(wǎng)頁設計,在課程設計過程中,要運用到相當多的java語言,這樣來說,一定要有一定的
2、java基礎,否則即使把代碼給了我們,也看不懂,在設計網(wǎng)頁界面的時候,可以配合dreamweaver來使用,由于這次課程的設計時間有限,只是做一個比較簡單的數(shù)據(jù)庫管理系統(tǒng),主要實現(xiàn)增、刪、改、查就可以了,因此此次課程設計是由我們學生自己獨立完成的。對于初次來進行這個課程設計還是有一定的難度的,主要原因是我們學生學習的java還是不太好,在而要大量的代碼要求的jsp,需要自己查閱大量的資料,必要時候還要老師的幫助,目的是很明確的,最主要還是要自己在課余時間加強訓練,把增刪改查給成功的弄出來。2. 系統(tǒng)設計21 需求分析做一個簡單的學生管理系統(tǒng),可以參考學校的學生管理系統(tǒng),做一定的分析,用到的主要
3、工具有mysql、netbeans。最后完成對學生的一個比較好的管理,由一個管理員對其中的數(shù)據(jù)進行管理,而學生登錄的時候時候只能進行查看。22 總體設計學生信息管理系統(tǒng)是一個比較大的數(shù)據(jù)庫系統(tǒng),總的來是要對學生的信息有一個合理的管理,要讓學生和教師及管理員用起來舒服,在一方面做到方便,還有必要使網(wǎng)頁界面顯得美觀,這要在網(wǎng)頁設計上花下一定的功夫,而且的用戶的交互性好,界面比較友好,在網(wǎng)頁設計上用到工具是dreamweaver,用起來比較方便一點,對網(wǎng)頁布局做美化,網(wǎng)頁只是前臺的一些用戶的操作,其實最重要的是后臺在代碼上對數(shù)據(jù)庫的操作,是一個很關鍵的問題,學生管理系統(tǒng)是針對學生信息的管理,但是對于
4、學生用戶來說,只能進行查看,不能進行數(shù)據(jù)庫的修改操作,而對于數(shù)據(jù)庫的管理員來說,他就可以有很高的權(quán)限,可以向其中進行修改操作,對學生管理系統(tǒng)數(shù)據(jù)庫進行維護。而針對這兩種人員,可以分別讓他們有各自的登錄名,以確認各自的權(quán)限。進行相應的操作。對于管理員對其中數(shù)據(jù)庫的操作也要相應做到操作方便。23 功能設計一個學生管理系統(tǒng)它的功能主要就是能夠?qū)ζ渲袛?shù)據(jù)的增刪改查,首先用dreamweaver做一個登錄界面,讓它連接到數(shù)據(jù)庫的login表,來確定是屬于學生人員還是管理人員,當驗證成功后讓網(wǎng)頁跳轉(zhuǎn)到學生信息表界面,顯示所有學生信息,這個網(wǎng)頁也是通過連接數(shù)據(jù)庫的學生信息表來實現(xiàn)的,在這個網(wǎng)頁當中,以學生身
5、份進入的話,只能查看學生的信息,不能進行信息的修改操作,如果剛開始是以數(shù)據(jù)庫管理員身份進入的話,在這個網(wǎng)頁當中就顯示刪除的控件及在上欄可以有一個添加操作,能進行數(shù)據(jù)的添加,添加之后再顯示,插入完成后的數(shù)據(jù)情況,數(shù)據(jù)添加的時候可以添加一些下拉表,進行方便的選擇。3. 數(shù)據(jù)庫設計與實現(xiàn)31 數(shù)據(jù)庫的需求分析數(shù)據(jù)庫的主要需求是,進行數(shù)據(jù)的錄入和管理,用的是mysql數(shù)據(jù)庫,可以用本地計算機作為一個服務器,之后讓別人訪問自己的數(shù)據(jù)庫,用網(wǎng)頁地址的方式,在數(shù)據(jù)庫當中主要建的是一個學生表,及一個登錄表,然后利用前臺對數(shù)據(jù)庫的增刪改查操作,數(shù)據(jù)庫用mysql,就已經(jīng)足夠了,而對一個普通的學生實訓用的一個學生
6、信息管理系統(tǒng)來,其實對數(shù)據(jù)庫的要求也不是太高。因為所用到信息不多。32 數(shù)據(jù)庫概念結(jié)構(gòu)設計該學生信息管理系統(tǒng),是一個比較簡單的數(shù)據(jù)庫,涉及到的表也不多,在表方面上,有student表及一個login表是一個最基本的信息,student表是一個學生所有信息的表,另外一個login表是用來驗證用戶的登錄,給予相應的權(quán)限,而對數(shù)據(jù)庫進行操作的時候,所涉及到sql語句,嵌入到網(wǎng)頁當中了,只要打開網(wǎng)頁,進行直觀的操作就可以進行對數(shù)據(jù)庫的修改了。建庫test建表連接數(shù)據(jù)庫netbeansstudentlogin圖1在數(shù)據(jù)庫結(jié)構(gòu)中,其中student中有的元素是學號,姓名,性別,年齡,及出生日期,為了實現(xiàn)的
7、方便它們的類型教師字符型的,student表中學號設為主鍵,不能為空,其中年齡有一個范圍限制,在18歲到23歲之間。而在性別中,設置一個默認值為男,這些在實現(xiàn)連接的時候都要在界面上顯示出來。33 數(shù)據(jù)庫的邏輯設計首先在啟動本地的mysql服務器,在其中建一個為fl-stu的數(shù)據(jù)庫,在這個數(shù)據(jù)庫中有一個login表和student表,login表中包含了name和password。其次實現(xiàn)對數(shù)據(jù)庫增刪改查,是進行在網(wǎng)頁中嵌入sql語句,在netbeans中的com.su.dao里一個testlogin.java代碼中就有sql語句,進行增加,刪除,插入的語句,而且在里面引用到index.jsp網(wǎng)
8、頁中顯示出來,顯示出信息之前還要進行用戶的驗證,總的來說是在實現(xiàn)數(shù)據(jù)庫的增刪改查都是網(wǎng)頁上進行的。而網(wǎng)頁也有一定的設計要求,講究美觀性,涉及的網(wǎng)頁有5個,一個登錄頁面,一個首頁,一個插入頁,一個刪除頁,還有一個查詢頁,當進行其中的某項操作時也進行相應的跳轉(zhuǎn)。還要做跳轉(zhuǎn)時準確無誤,插入時要插入的正確,插入之后,跳轉(zhuǎn)到下個頁面時能顯示出插入后所有的信息,還有刪除及查詢做到界面的友好,操作的簡便。還有要提到的是,在做查詢頁面的時候在網(wǎng)頁當中做到多個條件的查詢,而實現(xiàn)這個功能,所要用到對數(shù)據(jù)庫操作的sql語句就是最關鍵的了,其中有相對于學號和年齡的雙條件查詢,還有可以對所有男生或女生人數(shù)的統(tǒng)計的功能。
9、總體來說,只要是表里的數(shù)據(jù)都可以進行查詢。數(shù)據(jù)庫的student-er圖性別姓名年齡學號出生日期學生圖2t數(shù)據(jù)庫的login-er圖密碼用戶名用戶圖34. 系統(tǒng)各功能模塊(頁面)設計41 界面設計登錄界面:所在網(wǎng)頁為aa.jsp.提供用戶的登錄,用dreamweaver做一個登錄界面,用于用戶名及密碼的驗證。如下圖所示:圖4登錄以后進入,顯示所有學生信息,并有相應控件提示下一步的操作。圖5進行相應的插入,修改,刪除,查詢操作。圖6圖7圖842 功能實現(xiàn)1、剛開始由登錄界面進入,彈出一個學生信息表頁,點擊上面的添加數(shù)據(jù)按鈕。2、進行添加了數(shù)據(jù)之后得到如圖5 所示,添加了足夠多的數(shù)據(jù),就可以進行相
10、應的修改查詢。3、進行查詢時,按照其中的字段進行查詢,就可以得到相應的信息。4、如圖5所示,點擊刪除按鈕時可刪除其所在行。5、點擊修改,跳轉(zhuǎn)到修改頁,如圖 8 所示,在其中進行相應的修改就可以了,然后跳到學生信息表頁。5. 課程設計總結(jié)和體會課程設計已經(jīng)結(jié)束了,總體來說,是學到了不少數(shù)據(jù)庫應用的技術,自己的能力也在此得到了一定的提高,不過在設計過程中也遇到了不少的問題,覺得自己在java編程方面還是不足,有待去提高,在這過程中也常常遇到一些關于這個代碼的問題,比如一個函數(shù)出現(xiàn)了錯誤,而我要去查看的話,剛開始還不知道怎樣去解決,當然也向同學、老師求助,如何把問題消除。學生信息管理系統(tǒng)的課程設計是
11、一個上大學以來的一個比較綜合性的設計。但是在短短的一個星期的實訓,我覺得還是遠遠不夠的,因為有很多東西我們學習的還不是太深入,在設計過程中也得到了很大的體現(xiàn),自己的編寫代碼能力相當欠缺,可以這么說,大多數(shù)是借用老師的代碼,幾乎自己寫出來的相當?shù)纳佟=?jīng)過了此次的學習,真的發(fā)現(xiàn)自己要在專業(yè)課上下點工夫,要是在自己的操作下,把數(shù)據(jù)庫的增刪改查全部弄好,那才是真正學到的知識。經(jīng)過了這次課程設計,覺得自己需要提高的是:1、在編程能力上要得到更大的提高,特別是熟練掌握一門編程語言,要對一門編程語言有一個深刻的理解,并熟練運用到實際問題上。2、對一個項目,要有一個總體的把握,在建設之前,認真思考系統(tǒng)的組成情
12、況,而這此次訓練過程中,這個不足的問題就顯現(xiàn)出來了,在設計之前不知如何下手,所以要在這方面上有提高。3、在網(wǎng)頁設計輔助工具掌握的不太靈活,所以在這個寒假假期期間要在這網(wǎng)頁設計方面上多練習一下,用自己的電腦好好的操作一下網(wǎng)頁設計工具dreamwaver。4、利用自己的課余時間學習jsp,多看一下有關這方面的書,在下個學期的asp學習有很大的幫助。6致謝此次課程設計已圓滿結(jié)束了,要感謝老師的教導,如果沒有老師的指導,相信作業(yè)也不能這么順利的完成,還要感謝同學的幫助,最后要感謝學校給我們開設了這個課程設計的課,讓學生在學習理論知識的同時,也讓學生去感受一下實際操作。參考文獻1jsp應用開發(fā)技術 (主
13、編:賈素玲、王強)清華大學出版社20072jsp網(wǎng)絡編程從基礎到實踐 鄧子云編著 電子工業(yè)出版社 2009.834附錄1. 登錄功能模塊(實現(xiàn)登錄及跳轉(zhuǎn))以下實現(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)實現(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ù)庫導入功能模塊 1從數(shù)據(jù)庫登錄方法:gettest實現(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學生表信息,方法:getstulist.實現(xiàn)代碼:arraylist alist =new arraylist(); try connection con = getconnection(); statement st = con.createstatement(); string sql=select * from student;/查詢學生表的sql語句。 resultset rs=st.executequery(sql);以下讀出學生信息 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實現(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ù)庫刪除實現(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修改實現(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語句實現(xiàn)錄入學生信息 system.out.println(sql); a = st.executeupdate(sql) catch (sqlexception ex) logger.getlogger(testlogin.class.getname().log(level.severe, null, ex); 6查詢數(shù)據(jù)庫的實現(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 結(jié)對創(chuàng)先協(xié)議書
- 留學委托協(xié)議書
- 電車保價協(xié)議書
- 男士入贅協(xié)議書
- 簽約養(yǎng)護協(xié)議書
- 簽訂退房協(xié)議書
- 菲俄派遣協(xié)議書
- 意難忘王母撕掉協(xié)議書
- 電腦合伙協(xié)議書
- 環(huán)境影響協(xié)議書
- 智能教育技術驅(qū)動的個性化學習路徑優(yōu)化研究
- 基層治理現(xiàn)代化視角下“楓橋經(jīng)驗”的實踐路徑與創(chuàng)新研究
- 通信光纜租用協(xié)議合同書
- 2024-2025部編版小學道德與法治一年級下冊期末考試卷及答案(三套)
- 醫(yī)療救助資金動態(tài)調(diào)整機制-洞察闡釋
- 籃球培訓報名合同協(xié)議
- 自考00061國家稅收歷年真題及答案
- 公共組織績效評估-形考任務一(占10%)-國開(ZJ)-參考資料
- 冠狀動脈介入診斷治療
- 高效催化劑的開發(fā)與應用-全面剖析
- 冀少版(2024)七年級下冊生物期末復習知識點填空練習題(無答案)
評論
0/150
提交評論