版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 數(shù)據(jù)庫課程設(shè)計報告題 目: 學(xué)生信息管理系統(tǒng)院系名稱: 計算機學(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各個模塊詳細的功能描述。1、系統(tǒng)用戶管理模塊管理員和普通用戶通過這個模塊登陸系統(tǒng),不同的用戶用不同的用戶名登陸,通過選擇登陸模式(管理員或者普通用戶)登陸系統(tǒng),完成不同的操作。兩種用戶都可以對自己的登陸密碼進行修改。新用戶可進行注冊操作,注冊后登陸,并進行信息的完善。2、學(xué)生信息管理模塊管理員和普通用戶對學(xué)生信息由不同的操作。管理員可以對信息進行增加,刪除,修改和列表查看,普通用戶對自己的信息可進行查詢,和修改。 四詳細設(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 varch
5、ar(20) not null);-管理員登陸信息表-create 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
6、conurl="jdbc:sqlserver:/localhost:1433; databasename=sims" 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)容:
7、"+g.getmessage(); 五測試數(shù)據(jù)及運行結(jié)果1 正常測試數(shù)據(jù)和運行結(jié)果登錄信息查詢修改信息2異常測試數(shù)據(jù)及運行結(jié)果 六調(diào)試情況,設(shè)計技巧及體會1 改進方案本次課程設(shè)計實現(xiàn)了系統(tǒng)的基本功能,做的不是很復(fù)雜,跟預(yù)期想的結(jié)果有些差距,數(shù)據(jù)庫表的設(shè)計有點簡單,下來還要增加表的復(fù)雜度,以及觸發(fā)器的使用。2體會連接數(shù)據(jù)庫還是比較順利的,因為之前有簡單的使用過數(shù)據(jù)庫。總體來說系統(tǒng)算是完成了,基本功能也都實現(xiàn)了,但是在難度上還是不符合要求,還得增加一些更富有實際價值的設(shè)計。七參考文獻數(shù)據(jù)庫系統(tǒng)原理與應(yīng)用 孟彩霞、喬平安、張榮 編著八附錄:源代碼package com.student.ms
8、;import java.awt.color;import java.awt.container;import java.awt.dimension;import java.awt.gridlayout;import java.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
9、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.joptionpane;import javax.swing.jpanel;import javax.swing.jtextfield;import javax.swing.swingconsta
10、nts;public class add implements actionlistenerjframe f1;container ct;jpanel jp,jp1,jp2,jp3;jbutton btn1,btn2;jlabel 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
11、 jpanel();btn1=new jbutton("確定");btn2=new jbutton("取消");label=new jlabel("<html><font color=#cc00ff size='4'>添加學(xué)生信息</font>",swingconstants.center);label.setforeground(color.gray);tf1=new jtextfield(20);tf2=new jtextfield(20);tf3=new jtextfield(
12、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 focuslost(focusevent e) );jp.add(label);ct.add(jp,"north&
13、quot;);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 j
14、label("班級",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 scree
15、n=kit.getscreensize();int x=screen.width;int y=screen.height;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
16、insert()if(tf1.gettext().equals("")|tf2.gettext().equals("")|tf3.gettext().equals("")|tf4.gettext().equals("")|tf5.gettext().equals("")|tf6.gettext().equals("")joptionpane.showmessagedialog(f1,"請?zhí)顚懲暾畔?quot;);return;try class.forname(&
17、quot;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"); state
18、ment st=con.createstatement(); string s="insert into studentinfo values('"+tf1.gettext()+"','"+tf2.gettext()+"','"+tf3.gettext()+"','"+tf4.gettext()+"','"+tf5.gettext()+"','"+tf6.gettext()+"&
19、#39;);"string query="select * from studentinfo 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()!=1
20、0)joptionpane.showmessagedialog(f1,"入學(xué)時間格式有誤!");con.close();tf6.settext("");int insert=st.executeupdate(s);if(insert=1)joptionpane.showmessagedialog(f1,"錄入信息成功!");tf1.settext("");tf2.settext("");tf3.settext("");tf4.settext("");tf5
21、.settext("");tf6.settext(""); 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(cm
22、d.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;import java.awt
23、.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.swing.jbutton;imp
24、ort 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;container ct;jpane
25、l 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
26、 jpanel();jp3=new jpanel();jp4=new jpanel();label=new jlabel();text=new jtextfield();btn1=new jbutton("查詢");btn2=new jbutton("刪除");btn3=new jbutton("取消");label=new jlabel("<html><font color=#cc00ff size='4'>請輸入要刪除的學(xué)生姓名:</font>",swingc
27、onstants.center);label.setbackground(color.blue);table=new jtable(ar,columnname);jscrollpane scroll=new jscrollpane(table);text=new jtextfield(20);jp2.add(btn1);jp2.add(btn2);jp2.add(btn3);jp1.add(label);jp1.add(text);ct.add(jp1,"north");jp3.setlayout(new borderlayout();jp3.add(new jlabel(
28、"學(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.setsize(450, 400);int xcenter=(x-450)/2;int ycenter=(y-400)/2;f2.setlocation(xcenter
29、, 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=""ari1=""ari2=""ari3=""ari4="&qu
30、ot;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(
31、conurl,"sa","majie"); statement 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() stri
32、ng sname=res.getstring(1); string ssex=res.getstring(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+; f2.repaint(); con.close(); catc
33、h(sqlexception e)system.out.println("錯誤代碼:"+e.geterrorcode();system.out.println("錯誤信息:"+e.getmessage();public void delete(int line)try class.forname("com.microsoft.sqlserver.jdbc.sqlserverdriver"); catch(classnotfoundexception e) system.out.print("加載驅(qū)動程序失敗");
34、string conurl="jdbc:sqlserver:/localhost:1433; databasename=sims" try connection con=drivermanager.getconnection(conurl,"sa","majie"); statement st=con.createstatement(); string name=(string)(arline2); string sql="delete from studentinfo where snumber ='"+
35、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
36、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.ge
37、ttext().trim();show(qu);if(cmd.equals("刪除")int de=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
38、 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.swing.jb
39、utton;import javax.swing.jframe;import javax.swing.jlabel;import javax.swing.jpanel;import javax.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;jt
40、able table;object ar=new object806;object columnname="姓名","性別","學(xué)號","專業(yè)","班級","入學(xué)時間"liulan()f4=new jframe();ct=f4.getcontentpane();jp1=new jpanel();jp2=new jpanel();jp3=new jpanel();jp4=new jpanel();btn1=new jbutton("點擊瀏覽");btn2=n
41、ew jbutton(" 取消 ");label=new jlabel("<html><font color=#00ff22 size='4'>學(xué)生信息瀏覽<font>",swingconstants.center);label.setbackground(color.blue);table=new jtable(ar, columnname);jscrollpane scroll=new jscrollpane(table);jp1.add(label);jp2.add(btn1);jp2.add(b
42、tn2);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
43、(xcen,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.sqlse
44、rverdriver"); 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=con.createstatement(); string s
45、="select * from studentinfo" resultset res=st.executequery(s); while(res.next() string sname=res.getstring(1); string ssex=res.getstring(2); string snumber=res.getstring(3); string sprofession=res.getstring(4); string sclass=res.getstring(5); string sdate=res.getstring(6); ari0=sname; ari1
46、=ssex;ari2=snumber;ari3=sprofession;ari4=sclass;ari5=sdate; i+; f4.repaint(); con.close(); catch(sqlexception e)system.out.println("錯誤代碼:"+e.geterrorcode();system.out.println("錯誤信息:"+e.getmessage();suppresswarnings("deprecation")overridepublic void actionperformed(actio
47、nevent 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 java.awt.dimension;import java.awt.toolkit;import java.awt.event.actionevent;import java.awt.e
48、vent.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.sqlexception;import java.sql.statement;import java.sql.connection;import java.sql.drivermanager;impor
49、t 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 javax.swing.jradiobutton;import javax.swing.jtextfield;import javax.swing.swingconstants; suppres
50、swarnings("serial")class login extends jframe implements actionlistener container cp=null; jframe f=null; jbutton button1,button2,button3; jtextfield t1; jpasswordfield t2; jlabel jlable1,jlable2; jradiobutton rabtn1,rabtn2; color c; jpanel jp1,jp2,jp3; string table=null; login() f=new jfr
51、ame("學(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("普通用戶"); rabtn1.s
52、etbackground(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); jp1.ad
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度美容院健康體檢與會員服務(wù)合同2篇
- 2025年度新能源車輛運輸合同
- 二零二五年寧波租賃房屋租賃合同租賃物維修責(zé)任
- 2025年度影視作品版權(quán)授權(quán)合同樣本二4篇
- 2025年度足浴店品牌連鎖經(jīng)營合同
- 二零二五年度2025版智慧城市建設(shè)項目采購合同4篇
- 2025年度酒廠電子商務(wù)平臺建設(shè)合同
- 2025年度高端品牌形象設(shè)計顧問聘請合同書2篇
- 二零二五年度環(huán)保工程公司股東股權(quán)變更與項目執(zhí)行合同
- 二零二五年度出口產(chǎn)品購銷合同樣本知識產(chǎn)權(quán)保護策略4篇
- TB 10012-2019 鐵路工程地質(zhì)勘察規(guī)范
- 新蘇教版三年級下冊科學(xué)全冊知識點(背誦用)
- 鄉(xiāng)鎮(zhèn)風(fēng)控維穩(wěn)應(yīng)急預(yù)案演練
- 腦梗死合并癲癇病人的護理查房
- 蘇教版四年級上冊脫式計算300題及答案
- 犯罪現(xiàn)場保護培訓(xùn)課件
- 扣款通知單 采購部
- 電除顫操作流程圖
- 湖北教育出版社三年級下冊信息技術(shù)教案
- 設(shè)計基礎(chǔ)全套教學(xué)課件
- IATF16949包裝方案評審表
評論
0/150
提交評論