数据库课程设计学生管理系统附代码_第1页
数据库课程设计学生管理系统附代码_第2页
数据库课程设计学生管理系统附代码_第3页
数据库课程设计学生管理系统附代码_第4页
数据库课程设计学生管理系统附代码_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 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);-连接数据库try class.forname("com.microsoft.sqlserver.jdbc.sqlserverdriver"); catch(classnotfoundexception e) system.out.print("加载驱动程序失败"); 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("错误内容:

7、"+g.getmessage(); 五测试数据及运行结果1 正常测试数据和运行结果登录信息查询修改信息2异常测试数据及运行结果 六调试情况,设计技巧及体会1 改进方案本次课程设计实现了系统的基本功能,做的不是很复杂,跟预期想的结果有些差距,数据库表的设计有点简单,下来还要增加表的复杂度,以及触发器的使用。2体会连接数据库还是比较顺利的,因为之前有简单的使用过数据库。总体来说系统算是完成了,基本功能也都实现了,但是在难度上还是不符合要求,还得增加一些更富有实际价值的设计。七参考文献数据库系统原理与应用 孟彩霞、乔平安、张荣 编著八附录:源代码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'>添加学生信息</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("学号",swingconstants.center);jp2.add(tf3);jp1.add(new jlabel("专业",swingconstants.center);jp2.add(tf4);jp1.add(new j

14、label("班级",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 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,"请填写完整信息");return;try class.forname(&

17、quot;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"); 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,"学号信息已经存在!");con.close(); tf3.settext(""); else if(tf6.gettext().length()!=1

20、0)joptionpane.showmessagedialog(f1,"入学时间格式有误!");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;/接收数据库中返回的信息jbutton btn1,btn2,btn3;object columnname="姓名","性别","学号","专业","班级","入学时间"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'>请输入要删除的学生姓名:</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、"学生信息如下");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("加载驱动程序失败"); 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("加载驱动程序失败");

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="姓名","性别","学号","专业","班级","入学时间"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'>学生信息浏览<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("加载驱动程序失败"); 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("学生信息管理系统"); 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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论