- 设计的原始资料及依据
查阅有关数据库设计、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) | 分 | 加权分合计 |
| |||||||||
答辩小组教师签名: | 年 月 日 | |||||||||||
课 程 设 计 总 评 成 绩 | 分 | |||||||||||
目 录
目录
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