




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 數據庫課程設計報告題 目: 學生信息管理系統院系名稱: 計算機學院 專業名稱: 班 級: 學生姓名: 學號(8位): 指導教師: 設計起止時間:2011年12月19日2011年12月30日一. 設計目的 1、掌握dbms的基本工作原理 2、培養數據庫應用系統設計的基本思路和方法 3、培養分析、解決問題的能力 二. 設計內容利用數據庫實現對學生信息的管理所用數據庫:sqlserver 2008開發語言:java、開發工具:eclipse三概要設計 通過訪問數據庫實現以下功能:1、 不同用戶權限登陸系統2、 用戶密碼修改3、 學生信息的添加、查詢、修改、瀏覽1功能模塊圖 系統用戶管理學生信息管理
2、系統學生信息管理2各個模塊詳細的功能描述。1、系統用戶管理模塊管理員和普通用戶通過這個模塊登陸系統,不同的用戶用不同的用戶名登陸,通過選擇登陸模式(管理員或者普通用戶)登陸系統,完成不同的操作。兩種用戶都可以對自己的登陸密碼進行修改。新用戶可進行注冊操作,注冊后登陸,并進行信息的完善。2、學生信息管理模塊管理員和普通用戶對學生信息由不同的操作。管理員可以對信息進行增加,刪除,修改和列表查看,普通用戶對自己的信息可進行查詢,和修改。 四詳細設計1功能函數的調用關系圖 query()comfirm()add() 管理員界面delete()liulan()updatecode()login()主界面
3、登陸query()comfirm()updateinfo() 普通用戶界面updatecode() 查詢信息操作 添加信息操作 刪除信息操作 總體瀏覽操作 修改密碼操作 查詢個人信息 修改個人信息 修改個人密碼系統登錄2各功能函數的數據流程圖普通用戶登錄管理員登錄判斷判斷成功成功查詢信息修改個人密碼添加信息查詢個人信息修改個人信息刪除信息瀏覽信息修改密碼 退出3重點設計及編碼、-學生信息表-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);-連接數據庫try class.forname(com.microsoft.sqlserver.jdbc.sqlserverdriver); catch(classnotfoundexception e) system.out.print(加載驅動程序失敗); 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(錯誤內容:+g.getmessage(); 五測試數據及運行結果1 正常測試數據和運行結果登錄信息查詢修改信息2異常測試數據及運行結果 六調試情況,設計技巧及體會1 改進方案本次課程設計實現了系統的基本功能,做的不是很復雜,
7、跟預期想的結果有些差距,數據庫表的設計有點簡單,下來還要增加表的復雜度,以及觸發器的使用。2體會連接數據庫還是比較順利的,因為之前有簡單的使用過數據庫。總體來說系統算是完成了,基本功能也都實現了,但是在難度上還是不符合要求,還得增加一些更富有實際價值的設計。七參考文獻數據庫系統原理與應用 孟彩霞、喬平安、張榮 編著八附錄:源代碼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(添加學生信息,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(學號,swingconstants.center);jp2.add(tf3);jp1.add(new jlabel(專業,swingconstants.center);jp2.add(tf4);jp1.add(new jl
13、abel(班級,swingconstants.center);jp2.add(tf5);jp1.add(new jlabel(入學時間,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,請填寫完整信息);return;try class.forname(com.microsoft.sqlserver.jdbc.sqlserverdriver); catch(classnotfoundexception e) system.out.print(加載驅動程序失敗); 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,學號信息已經存在!);con.close(); tf3.settext(); else if(tf6.gettext().length()!=10)joptionpane.showmessagedialog(f1,入學時間格式有誤!);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;/接收數據庫中返回的信息jbutton btn1,btn2,btn3;object columnname=姓名,性別,學號,專業,班級,入學時間;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(請輸入要刪除的學生姓名:,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(學生信息如下);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(加載驅動程序失敗); 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(加載驅動程序失敗); 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=姓名,性別,學號,專業,班級,入學時間;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(學生信息瀏覽,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(加載驅動程序失敗); 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(學生信息管理系統); 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 實驗室安全規定
- 2025年滑雪教練職業技能測試卷:2025年滑雪教練冰雪運動項目賽事運營與管理試題
- 2025年報關員職業資格考試試卷:報關員職業資格考試備考策略與沖刺復習押題預測試題
- 特別聲明性質的工作情況說明證明(6篇)
- 展開想象翅膀的想象作文8篇范文
- 電子商務領域銷售代表工資單證明(7篇)
- 一次難忘的生日記事回憶10篇
- 美妝個性化定制服務模式在美容院服務流程優化中的應用報告
- 保護環境從我做起議論文分享7篇
- 時間沙漏寫物作文(11篇)
- 關節僵硬護理查房
- 國開2023秋《現-代-管-理-專-題》北京-第四次作業參考答案
- 長城招聘的心理測評答案
- 云災備與數據恢復策略
- 中小學食堂工作從業人員安全培訓會議記錄(40學時全)
- 國開《工程經濟與管理》形考任務1-12試題及答案
- 幼兒園玩教具明細表
- 普速《鐵路技術管理規程》普速鐵路部分
- 風控部合同審核流程
- SA8000全套控制程序文件
- 畢業50周年同學聚會邀請函匯編4篇
評論
0/150
提交評論