数据库课程设计(学生管理系统)-附代码.doc

上传人:啊飒飒 文档编号:10133319 上传时间:2021-04-22 格式:DOC 页数:32 大小:277.50KB
返回 下载 相关 举报
数据库课程设计(学生管理系统)-附代码.doc_第1页
第1页 / 共32页
数据库课程设计(学生管理系统)-附代码.doc_第2页
第2页 / 共32页
数据库课程设计(学生管理系统)-附代码.doc_第3页
第3页 / 共32页
数据库课程设计(学生管理系统)-附代码.doc_第4页
第4页 / 共32页
数据库课程设计(学生管理系统)-附代码.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《数据库课程设计(学生管理系统)-附代码.doc》由会员分享,可在线阅读,更多相关《数据库课程设计(学生管理系统)-附代码.doc(32页珍藏版)》请在三一文库上搜索。

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(2); String sNumb

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1