數(shù)據(jù)庫課程設(shè)計(學(xué)生管理系統(tǒng))附代碼_第1頁
數(shù)據(jù)庫課程設(shè)計(學(xué)生管理系統(tǒng))附代碼_第2頁
數(shù)據(jù)庫課程設(shè)計(學(xué)生管理系統(tǒng))附代碼_第3頁
數(shù)據(jù)庫課程設(shè)計(學(xué)生管理系統(tǒng))附代碼_第4頁
數(shù)據(jù)庫課程設(shè)計(學(xué)生管理系統(tǒng))附代碼_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 數(shù)據(jù)庫課程設(shè)計報告題 目: 學(xué)生信息管理系統(tǒng)院系名稱: 計算機(jī)學(xué)院 專業(yè)名稱: 班 級: 學(xué)生姓名: 學(xué)號(8位): 指導(dǎo)教師: 設(shè)計起止時間:2011年12月19日2011年12月30日一. 設(shè)計目的 1、掌握dbms的基本工作原理 2、培養(yǎng)數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的基本思路和方法 3、培養(yǎng)分析、解決問題的能力 二. 設(shè)計內(nèi)容利用數(shù)據(jù)庫實現(xiàn)對學(xué)生信息的管理所用數(shù)據(jù)庫:sqlserver 2008開發(fā)語言:java、開發(fā)工具:eclipse三概要設(shè)計 通過訪問數(shù)據(jù)庫實現(xiàn)以下功能:1、 不同用戶權(quán)限登陸系統(tǒng)2、 用戶密碼修改3、 學(xué)生信息的添加、查詢、修改、瀏覽1功能模塊圖 系統(tǒng)用戶管理學(xué)生信息管理

2、系統(tǒng)學(xué)生信息管理2各個模塊詳細(xì)的功能描述。1、系統(tǒng)用戶管理模塊管理員和普通用戶通過這個模塊登陸系統(tǒng),不同的用戶用不同的用戶名登陸,通過選擇登陸模式(管理員或者普通用戶)登陸系統(tǒng),完成不同的操作。兩種用戶都可以對自己的登陸密碼進(jìn)行修改。新用戶可進(jìn)行注冊操作,注冊后登陸,并進(jìn)行信息的完善。2、學(xué)生信息管理模塊管理員和普通用戶對學(xué)生信息由不同的操作。管理員可以對信息進(jìn)行增加,刪除,修改和列表查看,普通用戶對自己的信息可進(jìn)行查詢,和修改。 四詳細(xì)設(shè)計1功能函數(shù)的調(diào)用關(guān)系圖 query()comfirm()add() 管理員界面delete()liulan()updatecode()login()主界面

3、登陸query()comfirm()updateinfo() 普通用戶界面updatecode() 查詢信息操作 添加信息操作 刪除信息操作 總體瀏覽操作 修改密碼操作 查詢個人信息 修改個人信息 修改個人密碼系統(tǒng)登錄2各功能函數(shù)的數(shù)據(jù)流程圖普通用戶登錄管理員登錄判斷判斷成功成功查詢信息修改個人密碼添加信息查詢個人信息修改個人信息刪除信息瀏覽信息修改密碼 退出3重點設(shè)計及編碼、-學(xué)生信息表-create table studentinfo(sid int primary key identity(1,1),sname varchar(30) not null,ssex varchar(10)

4、check(ssex=男 or ssex=女),snumber varchar(8) check(snumber like 04090-90-90-90-9) not null,sprofession varchar(30),sclass varchar(20),sdate datetime default getdate();-普通用戶登陸信息表-create table userinfo( id int primary key identity(1,1), name varchar(30) not null, mima varchar(20) not null);-管理員登陸信息表-cre

5、ate table userinfo( id int primary key identity(1,1), name varchar(30) not null, mima varchar(20) not null);-連接數(shù)據(jù)庫try class.forname(com.microsoft.sqlserver.jdbc.sqlserverdriver); catch(classnotfoundexception e) system.out.print(加載驅(qū)動程序失敗); string conurl=jdbc:sqlserver:/localhost:1433; databasename=si

6、ms; try connection con=drivermanager.getconnection(conurl,sa,majie); statement st=con.createstatement();、catch(sqlexception g) system.out.println(錯誤代碼:+g.geterrorcode();system.out.println(錯誤內(nèi)容:+g.getmessage(); 五測試數(shù)據(jù)及運(yùn)行結(jié)果1 正常測試數(shù)據(jù)和運(yùn)行結(jié)果登錄信息查詢修改信息2異常測試數(shù)據(jù)及運(yùn)行結(jié)果 六調(diào)試情況,設(shè)計技巧及體會1 改進(jìn)方案本次課程設(shè)計實現(xiàn)了系統(tǒng)的基本功能,做的不是很復(fù)雜,

7、跟預(yù)期想的結(jié)果有些差距,數(shù)據(jù)庫表的設(shè)計有點簡單,下來還要增加表的復(fù)雜度,以及觸發(fā)器的使用。2體會連接數(shù)據(jù)庫還是比較順利的,因為之前有簡單的使用過數(shù)據(jù)庫。總體來說系統(tǒng)算是完成了,基本功能也都實現(xiàn)了,但是在難度上還是不符合要求,還得增加一些更富有實際價值的設(shè)計。七參考文獻(xiàn)數(shù)據(jù)庫系統(tǒng)原理與應(yīng)用 孟彩霞、喬平安、張榮 編著八附錄:源代碼package com.student.ms;import java.awt.color;import java.awt.container;import java.awt.dimension;import java.awt.gridlayout;import java

8、.awt.toolkit;import java.awt.event.actionevent;import java.awt.event.actionlistener;import java.awt.event.focusevent;import java.awt.event.focuslistener;import java.sql.connection;import java.sql.drivermanager;import java.sql.resultset;import java.sql.sqlexception;import java.sql.statement;import ja

9、vax.swing.jbutton;import javax.swing.jframe;import javax.swing.jlabel;import javax.swing.joptionpane;import javax.swing.jpanel;import javax.swing.jtextfield;import javax.swing.swingconstants;public class add implements actionlistenerjframe f1;container ct;jpanel jp,jp1,jp2,jp3;jbutton btn1,btn2;jlab

10、el label;jtextfield tf1,tf2,tf3,tf4,tf5,tf6;add()f1=new jframe();ct=f1.getcontentpane();/初始化面板jp=new jpanel();jp1=new jpanel(new gridlayout(6,1);jp2=new jpanel(new gridlayout(6,1);jp3=new jpanel();btn1=new jbutton(確定);btn2=new jbutton(取消);label=new jlabel(添加學(xué)生信息,swingconstants.center);label.setforeg

11、round(color.gray);tf1=new jtextfield(20);tf2=new jtextfield(20);tf3=new jtextfield(20);tf4=new jtextfield(20);tf5=new jtextfield(20);tf6=new jtextfield(20);tf6.settext(例:2000-02-02);/文本框加入提示語tf6.addfocuslistener(new focuslistener() public void focusgained(focusevent e) tf6.settext(); public void foc

12、uslost(focusevent e) );jp.add(label);ct.add(jp,north);jp1.add(new jlabel(姓名,swingconstants.center);jp2.add(tf1);jp1.add(new jlabel(性別,swingconstants.center);jp2.add(tf2);jp1.add(new jlabel(學(xué)號,swingconstants.center);jp2.add(tf3);jp1.add(new jlabel(專業(yè),swingconstants.center);jp2.add(tf4);jp1.add(new jl

13、abel(班級,swingconstants.center);jp2.add(tf5);jp1.add(new jlabel(入學(xué)時間,swingconstants.center);jp2.add(tf6);jp3.add(btn1);jp3.add(btn2);ct.add(jp1,west);ct.add(jp2,east);ct.add(jp3,south);toolkit kit=toolkit.getdefaulttoolkit();dimension screen=kit.getscreensize();int x=screen.width;int y=screen.height;

14、f1.setsize(350,330);int xcenter=(x-350)/2;int ycenter=(y-330)/2;f1.setlocation(xcenter, ycenter);f1.setvisible(true); /f1.setdefaultcloseoperation(jframe.exit_on_close);btn1.addactionlistener(this);btn2.addactionlistener(this);public void insert()if(tf1.gettext().equals()|tf2.gettext().equals()|tf3.

15、gettext().equals()|tf4.gettext().equals()|tf5.gettext().equals()|tf6.gettext().equals()joptionpane.showmessagedialog(f1,請?zhí)顚懲暾畔?;return;try class.forname(com.microsoft.sqlserver.jdbc.sqlserverdriver); catch(classnotfoundexception e) system.out.print(加載驅(qū)動程序失敗); string conurl=jdbc:sqlserver:/localhost

16、:1433; databasename=sims; try connection con=drivermanager.getconnection(conurl,sa,majie); statement st=con.createstatement(); string s=insert into studentinfo values(+tf1.gettext()+,+tf2.gettext()+,+tf3.gettext()+,+tf4.gettext()+,+tf5.gettext()+,+tf6.gettext()+);string query=select * from studentin

17、fo where snumber=+tf3.gettext().trim()+;resultset res=st.executequery(query);if(res.next()joptionpane.showmessagedialog(f1,學(xué)號信息已經(jīng)存在!);con.close(); tf3.settext(); else if(tf6.gettext().length()!=10)joptionpane.showmessagedialog(f1,入學(xué)時間格式有誤!);con.close();tf6.settext();int insert=st.executeupdate(s);if

18、(insert=1)joptionpane.showmessagedialog(f1,錄入信息成功!);tf1.settext();tf2.settext();tf3.settext();tf4.settext();tf5.settext();tf6.settext(); catch(sqlexception e) system.out.println(錯誤代碼:+e.geterrorcode(); system.out.println(錯誤信息:+e.getmessage(); suppresswarnings(deprecation)public void actionperformed(

19、actionevent e)string cmd=e.getactioncommand();if(cmd.equals(確定)joptionpane.showmessagedialog(null,與用戶表沖突);insert();else if(cmd.equals(取消)f1.hide(); public container getct()return ct;public void setct(container ct)this.ct = ct;package com.student.ms;import java.awt.borderlayout;import java.awt.color;

20、import java.awt.container;import java.awt.dimension;import java.awt.toolkit;import java.awt.event.actionevent;import java.awt.event.actionlistener;import java.sql.connection;import java.sql.drivermanager;import java.sql.resultset;import java.sql.sqlexception;import java.sql.statement;import javax.sw

21、ing.jbutton;import javax.swing.jframe;import javax.swing.jlabel;import javax.swing.joptionpane;import javax.swing.jpanel;import javax.swing.jscrollpane;import javax.swing.jtable;import javax.swing.jtextfield;import javax.swing.swingconstants;public class delete implements actionlistenerjframe f2;con

22、tainer ct;jpanel jp1,jp2,jp3,jp4;jlabel label; jtextfield text;jtable table;/接收數(shù)據(jù)庫中返回的信息jbutton btn1,btn2,btn3;object columnname=姓名,性別,學(xué)號,專業(yè),班級,入學(xué)時間;object ar=new object806;delete()f2=new jframe();ct=f2.getcontentpane();jp1=new jpanel();jp2=new jpanel();jp3=new jpanel();jp4=new jpanel();label=new jl

23、abel();text=new jtextfield();btn1=new jbutton(查詢);btn2=new jbutton(刪除);btn3=new jbutton(取消);label=new jlabel(請輸入要刪除的學(xué)生姓名:,swingconstants.center);label.setbackground(color.blue);table=new jtable(ar,columnname);jscrollpane scroll=new jscrollpane(table);text=new jtextfield(20);jp2.add(btn1);jp2.add(btn

24、2);jp2.add(btn3);jp1.add(label);jp1.add(text);ct.add(jp1,north);jp3.setlayout(new borderlayout();jp3.add(new jlabel(學(xué)生信息如下);jp3.add(scroll);ct.add(jp2,south);ct.add(jp3,center);toolkit kit=toolkit.getdefaulttoolkit();dimension screen=kit.getscreensize();int x=screen.width;int y=screen.height;f2.sets

25、ize(450, 400);int xcenter=(x-450)/2;int ycenter=(y-400)/2;f2.setlocation(xcenter, ycenter);f2.setvisible(true);/f2.setdefaultcloseoperation(jframe.exit_on_close);btn1.addactionlistener(this);btn2.addactionlistener(this);btn3.addactionlistener(this);int i=0;public void show(string s) while(i=0)ari0=;

26、ari1=;ari2=;ari3=;ari4=;ari5=;i-;i=0; try class.forname(com.microsoft.sqlserver.jdbc.sqlserverdriver); catch(classnotfoundexception e) system.out.print(加載驅(qū)動程序失敗); string conurl=jdbc:sqlserver:/localhost:1433; databasename=sims; try connection con=drivermanager.getconnection(conurl,sa,majie); stateme

27、nt st=con.createstatement(); string sql=select * from studentinfo where sname=+s+; resultset res=st.executequery(sql); /*if(!(res.next() joptionpane.showmessagedialog(f,所要查詢的信息不存在); */ while(res.next() string sname=res.getstring(1); string ssex=res.getstring(2); string snumber=res.getstring(3); stri

28、ng sprofession=res.getstring(4); string sclass=res.getstring(5); string sdate=res.getstring(6); ari0=sname;ari1=ssex;ari2=snumber;ari3=sprofession;ari4=sclass;ari5=sdate; i+; f2.repaint(); con.close(); catch(sqlexception e)system.out.println(錯誤代碼:+e.geterrorcode();system.out.println(錯誤信息:+e.getmessa

29、ge();public void delete(int line)try class.forname(com.microsoft.sqlserver.jdbc.sqlserverdriver); catch(classnotfoundexception e) system.out.print(加載驅(qū)動程序失敗); string conurl=jdbc:sqlserver:/localhost:1433; databasename=sims; try connection con=drivermanager.getconnection(conurl,sa,majie); statement st

30、=con.createstatement(); string name=(string)(arline2); string sql=delete from studentinfo where snumber =+name+; int del=st.executeupdate(sql); if(del=1) arline0=;arline1=;arline2=;arline3=;arline4=;arline5=; joptionpane.showmessagedialog(null,刪除成功!, 信息, joptionpane.yes_no_option); con.close(); f2.r

31、epaint(); catch(sqlexception e) system.out.println(錯誤代碼:+e.geterrorcode();system.out.println(錯誤信息:+e.getmessage(); suppresswarnings(deprecation)public void actionperformed(actionevent e)string cmd=e.getactioncommand();if(cmd.equals(查詢)string qu=text.gettext().trim();show(qu);if(cmd.equals(刪除)int de=

32、table.getselectedrow();if(de=-1)joptionpane.showmessagedialog(null,請選定要刪除的行, 錯誤信息, joptionpane.yes_no_option);elsedelete(de);if(cmd.equals(取消)f2.hide(); package com.student.ms;import java.awt.color;import java.awt.container;import java.awt.dimension;import java.awt.toolkit;import java.awt.event.acti

33、onevent;import java.awt.event.actionlistener;import java.sql.connection;import java.sql.drivermanager;import java.sql.resultset;import java.sql.sqlexception;import java.sql.statement;import javax.swing.jbutton;import javax.swing.jframe;import javax.swing.jlabel;import javax.swing.jpanel;import javax

34、.swing.jscrollpane;import javax.swing.jtable;import javax.swing.swingconstants; public class liulan implements actionlistenerjframe f4;container ct;jpanel jp1,jp2,jp3,jp4;jlabel label;jbutton btn1,btn2;jtable table;object ar=new object806;object columnname=姓名,性別,學(xué)號,專業(yè),班級,入學(xué)時間;liulan()f4=new jframe()

35、;ct=f4.getcontentpane();jp1=new jpanel();jp2=new jpanel();jp3=new jpanel();jp4=new jpanel();btn1=new jbutton(點擊瀏覽);btn2=new jbutton( 取消 );label=new jlabel(學(xué)生信息瀏覽,swingconstants.center);label.setbackground(color.blue);table=new jtable(ar, columnname);jscrollpane scroll=new jscrollpane(table);jp1.add(

36、label);jp2.add(btn1);jp2.add(btn2);jp3.add(scroll);ct.add(jp1,north);ct.add(jp3,center);ct.add(jp2,south);toolkit kit=toolkit.getdefaulttoolkit();dimension screen=kit.getscreensize();int x=screen.width;int y=screen.height;f4.setsize(500,530);int xcen=(x-500)/2;int ycen=(y-530)/2;f4.setlocation(xcen,

37、ycen);f4.setvisible(true);btn1.addactionlistener(this);btn2.addactionlistener(this);int i=0;public void select()while(i=0)ari0=; ari1=;ari2=;ari3=;ari4=;ari5=;i-;i=0;try class.forname(com.microsoft.sqlserver.jdbc.sqlserverdriver); catch(classnotfoundexception e) system.out.print(加載驅(qū)動程序失敗); string co

38、nurl=jdbc:sqlserver:/localhost:1433; databasename=sims; try connection con=drivermanager.getconnection(conurl,sa,majie); statement st=con.createstatement(); string s=select * from studentinfo; resultset res=st.executequery(s); while(res.next() string sname=res.getstring(1); string ssex=res.getstring

39、(2); string snumber=res.getstring(3); string sprofession=res.getstring(4); string sclass=res.getstring(5); string sdate=res.getstring(6); ari0=sname; ari1=ssex;ari2=snumber;ari3=sprofession;ari4=sclass;ari5=sdate; i+; f4.repaint(); con.close(); catch(sqlexception e)system.out.println(錯誤代碼:+e.geterro

40、rcode();system.out.println(錯誤信息:+e.getmessage();suppresswarnings(deprecation)overridepublic void actionperformed(actionevent e)string cmd=e.getactioncommand();if(cmd.equals(點擊瀏覽)select();else if(cmd.equals( 取消 )f4.hide(); package com.student.ms;import java.awt.color;import java.awt.container;import

41、java.awt.dimension;import java.awt.toolkit;import java.awt.event.actionevent;import java.awt.event.actionlistener;import java.awt.event.itemevent;import java.awt.event.itemlistener;import java.awt.event.windowadapter;import java.awt.event.windowevent;import java.sql.resultset;import java.sql.sqlexce

42、ption;import java.sql.statement;import java.sql.connection;import java.sql.drivermanager;import javax.swing.buttongroup;import javax.swing.jbutton;import javax.swing.jframe;import javax.swing.jlabel;import javax.swing.joptionpane;import javax.swing.jpanel;import javax.swing.jpasswordfield;import jav

43、ax.swing.jradiobutton;import javax.swing.jtextfield;import javax.swing.swingconstants; suppresswarnings(serial)class login extends jframe implements actionlistener container cp=null; jframe f=null; jbutton button1,button2,button3; jtextfield t1; jpasswordfield t2; jlabel jlable1,jlable2; jradiobutto

44、n rabtn1,rabtn2; color c; jpanel jp1,jp2,jp3; string table=null; login() f=new jframe(學(xué)生信息管理系統(tǒng)); button1=new jbutton(確定); button2=new jbutton(取消); button3=new jbutton(注冊); /button3.setopaque(false); button3.setborder(null); button3.setbackground(color.getcolor(#292421); rabtn1=new jradiobutton(普通用戶)

45、; rabtn1.setbackground(color.getcolor(#292421); rabtn2=new jradiobutton(管理員); rabtn2.setbackground(color.getcolor(#292421); buttongroup group=new buttongroup(); group.add(rabtn1); group.add(rabtn2); cp=f.getcontentpane(); jlable1=new jlabel(輸入用戶名); jlable2=new jlabel(輸入密碼); jp1=new jpanel(); jp2=new jpanel(); jp3=new jpanel(); t1=new jtextfield(20); t2=new jpasswordfield(20); /jp3.add(group); jp1.add(jlable1); jp1.add(t1); jp1.add(jlable2); jp1.add(t2); jp

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論