1. 设计的原始资料及依据

查阅有关数据库设计、JSP程序设计、面向对象程序设计等资料,进一步加深对课程内容的理解,利用程序设计的基本思想进行程序的开发,进一步掌握编程方法和技巧,提高学生用程序的思想来解决实际问题的能力。本课程设计主要涉及到需求分析、总体设计、详细设计以及底层数据库设计几个主要环节。

2.设计的主要内容及要求

(1)写出系统的需求分析。

(2)写出数据库设计。

(3)写出系统的详细设计及各模块的功能。

(4)编写代码,开发系统。

3.对设计说明书撰写内容、格式、字数的要求

(1)学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计说明书(论文)的结构及各部分内容要求参照《沈阳工程学院毕业设计(论文)撰写规范》执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。

(2)装订格式:

封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、结论、致谢、参考文献。

(3)课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。

4. 设计完成后应提交成果的种类、数量、质量等方面的要求

(1)每组提交一份课程设计报告。

(2)每组提交一份课程设计成品。

5.时间进度安排

顺序

阶段日期

计 划 完 成 内 容

备注

1

第一天

查阅资料,进行系统的需求分析、详细设计,确定各功能模块并进行数据库设计。

2

第二天

单元模块编程及调试。

3

第三天

单元模块编程及调试。

4

第四天

单元模块集成、调试及运行。

5

第五天

撰写课程设计报告。

6.主要参考资料(文献)

[1]王珊.数据库系统概论.高等教育出版社,2000

⑵李代平.软件工程(第2版).清华大学出版社.2008

⑶向学哲.JSP程序设计教程.人民邮电出版社,2006

⑷陈旭东.JSP2.0应用教程.清华大学出版社,2006

⑸孙鑫.Java Web开发详解.电子工业出版社,2006

沈 阳 工 程 学 院

Web程序设计课程设计成绩评定表

院(系):信息学院 班级:计算机B191-1 学生姓名: 陈力源 30   冯帅 29

指 导 教 师 评 审 意 见

评价内容

具    体    要    求

权重

评    分

加权分

调研

论证

能独立查阅文献,收集资料;能制定课程设计方案和日程安排。

0.1

5

4

3

2

工作能力

态度

工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作,

0.2

5

4

3

2

工作量

按期圆满完成规定的设计任务,工作量饱满,难度适宜。

0.2

5

4

3

2

说明书的质量

说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。

0.5

5

4

3

2

指导教师评审成绩

(加权分合计乘以8)

      

加权分合计

指 导 教 师 签 名:

 年   月   日

评 阅 教 师 评 审 意 见

评价内容

具    体    要    求

权重

评    分

加权分

查阅

文献

查阅文献有一定广泛性;有综合归纳资料的能力

0.2

5

4

3

2

工作量

工作量饱满,难度适中。

0.5

5

4

3

2

说明书的质量

说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。

0.3

5

4

3

2

评阅教师评审成绩

(加权分合计乘以4)

加权分合计

评 阅 教 师 签 名:

 年   月   日

答 辩 小 组 评 审 意 见

评价内容

具    体    要    求

权重

评    分

加权分

学生汇报

汇报准备充分,思路清晰;语言表达准确,概念清楚,论点正确,有层次,有重点,基本上反映了所完成任务的全部内容;时间符合要求。

0.5

5

4

3

2

答    辩

思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。

0.5

5

4

3

2

答辩小组评审成绩

(加权分合计乘以8)

加权分合计

答辩小组教师签名:

 年   月   日

课 程 设 计 总 评 成 绩

                         

目 录

目录

目 录... 5

1系统总体介绍... 5

1.1系统总体介绍... 5

1.1.1学生信息管理... 5

1.1.2学生信息查询... 5

1.2组内分工... 5

2系统需求分析... 7

2.1管理员对系统的需求... 7

2.2学生对系统的需求... 7

3数据库设计... 8

3.1数据库需求分析... 8

3.2数据库物理结构设计(表结构)... 8

4系统实现... 9

4.1 总体设计... 9

4.2 详细设计... 10

4.2.1.界面设计... 10

4.2.2.学生管理系统设计... 11

4.2.3.学生信息查询系统设计... 13

4.3 编程实现... 13

4.3.1.登陆... 13

4.3.2主界面... 16

4.3.3添加... 21

4.3.4修改... 25

4.3.5删除... 29

4.3.6查询... 30

结论... 33

致谢... 34

参考文献... 35

1系统总体介绍

1.1系统总体介绍

1.1.1学生信息管理

本模块包括学生信息包括学生的学号、姓名、性别、年龄、班级、专业的添加,删除以及修改,由管理员登陆后操作。

1.1.2学生信息查询

学生查询个人信息,学生登陆后查询。

1.2组内分工

×××××××××××××××××××××××××××××××××××××××××××××……

表1.1分工表

成员

分工

成绩

陈力源

报告撰写及数据库设计

冯帅

代码撰写及系统设计调试

2系统需求分析

2.1管理员对系统的需求

1、目标:

学生信息管理系统的目标是为方便学校教务处系统的管理学生信息2、具体需求:

1)管理员需要登陆此系统然后对学生的信息进行操作

2)管理员需要对入学的学生录入学生信息

3)管理员需要对毕业的学生移除学生信息

4)管理员需要对升学的学生修改学生信息

2.2学生对系统的需求

1.目标:提供一个学校和学生间提供一个信息共享的平台

2.具体需求:

1)学生需要登陆后可以通过学号查询个人信息

3数据库设计

3.1数据库需求分析

图1.1数据流程图

3.2数据库物理结构设计(表结构)

属性

学号

姓名

性别

年龄

班级

专业

类型

varchar(20)

varchar(40)

varchar(10)

int(11)

varchar(50)

varchar(50)

约束

primaykey

Notnull

Default null

Default null

Default null

Default null

表1.1结构表

4系统实现

4.1 总体设计

图1.2系统总体框图

4.2 详细设计

4.2.1.界面设计

1)登陆界面设计

登陆时会显示用户权限

2)主界面设计

文本框内可输入sql语句操作

4.2.2.学生管理系统设计

1)学生信息的添加

管理员需要登陆后按照要求输入所需的学生信息,包括学号、姓名、性别、年龄、班级、专业,其中学号、姓名不能为空,其他默认为空。

2)学生信息的修改

修改由子界面完成,主界面调出子界面

3)学生信息的删除

按照学号删除

4.2.3.学生信息查询系统设计

1)学生查询个人信息

按照学号查询

4.3 编程实现

4.3.1.登陆

package rjgc;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.border.*;

public class LoginIn extends JFrame{

JTextField f1;

JTextField f2;

JButton b1;

JButton b2;

String power;//表示权限

String imgePath = "11.jpg";

JPanel p5;

Image img = Toolkit.getDefaultToolkit().createImage(imgePath);

LoginIn(){

Container cp=getContentPane();

Label l1=new Label("用户:");

Label l2=new Label("密码:");

JPanel p1=new JPanel();

JPanel p2=new JPanel();

JPanel p3=new JPanel();

JPanel p4=new JPanel();

p5=new JPanel(){

protected  void paintChildren(Graphics g) {

g.drawImage(img,0,0,this);

super.paintChildren(g);

}

};

f1=new JTextField(15);

f2=new JPasswordField(15);

b1=new JButton("登录");

b2=new JButton("重置");

//p1.setBackground(Color.orange);

p2.add(l1);

p2.add(f1);

p2.setBorder(new MatteBorder(0,0,0,0,Color.BLACK));

p2.setBackground(Color.white);

p3.add(l2);

p3.add(f2);

p3.setBackground(Color.white);

p3.setBorder(new MatteBorder(0,0,0,0,Color.BLACK));

p4.add(b1);

p4.add(b2);

p4.setBorder(new MatteBorder(-3,-3,-3,-3,Color.CYAN));

p4.setBackground(Color.BLACK);

p5.setLayout(new FlowLayout(FlowLayout.CENTER,120,100));

p5.add(p2);

p5.add(p3);

p5.add(p4);

cp.add(p5,BorderLayout.CENTER);

b1.addActionListener(new Enter());

b2.addActionListener(new ReWrite());

addWindowListener(new winClose());

}

public static void main(String[] args) {

LoginIn log=new LoginIn();

log.setIconImage(Toolkit.getDefaultToolkit().createImage("F:/eclipse文件/rjgc/dl.gif"));

log.setTitle("计B191 冯帅 陈力源-学生信息管理系统");

log.setLocation(600,300);

log.setSize(600,600);

log.setVisible(true);

}

class Enter implements ActionListener{

@SuppressWarnings("deprecation")

public void actionPerformed(ActionEvent e)

{  //LoginIn log=new LoginIn();

if((f1.getText()).equals("admin")&&(f2.getText()).equals("123"))

{

JOptionPane.showMessageDialog(null, "登录成功!用户权限是adimistrator");

power="adminstrator";

Qframe frame= new Qframe();

frame.setIconImage(Toolkit.getDefaultToolkit().createImage("F:/eclipse文件/rjgc/java.gif"));

frame.setLocation(400,200);

frame.resize(500,285);

frame.show();

//log.setVisible(false);

dispose();

}

else if((f1.getText()).equals("冯帅")&&(f2.getText()).equals("123456"))

{

JOptionPane.showMessageDialog(null, "登录成功!用户权限是user");

power="adminstrator";

Qframe frame= new Qframe();

frame.setIconImage(Toolkit.getDefaultToolkit().createImage("F:/eclipse文件/rjgc/java.gif"));

frame.setLocation(400,200);

frame.resize(500,285);

frame.show();

dispose();

}

else JOptionPane.showMessageDialog(null, "登录失败,请重新登录!");

}

}

class ReWrite implements ActionListener{

public void actionPerformed(ActionEvent e)

{

f1.setText("");

f2.setText("");

f1.requestFocus();

}

}

class winClose extends WindowAdapter

{

public void windowClosing(WindowEvent e)

{

(e.getWindow()).dispose();

System.exit(0);

}

}

}

4.3.2主界面

package rjgc;

import java.awt.*;

import java.awt.event.*;

import java.security.cert.PKIXRevocationChecker.Option;

import javax.swing.*;

import java.sql.*;

class Qframe extends JFrame implements ActionListener{

JPanel contentPane;

BorderLayout borderLayout1=new BorderLayout(5,10);

Label prompt;

JTextField stm;

Button run;

public static final TextArea result=new TextArea();

public Qframe(){

contentPane=(JPanel)this.getContentPane();

contentPane.setLayout(borderLayout1);

this.setTitle("学生信息管理系统");

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});

prompt =new Label("执行语句:");

run=new Button("开始执行");

result.setEditable(false);

stm=new JTextField(100);

JPanel option =new JPanel();

Button zenjia=new Button("增加(add)");

option.add(zenjia,BorderLayout.NORTH);

zenjia.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

if(e.getSource()==zenjia){

Adddialog add1= new Adddialog();

add1.setVisible(true);

}

}

});

zenjia.addActionListener(this);

Button shanchu=new Button("删除(delet)");

option.add(shanchu,BorderLayout.NORTH);

shanchu.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

if(e.getSource()==shanchu){

Deletedialog dt1=new Deletedialog();

dt1.setVisible(true);

}

}

});

shanchu.addActionListener(this);

Button xiugai=new Button("修改(alter)");

option.add(xiugai,BorderLayout.NORTH);

xiugai.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

if(e.getSource()==xiugai){

Alterdialog af=new Alterdialog();

af.setVisible(true);

}

}

});

Button cx=new Button("查询(query)");

option.add(cx,BorderLayout.NORTH);

cx.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

if(e.getSource()==cx){

Cxdialog cj=new Cxdialog();

cj.show();

}

}

});

cx.addActionListener(this);

xiugai.addActionListener(this);

Button chaxun=new Button("刷新(refresh)");

option.add(chaxun,BorderLayout.NORTH);

chaxun.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

if(e.getSource()==chaxun){

Connection sin=Dbcon.getconnectin();

ResultSet rs=Dbcon.query(sin);

try {

result.setText("刷新成功\n\n\n");  //.format("这是一个数%1$4d",10)

while(rs.next())

{

String msg=rs.getString("sno")+"\t"+rs.getString("sname")+"\t"+rs.getString("ssex")+"\t"+rs.getString("sage")+"\t"+rs.getString("sclass")+"\t"+rs.getString("smajor")+"\n";

result.append(msg);

}

sin.close();

rs.close();

}catch(Exception h){

h.printStackTrace();

}

}

}

});

chaxun.addActionListener(this);

Button tuichu=new Button("退出(quit)");

option.add(tuichu,BorderLayout.NORTH);

tuichu.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

if(e.getSource()==tuichu){

System.exit(0);

}

}

});

//界面布局

contentPane.add(prompt,BorderLayout.WEST);

contentPane.add(stm,BorderLayout.CENTER);

contentPane.add(run,BorderLayout.EAST);

contentPane.add(result,BorderLayout.SOUTH);

contentPane.add(option,BorderLayout.NORTH);

run.addActionListener(this);

}

public void actionPerformed(ActionEvent e){

Connection con=null;

Statement st=null;

ResultSet rs=null;

if(e.getSource()==run){

try{

con=Dbcon.getconnectin();

//System.out.println("连接成功");

String msg1="lianjiechenggong";

result.setText("连接成功\n\n\n");

String yuju=stm.getText();

st=con.createStatement();

rs=st.executeQuery(yuju);

//System.out.println("fengshuai");

//result.setText("");

while(rs.next())

{

String msg=rs.getString("sno")+"\t"+rs.getString("sname")+"\t"+rs.getString("ssex")+"\t"+rs.getString("sage")+"\t"+rs.getString("sclass")+"\t"+rs.getString("smajor")+"\n";

result.append(msg);

}

//System.out.println("连接完成");

}catch(SQLException sqle){

result.setText(sqle+"lianjiecuowu");

//System.out.println(sqle+"lianjiecuowu");

}

catch(Exception h){

//result.setText(h.getMessage());

//System.out.println(h+"diergecuowu");

h.printStackTrace();

}finally{

try {

rs.close();

st.close();

con.close();

} catch (SQLException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

}

}

@SuppressWarnings("deprecation")

public static void main(String argc[]){

LoginIn dl=new LoginIn();

dl.show();

Qframe frame= new Qframe();

frame.setLocation(400,200);

frame.resize(600,350);

frame.show(); }}

4.3.3添加

1)添加子界面

package rjgc;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

public class Adddialog extends JFrame {

public static final int Width =320;

public static final int Heigth =230;

Button btn,btn2;

JTextField jt,jt2,jt3,jt4,jt5,jt6;

/*class MyPanel extends JPanel{

Label lb ;

MyPanel(String s,JTextField jt){

setLayout(new FlowLayout());

lb=new Label(s);

add(lb);add(jt);

}

}*/

public Adddialog(){

setSize(Width,Heigth);

setLocation(820,200);

setTitle(new String("增加"));

setLayout(new FlowLayout());

Container con=getContentPane();

jt=new JTextField(20);

Label lb=new Label("学号:");

jt2=new JTextField(20);

Label lb2=new Label("姓名:");

jt3=new JTextField(20);

Label lb3=new Label("性别:");

jt4=new JTextField(20);

Label lb4=new Label("年龄:");

jt5=new JTextField(20);

Label lb5=new Label("班级:");

jt6=new JTextField(20);

Label lb6=new Label("专业:");

btn=new Button("添加");

btn.addActionListener(new Enter());

btn2=new Button("取消");

/*MyPanel p1=new MyPanel("学号:",jt);

MyPanel p2=new MyPanel("姓名:",jt2);

MyPanel p3=new MyPanel("性别:",jt3);*/

add(lb);add(jt);add(lb2);add(jt2);add(lb3);add(jt3);add(lb4);add(jt4);add(lb5);add(jt5);add(lb6);add(jt6);add(btn);add(btn2);

}

class Enter implements ActionListener{

public void actionPerformed(ActionEvent e){

Container con=getContentPane();

Adddialog ad= new Adddialog();

if(e.getActionCommand().equals("添加")){

con.setBackground(Color.green);

String sno=jt.getText();

String sname=jt2.getText();

String ssex=jt3.getText();

String sage=jt4.getText();

String sclass=jt5.getText();

String smajor=jt6.getText();

Object str[]={sno,sname,ssex,sage,sclass,smajor};

Connection sin=Dbcon.getconnectin();

Dbcon.insert(sin, str);

JOptionPane.showMessageDialog(null,"添加成功!","操作提示",JOptionPane.NO_OPTION );

dispose();

}

}

}

}

2)添加数据库

package rjgc;

import java.sql.*;

import javax.swing.JOptionPane;

public class Dbcon {

public final static Connection getconnectin(){

Connection con=null;

String driver = "com.mysql.jdbc.Driver";

String url = "jdbc:mysql://localhost:3306/sims?serverTimezone=GMT%2B8";

String user = "root";

String password = "feng";

try{

//Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Class.forName(driver);

con=DriverManager.getConnection(url,user,password);

con.setCatalog("sims");

}

catch(SQLException sqle){

System.out.println(sqle+"lianjiecuowu");

}

catch(Exception e){

System.out.println(e+"diergecuowu");

}

return con;

}

//添加数据

public final static void insert(Connection con,Object obj[]){

PreparedStatement stmt=null;

try {

stmt=con.prepareStatement("insert into student(sno,sname,ssex,sage,sclass,smajor) values(?,?,?,?,?,?)");

stmt.setString(1,obj[0].toString());

stmt.setString(2,obj[1].toString());

stmt.setString(3,obj[2].toString());

stmt.setString(4,obj[3].toString());

stmt.setString(5,obj[4].toString());

stmt.setString(6,obj[5].toString());

stmt.execute();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null,"shibai","操作提示",JOptionPane.NO_OPTION );

}

}

//查询数据

public final static ResultSet query(Connection con){

ResultSet rs=null;

PreparedStatement stmt=null;

try {

stmt=con.prepareStatement("select * from student");

rs=stmt.executeQuery();

//stmt.close();

//con.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return rs;

}

//删除数据

public final static void delete(Connection con,String s){

try {

PreparedStatement stmt;

stmt=con.prepareStatement("delete from student where sno=?");

stmt.setObject(1,s);

stmt.execute();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

finally{

}

}

}

4.3.4修改

1)修改子界面

package rjgc;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

public class Tianjiadialog extends JFrame {

public static final int Width =320;

public static final int Heigth =230;

Button btn,btn2;

JTextField jt,jt2,jt3,jt4,jt5,jt6;

/*class MyPanel extends JPanel{

Label lb ;

MyPanel(String s,JTextField jt){

setLayout(new FlowLayout());

lb=new Label(s);

add(lb);add(jt);

}

}*/

public Tianjiadialog(){

setSize(Width,Heigth);

setLocation(820,200);

setTitle(new String("请输入新的信息:"));

setLayout(new FlowLayout());

jt=new JTextField(20);

Label lb=new Label("学号:");

jt2=new JTextField(20);

Label lb2=new Label("姓名:");

jt3=new JTextField(20);

Label lb3=new Label("性别:");

jt4=new JTextField(20);

Label lb4=new Label("年龄:");

jt5=new JTextField(20);

Label lb5=new Label("班级:");

jt6=new JTextField(20);

Label lb6=new Label("专业:");

btn=new Button("修改");

btn.addActionListener(new Enter());

btn2=new Button("取消");

/*MyPanel p1=new MyPanel("学号:",jt);

MyPanel p2=new MyPanel("姓名:",jt2);

MyPanel p3=new MyPanel("性别:",jt3);*/

add(lb);add(jt);add(lb2);add(jt2);add(lb3);add(jt3);

add(lb4);add(jt4);add(lb5);add(jt5);add(lb6);add(jt6);

add(btn);add(btn2);

}

class Enter implements ActionListener{

public void actionPerformed(ActionEvent e){

Container con=getContentPane();

if(e.getActionCommand().equals("修改")){

con.setBackground(Color.blue);

String sno=jt.getText();

String sname=jt2.getText();

String ssex=jt3.getText();

String sage=jt4.getText();

String sclass=jt5.getText();

String smajor=jt6.getText();

Object str[]={sno,sname,ssex,sage,sclass,smajor};

Connection sin=Dbcon.getconnectin();

Dbcon.insert(sin, str);

JOptionPane.showMessageDialog(null,"修改成功!","操作提示",JOptionPane.NO_OPTION );

dispose();

}

}

}

}

2)修改数据库

package rjgc;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

public class Alterdialog extends JFrame {

public static final int Width =320;

public static final int Heigth =230;

Button btn,btn2;

JTextField jt,jt2,jt3;

/*class MyPanel extends JPanel{

Label lb ;

MyPanel(String s,JTextField jt){

setLayout(new FlowLayout());

lb=new Label(s);

add(lb);add(jt);

}

}*/

public Alterdialog(){

setSize(Width,Heigth);

setLocation(820,200);

setTitle(new String("修改:"));

setLayout(new FlowLayout());

Container con=getContentPane();

jt=new JTextField(20);

Label lb=new Label("学号:");

btn=new Button("确定");

btn.addActionListener(new Enter());

btn2=new Button("取消");

/*MyPanel p1=new MyPanel("学号:",jt);

MyPanel p2=new MyPanel("姓名:",jt2);

MyPanel p3=new MyPanel("性别:",jt3);*/

add(lb);add(jt);

//add(lb2);add(jt2);add(lb3);add(jt3);

add(btn);add(btn2);

}

class Enter implements ActionListener{

public void actionPerformed(ActionEvent e){

Container con=getContentPane();

if(e.getActionCommand().equals("确定")){

con.setBackground(Color.red);

Connection sin=Dbcon.getconnectin();

String sno=jt.getText();

try {

PreparedStatement stmt;

stmt=sin.prepareStatement("delete from student where sno=?");

stmt.setObject(1,sno);

stmt.execute();

} catch (SQLException h) {

// TODO Auto-generated catch block

h.printStackTrace();

}

dispose();

Tianjiadialog tg=new Tianjiadialog();

tg.show();

}

}

}

}

4.3.5删除

package rjgc;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

public class Deletedialog extends JFrame {

public static final int Width =320;

public static final int Heigth =230;

Button btn,btn2;

JTextField jt,jt2,jt3;

/*class MyPanel extends JPanel{

Label lb ;

MyPanel(String s,JTextField jt){

setLayout(new FlowLayout());

lb=new Label(s);

add(lb);add(jt);

}

}*/

public Deletedialog(){

setSize(Width,Heigth);

setLocation(820,200);

setTitle(new String("删除:"));

setLayout(new FlowLayout());

Container con=getContentPane();

jt=new JTextField(20);

Label lb=new Label("学号:");

/*jt2=new JTextField(20);

Label lb2=new Label("姓名:");

jt3=new JTextField(20);

Label lb3=new Label("性别:");*/

btn=new Button("确定");

btn.addActionListener(new Enter());

btn2=new Button("取消");

/*MyPanel p1=new MyPanel("学号:",jt);

MyPanel p2=new MyPanel("姓名:",jt2);

MyPanel p3=new MyPanel("性别:",jt3);*/

add(lb);add(jt);

//add(lb2);add(jt2);add(lb3);add(jt3);

add(btn);add(btn2);

}

class Enter implements ActionListener{

public void actionPerformed(ActionEvent e){

Container con=getContentPane();

if(e.getActionCommand().equals("确定")){

con.setBackground(Color.red);

String sno=jt.getText();

Connection sin=Dbcon.getconnectin();

Dbcon.delete(sin, sno);

JOptionPane.showMessageDialog(null,"信息删除成功!","信息",JOptionPane.INFORMATION_MESSAGE );

dispose();

}

}

}

}

4.3.6查询

package rjgc;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

public class Cxdialog extends JFrame {

public static final int Width =320;

public static final int Heigth =230;

Button btn,btn2;

JTextField jt,jt2,jt3;

/*class MyPanel extends JPanel{

Label lb ;

MyPanel(String s,JTextField jt){

setLayout(new FlowLayout());

lb=new Label(s);

add(lb);add(jt);

}

}*/

public Cxdialog(){

setSize(Width,Heigth);

setLocation(820,200);

setTitle(new String("查询:"));

setLayout(new FlowLayout());

Container con=getContentPane();

jt=new JTextField(20);

Label lb=new Label("学号:");

btn=new Button("确定");

btn.addActionListener(new Enter());

btn2=new Button("取消");

/*MyPanel p1=new MyPanel("学号:",jt);

MyPanel p2=new MyPanel("姓名:",jt2);

MyPanel p3=new MyPanel("性别:",jt3);*/

add(lb);add(jt);

//add(lb2);add(jt2);add(lb3);add(jt3);

add(btn);add(btn2);

}

class Enter implements ActionListener{

public void actionPerformed(ActionEvent e){

Container con=getContentPane();

if(e.getActionCommand().equals("确定")){

con.setBackground(Color.red);

Connection sin=Dbcon.getconnectin();

String sno=jt.getText();

ResultSet rs=null;

PreparedStatement stmt=null;

try {

stmt=sin.prepareStatement("select * from student where sno=?");

stmt.setObject(1,sno);

rs=stmt.executeQuery();

while(rs.next()){

String msg=rs.getString("sno")+"\t"+rs.getString("sname")+"\t"+rs.getString("ssex")+"\t"+rs.getString("sage")+"\t"+rs.getString("sclass")+"\t"+rs.getString("smajor")+"\n";

JOptionPane.showMessageDialog(null,msg,"查询结果:",JOptionPane.NO_OPTION );

}

//stmt.close();

//con.close();

} catch (SQLException h) {

// TODO Auto-generated catch block

h.printStackTrace();

}

}

dispose();

}

}

}

结论

首先,更进一步的了解了数据库的基本操作, 在这之前,数据库的学习仅仅刚开了个头,我们只是在了解一些概念性的东西。在做这个系统之前,我连基本的连接数据库,配文件dsn,数据库查询语句等这些东西都不熟练。现在对于数据库的增删改查操作比较熟练了,对于初学者来说,比较头疼的就是对于单引号的处理。我的建议是如果不理解先把按照课本上正确的语句敲,然后在多次进行数据库的链接,增删改查操作中不断总结规律。 这次设计的学生信息管理系统,全在自己所掌握的知识下,进行编程设计,完全体现了自己在数据库语言和程序设计课程学习状况,充分地为自己以后更深入了数据库语言奠下深厚的基础。纵观此学生信息管理系统的整体概况,目前,自我认为设计良好,相关功能都能够实现,功能强大,条理清晰,界面可观性比较好。并且特色在于,所设计的表单都在一个表单系统桌面中运行,比较符合系统的观念。

--------学生信息管理系统小结经过大家的努力,学生管理系统终于做完了,经过这次实习系统设计,自己总结了这个学生信息管理系统的一些问题,不过收获还是颇为丰富的,再有理论知识上结合实践,使我学到了更多。在系统设计的过程中,我从中发现,学习数据库要细心和有耐性,并且要不断地从外界学习更多的技术才能设计出一套完美的系统。

致谢

时光飞逝,岁月如梭,短暂的实训即将画上句点。回想起这短暂的实训生活,短暂而又美好,开启了我未来的职业生涯,这段时光将是我人生中最宝贵的财富。感谢沈阳工程学院为我们提供实训机会,感谢学校领导对我们实训的支持,感谢指导过我的老师、同学。他们都在工作中给过我莫大的支持和帮助,度过了短暂快乐的实训生活。  

  感谢老师用严谨敬业的态度指导我们学习、用温柔体贴的话语指导我们生活,我最应该感谢的是我的父母,他们无私的给与我物质和精神上的支持和鼓励,特在此表示感谢。

参考文献

[1] 列出的只限于那些作者亲自阅读过的,最重要的且发表在公开出版物上的文献或网上下载的资料。按引用文献的顺序,列于末。

[2] 参考文献是专著时,书写格式为:顺序号 著者.书名.版本.其他责任者.出版地:出版者,出版年,文献数量

[3] 窦振中.PIC系列单片机原理和程序设计.北京:北京航空航天大学出版社,1998

[4] 参考文献是期刊时,书写格式为:顺序号作者.题名.其他责任者.刊名,年,卷(期):在原文献中的位置

[5] 高为柄,程勉,夏小华.非线性控制系统的发展.自动化学报,1991,17

学生信息管理系统报告相关推荐

  1. c语言程序设计学生程序查询,《c语言程序设计报告-学生信息管理系统》.doc

    <c语言程序设计报告-学生信息管理系统> 中南大学 ? ? C语言程序设计实践报告 ? ? ? ? ? 题 目 学生信息管理系统 学生姓名 张眼 指导教师 刘伟荣 学 院 信息科学与工程学 ...

  2. c语言程序设计课程设计学生信息管理系统,C语言程序设计课程设计报告----学生信息管理系统.doc...

    河南理工大学计算机学院 <C语言程序设计>课程设计报告 题目: 学生信息管理系统 专业: 计算机科学与技术 班级: 计算机XX班 学号: 311009033232 姓名: ***** 日期 ...

  3. c语言成绩管理系统开题报告,学生信息管理系统,开题报告(共篇).doc

    学生信息管理系统,开题报告(共篇).doc 学生信息管理系统,开题报告(共10篇) :开题 信息管理系统 报告 学生 论文开题报告有查重吗 居民信息网络管理系统 学生信息管理系统c语言 篇一:学生信息 ...

  4. 学生信息管理系统c 语言程序设计报告,C语言程序设计报告(学生信息管理系统)[1].txt...

    C语言程序设计报告(学生信息管理系统)[1].txt C CCCC * * * * * * * * * * * * * * * * .3 3 .4 1. .4 2. 4 3. 4 4. .5 飺 .5 ...

  5. android 学生信息管理系统,android学生信息管理系统的报告.docx

    android学生信息管理系统的报告 基于Android的学生信息管理系统初探 [摘要]智能移动端迅猛发展,学生信息管理的数字化是教学透明的又一个重要体现,本文主要阐述基于基于Android的学生信息 ...

  6. c语言课程设计报告15页左右,C语言课程设计报告——学生信息管理系统(15页)-原创力文档...

    C语言程序设计 课程设计报告 设计题目:学生信息管理系统 专 业 电子信息工程 班 级 学 生 指导教师 年 学期 设计任务: C语言课程设计任务书及指导书 5 题目:学生信息管理系统 功能:学生信息 ...

  7. c语言程序设计学生管理系统,c语言程序设计报告学生信息管理系统

    <c语言程序设计报告学生信息管理系统>由会员分享,可在线阅读,更多相关<c语言程序设计报告学生信息管理系统(16页珍藏版)>请在人人文库网上搜索. 1.中南大学C语言程序设计实 ...

  8. java商品信息管理实验报告_java学生信息管理系统实验报告

    java学生信息管理系统实验报告 JAVA 程序设计实验报告学 号:姓 名: 班 级: 实验.Java 课程设计--------学生信息管理系统一.实验目的 1. 掌握 Java 基本语法2. 理解面 ...

  9. 数据结构实验报告(一)学生信息管理系统

    大二计算机学生报告的汇总 进入计算机专业以来每天的必要工作就是写报告,按照老师的话来说,我们计算机专业的学生经过长时间的训练,以后出去写代码就跟喝水一样简单.在这里我将发表部分我写的报告,仅以此怀念我 ...

  10. 学生管理系统c语言代码实验报告,C语言学生信息管理系统实验报告(含源代码).doc...

    实 验 四:结构体 实验目的: 1.更加灵活的使用数组作为函数参数: 2.初步掌握开发一个小型实用系统的基本方法: 3.初步掌握书写程序设计开发文档的能力. 实验内容: 程序一:学生信息管理系统 编写 ...

最新文章

  1. KMP模式串匹配+Compress Words CodeForces - 1200E
  2. java小工程_Java进阶:阶段性小工程
  3. 理解认证_授权_以及会话_Spring Security OAuth2.0认证授权---springcloud工作笔记110
  4. CCF201509-3 模板生成系统(100分)
  5. AppSettings
  6. 三张图较为好理解JavaScript的原型对象与原型链
  7. 数据库索引实现(B+,B-,hash)
  8. 用Amos/Mplus/Lisrel等软件做的就是结构方程模型吗?
  9. 计算机信息技术身边的具体应用案例,信息技术案例分析..doc
  10. 如何打开.chm文件
  11. lightGBM简述
  12. 今日头条快手等大厂刨根问底之APP启动流程篇
  13. 智慧园区运行监控中心
  14. (原创)CRC计算流程分析(RefIn,Init,RefOut,XorOut)
  15. ublox center获取RTK卫星数据
  16. 孪生素数猜想,不值一提
  17. 女程序员,靠脸还是靠技术?
  18. Sophie Mapuis
  19. 论文笔记 | Generating Diverse and Consistent QA pairs from Contexts with Information-Maximizing Hierarch
  20. Arduino UNO的原理图

热门文章

  1. 【参考文献】支气管上皮细胞培养方法
  2. U盘容量变小实用解决方案
  3. 用什么软件测试内存条稳定,如何检测内存条的好坏有什么软件
  4. Substance Painter 画高度贴图
  5. Docker 报错port is already allocated
  6. PS教程:一分钟搞定 超简单PS皮肤美白方法
  7. Prometheus + Grafana 搭建监控报警系统
  8. ECCV 2020 论文大盘点-语义分割篇
  9. ICCV 2019|70 篇论文抢先读,含目标检测/自动驾驶/GCN/等(提供PDF下载)
  10. 虚拟专用网络安全技术