




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 精裝臥室出租合同范本
- OEM加工食品合同范例
- 公路路燈安裝合同范例
- 兼職導(dǎo)游勞務(wù)合同范本
- 醫(yī)院廣告合同范本
- 合肥裝潢公司合同范本
- 單位長期租車合同范本
- 單位出讓房屋合同范例
- 制作安裝供貨合同范本
- 后增補(bǔ)協(xié)議合同范本
- 2025年上半年潛江市城市建設(shè)發(fā)展集團(tuán)招聘工作人員【52人】易考易錯模擬試題(共500題)試卷后附參考答案
- 旋轉(zhuǎn)類機(jī)電設(shè)備故障預(yù)測、診斷研究
- 旅游電子商務(wù)(第2版) 課件全套 周春林 項目1-8 電子商務(wù)概述-旅游電子商務(wù)數(shù)據(jù)挖掘
- 企業(yè)承包經(jīng)營合同范本
- 中學(xué)校長2025春開學(xué)典禮講話:以黃旭華之魂、DeepSeek 之智、哪吒之氣逐夢新程
- 2025年福建省中職《英語》學(xué)業(yè)水平考試核心考點試題庫500題(重點)
- 【課件】自然環(huán)境課件-2024-2025學(xué)年七年級地理下冊人教版
- 2025年01月公安部第三研究所公開招聘人民警察筆試筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025-2030全球鋰電池用隔膜行業(yè)調(diào)研及趨勢分析報告
- 2025年南京鐵道職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 《抖音高活躍群體研究報告》
評論
0/150
提交評論