学生信息管理系统完整源代码+mysql文件

学生信息管理系统完整源代码+mysql文件
学生信息管理系统完整源代码+mysql文件

数据库所用的数据自己导入MYSQL5.5,Navicat8就可以用了。

下面是具体的数据资料

/*

MySQL Data Transfer

Source Host: localhost

Source Database: sims

Target Host: localhost

Target Database: sims

Date: 2013-6-25 9:24:26

*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- Table structure for manager

-- ----------------------------

DROP TABLE IF EXISTS `manager`;

CREATE TABLE `manager` (

`id` varchar(10) NOT NULL,

`name` varchar(30) NOT NULL,

`Mima` varchar(20) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Table structure for studentinfo

-- ----------------------------

DROP TABLE IF EXISTS `studentinfo`;

CREATE TABLE `studentinfo` (

`Sname` varchar(30) NOT NULL,

`Ssex` varchar(10) NOT

NULL,

`Snumber` varchar(10) NOT NULL,

`Sprofession` varchar(30) NOT NULL,

`Sclass`

varchar(20) NOT NULL,

`Sdate` varchar(30) character set utf8 collate utf8_unicode_ci

NOT NULL,

PRIMARY KEY (`Snumber`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='InnoDB

free: 4096 kB';

-- ----------------------------

-- Table structure for userinfo

-- ----------------------------

DROP TABLE IF EXISTS `userinfo`;

CREATE TABLE `userinfo` (

`id` varchar(10) NOT NULL,

`name` varchar(30) NOT NULL,

`Mima` varchar(20) character set utf8 collate utf8_unicode_ci NOT NULL, PRIMARY KEY

(`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------

-- Records

-- ----------------------------

INSERT INTO `manager` VALUES ('1', '1', '2');

INSERT INTO `manager` VALUES ('2', '恩恩', '123456');

INSERT INTO `manager` VALUES ('3', '大大', '123456');

INSERT INTO `manager` VALUES ('4', '啊啊', '123456');

INSERT INTO `manager` VALUES ('5', '5', '5');

INSERT INTO `manager` VALUES ('6', '孙霞', '123456');

INSERT INTO `studentinfo` V ALUES ('张三', '男', '2010303755', '数学', '2', '2010-02- 12');

INSERT INTO `studentinfo` V ALUES ('李四', '男', '2010303760', '物理', '1', '1995.9.6'); INSERT INTO `studentinfo` V ALUES ('王二', '女', '2010303761', '应数', '2',

'1990.9.11');

INSERT INTO `studentinfo` V ALUES ('麻子', '女', '2010303762', '信计', '1',

'1999.9.10');

INSERT INTO `userinfo` V ALUES ('1', '1', '1');

INSERT INTO `userinfo` V ALUES ('13', '13', '1');

INSERT INTO `userinfo` V ALUES ('2', '2', '2');

INSERT INTO `userinfo` V ALUES ('3', '3', '3');

INSERT INTO `userinfo` V ALUES ('6', '6', '6');

INSERT INTO `userinfo` V ALUES ('7', '7', '6');

下面是相应的程序:

package MS;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener; import java.awt.Color;

import java.awt.Container;

import java.awt.Dimension;

import java.awt.GridLayout;

import java.awt.Toolkit;

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 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.SwingConstants;

public class Add implements ActionListener {

JFrame 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 JPanel();

btn1=new JButton("确定");

btn2=new JButton("取消");

label=new JLabel("添加学生信息",SwingConstants.CENTER);

label.setForeground(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 focusLost(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 JLabel("班级",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;

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.getText().equals("")||

tf4.getText().equals("")||tf5.getText().equals("")||tf6.getText().equals("")){

JOptionPane.showMessageDialog(f1,"请填写完整信息");

return;

}

try{

Class.forName("com.mysql.jdbc.Driver");

}catch(ClassNotFoundException e){

System.out.print("加载驱动程序失败");

}

String conURL="jdbc:mysql://localhost:3306/sims";

try{

Connection

con=DriverManager.getConnection(conURL,"root","123456");

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 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()!=10){

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.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(cmd.equals("确定")){

insert();

}

else if(cmd.equals("取消")){

f1.hide();

}

}

public Container getCt()

{

return ct;

}

public void setCt(Container ct)

{

this.ct = ct;

}

}

package MS;

import java.awt.BorderLayout;

import java.awt.Color;

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.swing.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 ActionListener {

JFrame f2;

Container ct;

JPanel jp1,jp2,jp3,jp4;

JLabel label;

JTextField text;

JTable table;//接收数据库中返回的信息

JButton btn1,btn2,btn3;

Object columnName[]={"姓名","性别","学号","专业","班级","入学时间"};

Object ar[][]=new Object[80][6];

Delete(){

f2=new JFrame();

ct=f2.getContentPane();

jp1=new JPanel();

jp2=new 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("请输入要删除的学生姓名:",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(btn2);

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.setSize(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)

{

ar[i][0]="";

ar[i][1]="";

ar[i][2]="";

ar[i][3]="";

ar[i][4]="";

ar[i][5]="";

i--;

}

i=0;

try{

Class.forName("com.mysql.jdbc.Driver");

}catch(ClassNotFoundException e){

System.out.print("加载驱动程序失败");

}

String conURL="jdbc:mysql://localhost:3306/sims";

try{

Connection con=DriverManager.getConnection(conURL,"root","123456");

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()){

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);

ar[i][0]=sName;

ar[i][1]=sSex;

ar[i][2]=sNumber;

ar[i][3]=sProfession;

ar[i][4]=sClass;

ar[i][5]=sDate;

i++;

}

f2.repaint();

con.close();

}catch(SQLException e){

System.out.println("错误代码:"+e.getErrorCode());

System.out.println("错误信息:"+e.getMessage());

}

}

public void delete(int line){

try{

Class.forName("com.mysql.jdbc.Driver");

}catch(ClassNotFoundException e){

System.out.print("加载驱动程序失败");

}

String conURL="jdbc:mysql://localhost:3306/sims";

try{

Connection con=DriverManager.getConnection(conURL,"root","123456");

Statement st=con.createStatement();

String name=(String)(ar[line][2]);

String sql="delete from studentinfo where Snumber ='"+name+"'";

int del=st.executeUpdate(sql);

if(del==1){

ar[line][0]="";

ar[line][1]="";

ar[line][2]="";

ar[line][3]="";

ar[line][4]="";

ar[line][5]="";

JOptionPane.showMessageDialog(null,"删除成功!",

"信息", JOptionPane.YES_NO_OPTION);

}

con.close();

f2.repaint();

}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=table.getSelectedRow();

if(de==-1){

JOptionPane.showMessageDialog(null,"请选定要删除的行",

"错误信息", JOptionPane.YES_NO_OPTION);

}

else{

delete(de);

}

}

if(cmd.equals("取消")){

f2.hide();

}

}

}

package 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.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.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.SwingConstants;

public class Liulan implements ActionListener {

JFrame f4;

Container ct;

JPanel jp1,jp2,jp3,jp4;

JLabel label;

JButton btn1,btn2;

JTable table;

Object[][] ar=new Object[80][6];

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=new JButton(" 取消");

label=new JLabel("学生信息浏览",SwingConstants.CENTER);

label.setBackground(Color.blue);

table=new JTable(ar, columnName);

JScrollPane scroll=new JScrollPane(table);

jp1.add(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,ycen);

f4.setVisible(true);

btn1.addActionListener(this);

btn2.addActionListener(this);

}

int i=0;

public void select(){

while(i>=0){

ar[i][0]="";

ar[i][1]="";

ar[i][2]="";

ar[i][3]="";

ar[i][4]="";

ar[i][5]="";

i--;

}

i=0;

try{

Class.forName("com.mysql.jdbc.Driver");

}catch(ClassNotFoundException e){

System.out.print("加载驱动程序失败");

}

String conURL="jdbc:mysql://localhost:3306/sims";

try{

Connection con=DriverManager.getConnection(conURL,"root","123456");

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 sNumber=res.getString(3);

String sProfession=res.getString(4);

String sClass=res.getString(5);

String sDate=res.getString(6);

ar[i][0]=sName;

ar[i][1]=sSex;

ar[i][2]=sNumber;

ar[i][3]=sProfession;

ar[i][4]=sClass;

ar[i][5]=sDate;

i++;

}

f4.repaint();

con.close();

}catch(SQLException e){

System.out.println("错误代码:"+e.getErrorCode());

System.out.println("错误信息:"+e.getMessage());

}

}

@SuppressWarnings("deprecation")

public void actionPerformed(ActionEvent e){

// TODO Auto-generated method stub

String cmd=e.getActionCommand();

if(cmd.equals("点击浏览")){

select();

}else if(cmd.equals(" 取消")){

f4.hide();

}

}

}

package MS;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.Color;

import java.awt.Container;

import java.awt.Dimension;

import java.awt.Toolkit;

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;

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 javax.swing.JRadioButton;

import javax.swing.JTextField;

import javax.swing.SwingConstants;

@SuppressWarnings("serial")

public 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 JFrame("学生信息管理系统");

button1=new JButton("确定");

button2=new JButton("取消");

button3=new JButton("注册");

//button3.setOpaque(false);

button3.setBorder(null);

button3.setBackground(Color.getColor("#292421"));

rabtn1=new JRadioButton("普通用户");

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);

jp1.add(rabtn1);

jp1.add(rabtn2);

jp1.add(button3);

JLabel JL=new JLabel("欢迎登陆" + "",SwingConstants.CENTER);

cp.add(JL,"North");

jp2.add(button1);

jp2.add(button2);

cp.add(jp1,"Center");

cp.add("South",jp2);

cp.setBackground(new Color(127, 255, 212 ));

jp2.setBackground(new Color(127, 255, 212 ));

jp1.setBackground(new Color(127, 255, 212 ));

Toolkit kit=Toolkit.getDefaultToolkit();

Dimension screen=kit.getScreenSize();

int x=screen.width;

int y=screen.height;

f.setSize(250,300);

int xcenter=(x-300)/2;

int ycenter=(y-300)/2;

f.setLocation(xcenter,ycenter);/*显示在窗口中央*/

f.setVisible(true);

//f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

//------------------------------------------------------------//

/*监听事件*/

button1.addActionListener(this);

button2.addActionListener(this);

button3.addActionListener(this);

rabtn1.addItemListener(new ItemListener()

{

public void itemStateChanged(ItemEvent e)

{

JRadioButton jop=(JRadioButton) e.getSource();

if (jop.isSelected())

table="userinfo";

}

});

rabtn2.addItemListener(new ItemListener()

{

public void itemStateChanged(ItemEvent e)

{

JRadioButton jop=(JRadioButton) e.getSource();

if (jop.isSelected())

table="manager";

}

});

f.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});

}

@SuppressWarnings("deprecation")

public void confirm(String tableName){

try{

Class.forName("com.mysql.jdbc.Driver");

}catch(ClassNotFoundException e){

System.out.print("加载驱动程序失败");

}

String conURL="jdbc:mysql://localhost:3306/sims";

try{

Connection con=DriverManager.getConnection(conURL,"root","123456");

Statement st=con.createStatement();

String id=t1.getText().trim();

String Mima=t2.getText().trim();

String queryMima="select * from "+tableName+" where id='"+id+"' and mima='"+Mima+"'";

ResultSet res=st.executeQuery(queryMima);

if(res.next()){

if(tableName.equals("manager"))

new Mstudent(id);

else if(tableName.equals("userinfo"))

new Ustudent(id);

f.hide();

con.close();

}else{

JOptionPane.showMessageDialog(null,"密码错误请重输!!!","提示!",

JOptionPane.YES_NO_OPTION);

}

t1.setText("");

t2.setText("");

}catch(SQLException g)

{

System.out.println("错误代码:"+g.getErrorCode());

System.out.println("错误内容:"+g.getMessage());

}

}

ItemListener listen=new ItemListener(){

public void itemStateChanged(ItemEvent e) {

// TODO Auto-generated method stub

}

};

public void actionPerformed(ActionEvent e)

{

String cmd=e.getActionCommand();

if(cmd.equals("确定")){

if(table==null){

JOptionPane.showMessageDialog(f,"请选择用户类型");

}

confirm(table);

}

else if(cmd.equals("取消")){

f.dispose();

}else if(cmd.equals("注册")){

new Regist();

}

}

public static void main(String []arg){

new Login();

}

}

package MS;

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Container;

import java.awt.Dimension;

import java.awt.Toolkit;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.BorderFactory;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JMenuBar;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.SwingConstants;

import javax.swing.border.TitledBorder;

@SuppressWarnings("serial")

public class Mstudent extends JFrame implements ActionListener {

JButton Query = new JButton("查询信息");

JButton add = new JButton("添加信息");

附录(图书管理系统程序代码)

附录 主页面(MDImain): Private Sub addbook_Click() add_book.Show End Sub Private Sub addreader_Click() add_reader.Show End Sub Private Sub adduser_Click() add_user.Show End Sub Private Sub backbook_Click() back_book.Show End Sub Private Sub borrowbook_Click() borrow_book.Show End Sub Private Sub cuibackbook_Click() cuiback_book.Show End Sub Private Sub findbook_Click() find_book.Show End Sub Private Sub findreader_Click() find_reader.Show End Sub Private Sub MDIForm_Load() End Sub Private Sub modifybook_Click() change_book.Show End Sub Private Sub modifypwd_Click()

change_pwd.Show End Sub Private Sub modifyreader_Click() change_reader.Show End Sub Private Sub delbook_Click() del_book.Show End Sub Private Sub delreder_Click() del_reader.Show End Sub Private Sub quitsys_Click() End End Sub 登陆(login): Option Explicit Dim cnt As Integer '记录确定次数 Private Sub Command1_Click() Dim sql As String Dim rs_login As New ADODB.Recordset If Trim(txtuser.Text) = "" Then '判断输入的用户名是否为空MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" txtuser.SetFocus Else sql = "select * from 用户表where 用户名='" & txtuser.Text & "'" rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" txtuser.SetFocus Else '检验密码是否正确 If Trim(rs_login.Fields(1)) = Trim(txtpwd.Text) Then userID = txtuser.Text userpow = rs_login.Fields(2) rs_login.Close Unload Me MsgBox "欢迎登录到图书管理系统!", vbOKOnly + vbExclamation, "" MDImain.Show Else

SQL数据库图书管理系统(完整代码)

作品设计报告书题目:《图书管理系统》 班级网络2012-1班 学号 姓名 课程名称数据库应用技术 指导教师

目录

数据库课程设计报告书 一、设计目标 1.掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织 和实施。 2.关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试 运行等工作。 3.培养把所学知识运用到具体对象,并能求出解决方案的能力。 二、数据库存储设计指导思想 在数据库存储设计的无数选择中,简单是系统架构师和DBA 的秘密武器。 简单,有时候就来自于对一个特定的表或表空间没有选择最优I/O 特性,总有这么一种可能,一个富有经验的DBA 拥有高超的存储技能并可以没有时间限制的去为一个非常重要的表或者索引配置一个存储。然而这样做的问题是,就算能达到设计的最佳性能,为了维护原始对象,这也经常造成对一个系统的管理变得更加复杂。好的数据库存储设计的要点是,在一个动态系统上,实现所有目标应该是最初的系统设计的一部分,并应该在数据库运行过程中长期进行。这篇文档简单的最佳实践描述达到了这些目标并且几乎没有性能损失。 三、任务 角色:读者、图书馆馆员、系统管理员;基础数据:读者信息、图书信息、操作员信息;业务数据:借还书记录登记、罚款登记;统计数据:书籍借阅情况统计或读者借阅情况统计。基本要求:利用数据库技术,完成基础数据和业务数据的储存和操作,数据库设计合理1.设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL 实现的查询语言及查询结果。 2.上机实现。

1.问题描述 1.1背景 随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。 另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。 提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。 1.2数据需求 图书馆管理信息系统需要完成功能主要有: 1. 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。 2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。 3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 4.书籍类别信息的查询、修改,包括类别编号、类别名称。 5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。 6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。 7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。 8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。 9.还书信息的输入,包括借书证编号、书籍编号、还书日期。 10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。 11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。

数据库-学生学籍管理系统讲解学习

目录 一、系统定义 (1) 二、需求分析 (1) 1、系统综合需求 (1) 2、系统逻辑模型 (2) 三、系统设计 (4) 1、概念结构设计 (4) 2、逻辑结构设计 (5) 3、系统功能设计 (7) 四、详细设计 (8) 1、开发平台及工具 (8) 2、数据库的创建和链接 (8) 3、编码设计 (9) 4、界面设计 (11) 五、课程设计总结 (13) 六、参考文献 (13) 七、评分表 (14)

一、系统定义 在学籍管理中,需要从大量的日常教学活动中提取相关信息,以反映教学情况。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水平,此外,现今学籍管理的繁索给具有强烈时间观念的行政人员带来了诸多不便,教学办公室缺少一种完善的学籍管理软件,为了对学生档案,学生信息的管理方便,因此开发了本软件。 二、需求分析 1、系统综合需求 ⒈系统需求分析 需求分析是数据库系统设计的一个重要的环节。本阶段应该对整个应用情况作全面的、详细的调查,确定特定数据库应用环境下的设计目标,收集该应用环境下针对系统设计所需要的基础数据以及对这些数据的具体存储要求,从而确定用户的需求。用户对数据库的需求包括: ⑴处理需求 1、实现学生基本情况的录入,修改,删除等基本操作。 2、对学生基本信息提供灵活的查询方式。 3、完成一个班级的学期选课功能。 4、实现学生成绩的录入,修改,删除等基本操作。 5、能方便的对学生的个人学期成绩进行查询。 6、具有成绩统计,排名等功能。 7、具有留级,休学等特殊情况的处理功能。 8、能输出常用的各种报表。 9、具有数据备份和数据恢复功能。

学籍管理系统(内含源代码)

XX学院计算机科学与技术系 实验报告 课程名称程序设计基础实验(2) 实验项目应用系统的面向对象设计与分析实验类型综合性实验 完成人 所在班级 指导教师 完成日期2009年11月 30日

实验报告正文 一.实验报告简表 实验课题名称学籍管理系统 综合性实验项目应用系统的面向对象设计与分析 服务课程程序设计基础实验(2) 实验小组组长 指导教师 参与实验人员及其在实验课题中承担的主要任务(包括组长) 学号小组成员姓名班级在实验课题中的主要作用 二.设计内容与要求 设计内容:设计基于文件结构的学籍管理系统 设计要求: (1)录入学生基本信息的功能界面 (2)修改学生基本信息的功能界面 (3)查询学生基本信息的功能界面 (4)删除学生基本信息的功能界面

三.总体设计,包括需求分析、功能描述、设计工具与运行环境、类及类间关系描述等 a、Student.java:程序的入口。初始化主界面,使主界面位于屏幕中 间,且用户不能改变其大小。 b、MainFrame.java:程序的主界面。由菜单、登陆界面和操作选项所 构成。其中菜单的“文件”中各操作项必须在登陆后方可选择, 输入用户名和密码点击“进入”,提示登陆成功之后(用户名和密 码在数据库的Admin表中,如果用户填的密码或用户名错误或没 填都会产生相应的警告框),登陆界面消失,出现“添加信息”、“修 改信息”、“信息查询”和“删除信息”四个按钮,且菜单中的操 作项也被激活。点击要操作的按钮或菜单项,进入要操作的界面 (窗口出现在屏幕左上角)。 c、AddInf.java:添加信息界面。按照要求添入基本信息,如果用户 填错或没填,提示错误信息(如不能添加已经注册的学号)。填写 完整后,点击“增加”按钮,将信息加入数据库的BaseInf表中。 d、ChangeInf.java:修改信息界面。按照提示输入要修改信息的学生 学号,点击“下一步”(如果数据库无此学号,则提示“无此对应 信息”),从数据库中将该学生的完整信息读出,用户修改之后点 击“修改”即可。注意:为了防止意外,修改学生信息时,程序 禁止了对学号的修改。(为了程序设计方便和代码重用,修改信息 的代码是先删此该生所有信息,再将修改后的信息全部添加到数 据库,这也是数据库修改的原理) e、SeachInf.java:查询信息界面。输入要查询的学生的学号或姓名 (也可两项都填写),点击“查询”,将提示“查无对应信息”或 将查询到的学生完整信息显示出来,如果有多条对应信息,“下一 条”按钮可选,单击之后可查看下一满足条件的信息,查找准确 的学生信息。 f、DelInf.java:删除信息界面。输入要删除信息的学生的学号,单 击“下一步”,程序给出该生的完整信息,点击“删除”,提示是 否确定删除对话框,仔细查看信息确认无误后,单击“确定”完 成删除,否则单击“取消”。 四.详细设计,包括类图及代码等 Student.java: import javax.swing.UIManager;

Java图书管理系统-附源码

目录 题目简述 -------------------------------- 01 需求分析 -------------------------------- 01 数据结构 -------------------------------- 01 功能模块 -------------------------------- 02 程序设计 -------------------------------- 02 运行截图 -------------------------------- 04 分析总结 -------------------------------- 08 程序源码 -------------------------------- 08

图书信息管理系统 题目简述: 题目名称:图书信息管理系统 要求:使用图形用户界面,用数据库建立1或2个图书信息表,能连接数据库并实现查询、增加、删除、修改等功能。 需求分析: 图书信息管理系统应该具备图书的信息管理功能和流通管理功能。其中,信息管理功能包括查找,增加,修改,删除,显示全部信息等模块。流通管理功能包括图书借阅,归还等模块。因此分别设计各个模块,实现不同的功能。 数据结构: 用SQL Sever 建立数据库的表,用一张表存放图书的ID号码,图书名称,图书的所有者,图书状态,图书的使用者(允许为空)。具体设计如下图所示: 图书ID,图书名称,图书所有者,图书的状态,图书使用者(允许为空)均为varchar(50)类型,在Java中可以方便的查询。图书存储信息的具体内容如下图所示:

功能模块: 程序设计: 主框架设计: 主框架上方包含三个按钮,分别是“系统管理”、“图书信息管理”和“图书流通管理”,定义JMenuBar类的对象、JMenu类的对象和JMenuItem类的对象,分别表示菜单栏、菜单组和菜单选项,然后调用初始化函数,将不同类的对象通过setText()函数设定不同的文本,然后将其添加到窗口容器中。对每个按钮分别添加不同的消息监听,响应相应的消息,调用不同的类完成不同的功能。消息监听功能详见源代码bookMain类。 图书信息管理模块包括增加图书,删除图书,编辑图书,查找图书和显示图书信息。具体的方法实现在bookBean中实现,当用户点击相应的按钮时,消息监听模块就会调用bookBean的构造函数产生一个bookBean的对象,然后通过对象调用bookBean类中的相应方法,完成事件的相应。 增加图书信息模块: 调用bookAdd类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话

数据库图书管理系统

create database 图书管理系统 on ( name = 图书管理系统, filename ='c:\图书管理系统.mdf', size = 10 , maxsize =20 , filegrowth=5) log on ( name = lib_log, filename= 'c:\lib_log.ldf', size = 5, maxsize = 25 , filegrowth =5 ) Create table 管理员信息表 ( 工作号varchar(10) primary key not null, 姓名varchar(10) , 性别varchar(10), 电话varchar(10) ); (2)书籍信息表的建立 drop table 图书信息表 create table 图书信息表 ( 图书编号varchar(20) primary key not null, 书名varchar(50) not null, 主编varchar(20) not null, 出版社varchar(20) not null, 作者varchar(20) not null); (3)读者信息表的建立 create table 读者信息表 ( 读者学号varchar(10) primary key not null, 读者姓名varchar(10) not null, 联系电话varchar(10) not null, 读者性别varchar(5) not null, 所在院系varchar(10) ) (4)借阅关系表建立 drop table 借阅表 create table 借阅表

学籍管理系统流程图

1、学生学籍管理系统数据流图 一、顶层: 二、0层: 三、1层

返回排名和成绩输入新的科目和成绩 1、学生学籍管理系统数据字典 1.数据流条目 数据流名称:全部记录 别名:无 简述:最新更新后所有关于学生学籍的记录 来源:数据库 去向:加工“记录筛选” 数据流量:不限 组成:学号+姓名+家庭住址+马哲+英语+毛概+邓理+成绩+排名 ①数据存储条 数据存储名称:学生成绩记录 别名:无 简述:存放学生所有可供查询的成绩信息 组成:学号+姓名+成绩+排名等 组织方式:索引文件,以学学号为关键字 查询要求:要求能立即查询 ②数据存储条 数据存储名称:个人信息记录 别名:无 简述:存放学生所有可供查询的个人信息 组成:学号+姓名+家庭住址等 组织方式:索引文件,以学学号为关键字 查询要求:要求能立即查询 ③数据存储条 数据存储名称:用户密码记录 别名:无 简述:存放所有用户可供查询的用户密码信息

组成:学号+姓名+用户名等 组织方式:索引文件,以学学号为关键字 查询要求:要求能立即查询 2 数据项条目 ①数据项名称:学号 别名:无 简述:所有学校学生的学号 类型:字符串 取值范围及含义:第1-4位:入学年份 第5-6 位:院系代码 第7-8 位:专业代码 第9-10 位:班级号 第10-11位:班内编号 ②数据项名称:用户名 别名:无 简述:所有用户的用户名 类型:字符串 取值范围及含义:26个英文字母和0-9十个数字组合,不含特殊符号③数据项名称:家庭住址 别名:无 简述:所有学校学生的家庭住址 类型:字符串 取值范围及含义:汉字,26个英文字母和0-9十个数字组合 ④数据项名称:新考试科目 别名:无 简述:所有学校学生的新加考试科目 类型:字符串 取值范围及含义:汉字,26个英文字母和0-9十个数字组合 3 加工条目 ①加工名:更改的记录 激发条件:学生成绩记录,个人信息记录以及用户密码记录被改动 优先级:普通 输入:新记录 输出:更新数据、数据未改动 加工逻辑:根据现有数据库 if 新记录<>旧记录 then 更新数据else 数据未改动 endif ②加工名:更改的记录 激发条件:学生成绩记录,个人信息记录以及用户密码记录被删除 优先级:普通 输入:删除记录 输出:数据已删除、数据不存在 加工逻辑:根据现有数据库

图书管理系统数据库设计-MYSQL实现(2)

图书管理系统数据库设计 一、系统概述 1、系统简介图书管理是每个图书馆都需要进行的工作。一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利。 2、需求分析 图书管理系统的需求定义为: 1.学生可以直接通过借阅终端来查阅书籍信息,同时也可以查阅自己的借阅信息。 2.当学生需要借阅书籍时,通过账号密码登陆借阅系统,借阅系统处理学生的借阅,同时修改图书馆保存的图书信息,修改被借阅的书籍是否还有剩余,同时更新学生个人的借阅信息。 3.学生借阅图书之前需要将自己的个人信息注册,登陆时对照学生信息。 4.学生直接归还图书,根据图书编码修改借阅信息 5.管理员登陆管理系统后,可以修改图书信息,增加或者删除图书信息 6.管理员可以注销学生信息。 通过需求定义,画出图书管理系统的数据流图:

数据流图 二、系统功能设计 画出系统功能模块图并用文字对各功能模块进行详细介绍系统功能模块图: 三、数据库设计方案图表 1、系统E-R模型 总体E-R图: 精细化的局部E-R图: 学生借阅-归还E-R图: 管理员E-R图: 2、设计表 给出设计的表名、结构以及表上设计的完整性约束。student :

book: book_so比 borrow:存储学生的借书信息

return_table: 存储学生的归还信息 存储学生的罚单信息 man ager:

3、设计索引 给出在各表上建立的索引以及使用的语句。student : 1. 为stu_id 创建索引,升序排序sql:create index index_id on student(stu_id asc); 2. 为stu_name 创建索引,并且降序排序sql:alter table student add index index_name(stu_name, desc); 插入索引操作和结果如下所示: mysql> create index index_id on student(stu_id asc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table student add index index_name(stu_name desc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 mysql> book: 1. 为book_id 创建索引,升序排列sql:create index index_bid on book(book_id); 2. 为book_record 创建索引,以便方便查询图书的登记日期信息,升序:sql:create index index_brecord on book(book_record); 插入索引的操作和结果如下所示: mysql> create index index_bid on book(book_id);

JAVA+SQL学生学籍管理系统代码及实验报告

学生学籍管理系统 1课程设计目的、设计内容与需求分析 1.1 课程设计目的 通过本次课程设计的实践操作,能够让学生懂得Java、SQL的各种相关知识的使用,真正的提高学生独立开发设计Java程序,把课堂上的知识运用在实践上,一门编程语言只有在不断实践操作和练习上才会有进步。 1.2软件设计内容 学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删除的操作。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。 SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。系统可供输入的属性有“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。 该系统实现的大致功能: 1.管理员登陆界面。该界面可以输入管理员号,登陆密码。用户通过验证通过后方可进入管理系统。一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。 2.查询学生信息。可以选择由用户选择“显示系统中当前的所有学生信息”。也可以选择按照“某一个学号查询该学号的学生信息”。查询到的信息会在窗口中依次显示出来。 3.添加学生信息。可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。完成新纪录的添加。 4.修改学生信息。可以选择按照“学号”或者“姓名”找到该学生的学生信息并输

图书管理系统含源代码可以运行

第一章需求分析 1.1设计内容 利用c++的文件操作能力设计开发一个小型的图书管信息管理系统,至少具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息、删除图书信息以及通过学生学号实现图书借阅功能。操作界面要符合用户的一般习惯,界面易于读者明白理解,图形或文本界面都可以。 1.2 设计任务 要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C++进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。掌握模块化编程的基本方法与步骤;巩固和加深学生对C++课程基本知识的理解与掌握,培养学生利用C++进行软件操作的能力和技巧。 1.3 基本要求 (1)通过提示菜单选择可以进行的操作。 (2)将图书的信息存入文件中,并命名为BookInfo.txt。 (3)将图书借阅情况信息存入文件中,并命名为SendInfo.txt。 (4)在本系统中可以进行管理系统包含的基本操作,其中包括: a)查看所有图书的信息。

b)输入一本图书的图书编号,从当前图书中进行查找,如果找到则显示该图书的相关信息,如果没有找到则给出提示信息。 c)添加一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则提示重新输入,否则将该图书按照顺序插入到相应位置。 d)删除一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则将该图书删除,否则给出提示信息,提示该图书不存在。 e)借阅一本图书,需要给出学号和图书编号,如果图书编号不存在则重新输入,直到输入正确为止,并将学号和相应的图书编号存入SendInfo.txt文件中。 (5)图书基本信息包括图书编号、书名、作者、出版社和价钱这些简单信息。 (6)图书信息文件中每一行存放一本图书的信息。 (7)借阅信息文件中每一行存放一本书的借阅情况。 (8)对老师.学生的信息进行登记处理,包括姓名、学号教师编号、学院班级等。 (9)对图书的金额进出管理,对一丢失的图书进行处罚、对超期归还的图书进行赔偿金额计算。 第二章系统功能设计

数据库图书管理系统含代码范文

数据库图书管理系 统含代码

目录 一.需求描述和系统边界 ........................................ 错误!未定义书签。二.需求分析 ............................................................ 错误!未定义书签。 1.业务需求 .............................................................. 错误!未定义书签。 2.功能需求及数据需求分析 ................................... 错误!未定义书签。 3.业务规则分析....................................................... 错误!未定义书签。三.实体集及属性 .................................................... 错误!未定义书签。四.联系集及E-R图................................................. 错误!未定义书签。五.逻辑数据库设计 ................................................ 错误!未定义书签。六.数据库编程 ........................................................ 错误!未定义书签。 1.创立表 .................................................................. 错误!未定义书签。 2.创立触发器 .......................................................... 错误!未定义书签。 3.管理员操作 .......................................................... 错误!未定义书签。 4.读者操作 .............................................................. 错误!未定义书签。 5. 管理员对借阅关系的操作 .................................. 错误!未定义书签。七.代码实现 ............................................................ 错误!未定义书签。 1.输入数据设计.................................................... 错误!未定义书签。 2.完成借阅、续借、归还的操作设计 ................... 错误!未定义书签。八.模式求精 ............................................................ 错误!未定义书签。九.小结.................................................................... 错误!未定义书签。

学生学籍管理信息系统

学生学籍管理信息系统集团档案编码:[YTTR-YTPT28-YTNTL98-UYTYNN08]

学生学籍管理信息Array系统 专业班级:ZB信管162 姓名:张彦龙 学号: 2017年12月

一、系统需求分析 (一)功能需求 学生信息管理系统是具有统计,管理学生和老师各种在校相关信息,方便学校对于学生信息的统一管理的系统。学生管理系统是从学生管理现状出发,根据学生管理的新要求进行开发设计的,为了解决学生管理数据信息量大,修改不方便,对一系列数据进行分析时花费时间长等问题,帮助学生管理人员有效管理学生信息。 面向的用户有:学校的系统人员、管理人员、教师、学生。 1.管理员对功能的需求 管理员权限最大,可以对学生的所以情况进行统一的管理,细分如下: (1)超级管理员可增加,修改,删除普通管理员 (2)学生信息的浏览,添加修改和删除 (3)学校基本课程的浏览添加修改和删除 (4)学生课程的浏览与统计,可按成绩范围对成绩进行统计 (5)学生选课信息的管理,包括查询,修改与删除 2.学生对功能的需求 学生利用此系统进行与自己有关的信息查询与输入,细分如下: (1)浏览个人基本信息,修改登录密码,浏览课程信息 (2)浏览在校期间的奖惩情况浏览个人学分信息 (3)利用个人账户进行查询选修课程基本信息与选修课程的选择和退出 (4)浏览个人选课情况 3.教师对功能的需求 教师对所带班级学生的信息查询与修改,细分如下: (1)教师可利用此系统查询班级成员的基本信息 (2)教师可查询班级成员在校期间的奖惩 (3)查询、录入与修改班级成员的成绩信息选课情况

(二)功能要求 1.功能划分和描述 数据查询、数据插入、数据删除、编辑、修改等其相应的功能。 模块名称:学籍管理? 输入数据流:学籍控制信息?? 输出数据流:学籍返回信息 模块名称:成绩管理 输入数据流:成绩控制信息 输出数据流:成绩返回信息 2.具体功能介绍如下:? (1)注册? 实现功能:创建一条学生记录,由学生自己填写个人信息并保存,实现统一管理? (2)用户登录? 实现功能:用户注册后可直接登录,使用查询信息,选课,退课等功能? (3)修改密码? 实现功能:输入旧密码,输入两次新密码,如旧密码正确且两次新密码一致则用新密码覆盖旧密码,否则重新输入旧密码或者两次新密码不一致重新输入新密码? (4)查询个人信息? 实现功能:在此显示学生的个人信息? (5)查询成绩? 实现功能:显示入学以来所修课程的所有成绩和学分等信息? (6)选课(退课)? 实现功能:在学校规定时间内为学生提供网上选课及退课功能以及查看个人选课信息?

基于java的图书管理系统源代码

基于java的图书管理系统源代码声明:本系统是基于C/S的图书管理系统,主要使用的是Oracle数据库,下面附所有实现代码 package library; import java.awt.BorderLayout; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.ResultSet; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class book_add extends JFrame implements ActionListener{ DataBaseManager db=new DataBaseManager(); ResultSet rs; JPanel panel1,panel2; JLabel book_id_label,book_name_label,author_label, press_label,press_date_label,price_label,book_num_label,borrowed_num _label,a ddress;

数据库学生学籍管理系统完整版

数据库学生学籍管理系 统 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

目录 一、系统定义 在学籍管理中,需要从大量的日常教学活动中提取相关信息,以反映教学情况。传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。使用计算机可以高速,快捷地完成以上工作。在计算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范教学管理行为,从而提高了管理效率和水

平,此外,现今学籍管理的繁索给具有强烈时间观念的行政人员带来了诸多不便,教学办公室缺少一种完善的学籍管理软件,为了对学生档案,学生信息的管理方便,因此开发了本软件。 二、需求分析 1、系统综合需求 ⒈系统需求分析 需求分析是数据库系统设计的一个重要的环节。本阶段应该对整个应用情况作全面的、详细的调查,确定特定数据库应用环境下的设计目标,收集该应用环境下针对系统设计所需要的基础数据以及对这些数据的具体存储要求,从而确定用户的需求。用户对数据库的需求包括: ⑴处理需求 1、实现学生基本情况的录入,修改,删除等基本操作。 2、对学生基本信息提供灵活的查询方式。 3、完成一个班级的学期选课功能。 4、实现学生成绩的录入,修改,删除等基本操作。 5、能方便的对学生的个人学期成绩进行查询。 6、具有成绩统计,排名等功能。 7、具有留级,休学等特殊情况的处理功能。 8、能输出常用的各种报表。 9、具有数据备份和数据恢复功能。 ⑵信息需求 需要存储学生基本信息、课程、专业信息、课程设置信息、学生选课信息、管理人员的密码信息。 ⑶安全性和完整性功能 设置身份密码验证登陆,进行数据维护,数据备份。 2、系统逻辑模型 1.数据流图: 第一层

图书管理系统数据库详细设计

图书管理系统数据库设计 图书管理系统数据库设计 项目名称:图书管理系统指导老师: 姓名:

目录 一、需求分析 (2) 二、概念设计 (5) 三、逻辑设计 (8) 四、物理设计 (10) 五、实施阶段 (16) 六、运行和维护 (18)

一、需求分析 1.1 系统目标 图书管理信息系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 系统开发的总体任务是实现各种信息的系统化,规范化和自动化。 1.2 需求定义 图书馆管理系统开发。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。本系统结构分为读者信息管理、图书信息管理,读者管理可以浏览读者的信息,可以对读者信息进行维护。图书管理可以浏览图书的信息,可以对图书信息进行维护。借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。本系统主要解决的问题是利用关键字对数据库进行查询。本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效

的实施。 1.3 功能需求 (1)有关读者种类标准的制定、种类信息的输入、包括种类编号、种类名称、借书数量、借书期限等。 (2)读者有关信息的修改、查询等。 (3)读者基本信息的输入,包括读者编号、读者姓名、班级、院系等。 (4)读者基本信息的查询、修改 (5)书籍信息的输入,包括书籍编号、书籍名称、书籍所属类别、作者、出版社、出版日期、在库数、价格 (6)借书信息包括借书证号、书籍编号、借出日期、拖欠日期、罚款种额 (7)图书管理书籍号、管理员编号、销书数量、销书日期。

图书馆管理系统设计附带源代码

毕业设计_图书管理系统 一、数据库设计数据库设CREATE DATABASE TSGL GO USE TSGL GO CREATE TABLE Bmanage ( bId varchar(10) PRIMARY KEY, bName varchar(50), --添加图书--图书编号 --书名 bNumber varchar(10), --书数目) GO bSore varchar(50) --分类 CREATE TABLE Madmin ( mName varchar(10)PRIMARY KEY, mPwd varchar(25), mAge varchar(8), mSex varchar(4), mNumber varchar(15), mrole varchar(8) ) GO --图书员管理 --图书管理员姓名--图书管理员密码 --图书管理员年龄 --图书管理员性别 --图书管理员电话 --图书管理员角色

CREATE TABLE Reader ( rSno varchar (10) PRIMARY KEY , rName varchar (10), rPwd varchar (25), rAge varchar (8), rSex varchar (4), rState varchar (8), rNumber varchar (15), rEmail varchar (25), --读者信息表reader --读者号 --姓名 --密码 --年龄 --性别 --状态 --电话号码 --电子邮件rAdress varChar (50), --地址) GO rGrade varChar (15), rClass varchar (15), rRole varchar (8) --年级 --班级 --角色 CREATE TABLE Rrecord ( rSno varchar (10) PRIMARY KEY , rName varChar (10), bId varchar (10), bName varChar (50), bTime varchar (10), bBackTime varchar (10) ) GO CREATE TABLE SysSet ( rRole varchar (8)PRIMARY KEY , rState varchar (8), Fine float (25), rDay varchar (8) --读者编号学号 --读者姓名 --图书编号 --图书名称 --借书时间 --还书时间 --读者角色 --读者可借书数 --过期罚款设置 --可借书天数 ) 二、界面截图及说明 1) 登录窗口(实现管理员与馆长的登陆)

图书管理系统数据库设计

工程技术学院 数据库课程设计 题目:图书管理系统数据库设计 学号: 专业班级: 姓名: 指导老师: 完成日期:

目录 一、需求分析 二、概念结构设计 三、逻辑结构设计 四、物理结构设计 五、数据库的构建和数据装入 六、数据库的功能实现 七、总结

1.需求分析 系统现状及主要解决问题 近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍的增加,面对着庞大的信息量,传统的人工方式管理的记录中我们可以发现这样的问题: (1)检索速度慢、效率低。因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。 (2)借书、还书工作量大。借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。而且经常会出现这样那样的差错。 (3)图书统计工作难、藏书更新不能及时完成。图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。 因此必须制定一套合理、有效、规范和实用的图书管理系统,对图书资料进行集中统一的管理。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。使图书管理者便于对图书和读者的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。 能解决的问题 (1) 在读者信息管理部分要求: a.可以查询读者信息。 b.可以对读者信息进行添加及删除的操作。 (2 )在书籍信息管理部分,要求

数据库设计学生学籍信息管理系统

课程设计 课程名称数据库系统概论 题目名称学生学籍信息管理系统学生学院计算机学院 专业班级 学号 学生姓名 指导教师左亚尧 2013年 1 月17 日

目录 1 引言 (3) 1.1 课程设计选题 (3) 1.2 课程设计的目的 (3) 1.3 本选题的设计背景 (3) 2 系统分析与设计 (3) 2.1 功能及性能分析 (3) 2.1.1 功能需求 (3) 2.1.2 工作流程图 (4) 2.2 系统的开发运行环境 (4) 2.3 系统总体设计 (4) 2.3.1 系统设计思想 (4) 2.3.2 学校工作流程分析 (5) 2.3.3 用户具体需求分析 (5) 2.3.4 系统设计分析 (5) 2.3.5 系统权限分析 (5) 3 数据库设计 (5) 3.1 数据库概念结构 (6) 3.2 E-R图 (6) 3.3 数据库逻辑结构 (7) 3.4 流程图 (7) 3.5 数据字典 (9) 3.6 物理结构设计 (10) 3.7 安全性设计 (12) 4 详细设计与实现 (12) 4.1 系统设计例图 (12) 4.2 登陆模块 (16) 5 总结 (19) 6 参考文献 (19) 7 附录 (20) 7.1 程序清单 (20)

1引言 1.1课程设计选题 《学生学籍信息管理系统》 1.2课程设计的目的 通过数据库系统课程设计,熟悉了SQL SERVER数据库管理系统的结构与组成;掌握了SQL SERVER数据库管理系统的应用技术和的使用;应用java程序设计,链接数据库,进行管理与维护。最终达到掌握数据库管理系统的使用和开发,提高分析问题、解决问题和实践应用能力。 1.3本选题的设计背景 随着信息技术在管理上越来越深如而广泛的应用,管理信息系统的实施在技术上已经逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。学生学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。作为计算机应用的一部分,使用计算机对学生学籍进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生学籍管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 本系统是一个典型的信息管理系统,主要完成对学生基本信息、班级信息、课程信息、成绩信息等多种数据信息的管理,包括数据库中表的录入、修改、删除等。系统还可以完成对各类信息的查询、录入、修改、删除等功能,其中学籍管理用户包括系统管理员、普通用户,普通用户包括教师和学生。 由于本系统管理的对象单一,都是学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。 本系统是在Win 7 系统的环境下开发的,所采用的开发语言是Java语言,使用的开发工具为: MyEclipse6.0,采用Microsoft SQL Server 2008数据库管理系统。 2系统分析与设计 2.1功能及性能分析 2.1.1功能需求 在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信息的难度也越来越大。而且效率也是很低的。所以如何自动高效地管理信

相关文档
最新文档