📄 managesystem.java
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.sql.*;
//int flag=0;
class DBManage
{
public DBManage()
{
}
//执行查询语句,返回查询结果集
public ResultSet query(String sql)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动程序
}
catch(java.lang.ClassNotFoundException e)
{
System.out.println("异常!!!!");
}
try{
Connection con=DriverManager.getConnection("jdbc:odbc:test"); //连接数据库
Statement s=con.createStatement(); //建立Statemnet类对象
ResultSet rs=s.executeQuery(sql); //执行SQL语句t
return rs; //返回结果集
}
catch(SQLException e)
{
System.out.println("SQLException:"+e.getMessage());
return null;
}
}
//执行添加、删除和修改语句
public boolean executeSQL(String sql)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(java.lang.ClassNotFoundException e)
{
System.out.println("异常!!!!");
}
try{
Connection con=DriverManager.getConnection("jdbc:odbc:test"); //连接数据库
Statement s=con.createStatement(); //建立Statemnet类对象
s.executeUpdate(sql); //执行SQL语句
con.commit(); //提交到数据库
s.close();
con.close();
return true;
}
catch(Exception e)
{
System.out.println("SQLException:"+e.getMessage());
return false;
}
}
}
class update1 implements ActionListener//修改学生信息
{
DBManage db=new DBManage(); //定义数据库操作对象
ResultSet rs; //定义结果集
String sql;
JFrame f=new JFrame("修改学生基本信息");
Container cp=f.getContentPane();
//创建面板对象
JPanel pa1=new JPanel(new FlowLayout());
JPanel pa2=new JPanel(new GridLayout(6,2,5,5));
JPanel pa3=new JPanel(new FlowLayout());
//创建标签对象
JLabel lb1=new JLabel("输入学号或姓名点击确定,将调出学生的成绩信息!");
JLabel lb2=new JLabel("学号");
JLabel lb3=new JLabel("姓名");
JLabel lb4=new JLabel("性别");
JLabel lb5=new JLabel("籍贯");
JLabel lb6=new JLabel("出生年月");
JLabel lb7=new JLabel("所在学院");
//创建文本框对象
JTextField TNum=new JTextField(10);
JTextField TName=new JTextField(10);
JTextField TChinese=new JTextField(10);
JTextField TMath=new JTextField(10);
JTextField TEnglish=new JTextField(10);
JTextField TTotal=new JTextField(10);
//创建按钮对象
JButton BOK=new JButton("确定");
JButton BSave=new JButton("保存");
JButton BReset=new JButton("清空");
JButton BQuit=new JButton("退出");
public update1()
{
cp.setLayout(new BorderLayout());
//将面板添加到容器中
cp.add(pa1,BorderLayout.NORTH);
cp.add(pa2,BorderLayout.CENTER);
cp.add(pa3,BorderLayout.SOUTH);
//添加标签lb1到面板pa1中
pa1.add(lb1);
//添加标签和文本框到面板pa2中
pa2.add(lb2); pa2.add(TNum);
pa2.add(lb3); pa2.add(TName);
pa2.add(lb4); pa2.add(TChinese);
pa2.add(lb5); pa2.add(TMath);
pa2.add(lb6); pa2.add(TEnglish);
pa2.add(lb7); pa2.add(TTotal);
//添加按钮到面板pa3中
pa3.add(BOK);
pa3.add(BSave);
pa3.add(BReset);
pa3.add(BQuit);
//注册按钮监听者对象
BOK.addActionListener(this);
BSave.addActionListener(this);
BReset.addActionListener(this);
BQuit.addActionListener(this);
f.pack();
f.setVisible(true);
f.setSize(350,300);
//f.setBackground(Color.cyan); //设置背景颜色
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
//初始化时设置文本框的编辑属性
setAbled(true,false,false);
//初始化时设置按钮的可用性
setButton(true,false,false,true);
}
//设置文本框是否可编辑,该函数有两个参数,为布尔型变量,若为true,则设置文本框可编辑,若为false,则不可编辑
void setAbled(boolean b,boolean name,boolean bn)
{
TNum.setEditable(b);
TName.setEditable(name);
TChinese.setEditable(bn);
TMath.setEditable(bn);
TEnglish.setEditable(bn);
TTotal.setEditable(bn);
}
//设置按钮的状态,有四个布尔型变量,设置对应的按钮是否可用
void setButton(boolean ok,boolean save,boolean reset,boolean quit)
{
BOK.setEnabled(ok);
BSave.setEnabled(save);
BReset.setEnabled(reset);
BQuit.setEnabled(quit);
}
//将文本框清空
void setNull()
{
TChinese.setText(null);
TMath.setText(null);
TEnglish.setText(null);
TTotal.setText(null);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==BOK)
{
//如果学号为空
if(TNum.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(f,"请输入学号!");
return;
}
//如果学号不为空
else
sql="select * from student where 学号='" +TNum.getText().trim()+ "' ";
try{
rs=db.query(sql); //执行数据库的查询
if(rs.next())
{
TNum.setText(rs.getString("学号"));
TName.setText(rs.getString("姓名"));
TChinese.setText(rs.getString("性别"));
TMath.setText(rs.getString("籍贯"));
TEnglish.setText(rs.getString("出生年月"));
TTotal.setText(rs.getString("所在学院"));
}
else{
JOptionPane.showMessageDialog(f,"该学号不存在!");
return;
}
}
catch(SQLException ce)
{ System.out.println("SQLException异常:"+ce.getMessage()); }
setAbled(false,false,true); //设置TNum和TName文本框不可编辑
setButton(false,true,true,true); //设置确定按钮不可用
}
if(e.getSource()==BSave)
{
sql=" update student set 性别='" +TChinese.getText().trim()+ "',";
sql=sql+ "籍贯='" +TMath.getText().trim()+ "',";
sql=sql+ "出生年月='" +TEnglish.getText().trim()+ "',";
sql=sql+ "所在学院='" +TTotal.getText().trim()+ "'";
sql=sql+ "where 学号='" +TNum.getText().trim()+ "' or 姓名='" +TName.getText().trim()+ "' ";
if(db.executeSQL(sql))
{ JOptionPane.showMessageDialog(f,"修改成功!"); }
else
{ JOptionPane.showMessageDialog(f,"修改失败,请重新操作!"); }
setNull();
setAbled(true,false,false);
setButton(true,false,false,true);
}
if(e.getSource()==BReset)
{
setNull();
}
if(e.getSource()==BQuit)
{
f.dispose();
}
}
}
class update implements ActionListener
{
DBManage db=new DBManage(); //定义数据库操作对象
ResultSet rs; //定义结果集
String sql;
JFrame f=new JFrame("修改成绩");
Container cp=f.getContentPane();
//创建面板对象
JPanel pa1=new JPanel(new FlowLayout());
JPanel pa2=new JPanel(new GridLayout(6,2,5,5));
JPanel pa3=new JPanel(new FlowLayout());
//创建标签对象
JLabel lb1=new JLabel("输入学号或姓名点击确定,将调出学生的成绩信息!");
JLabel lb2=new JLabel("学号");
JLabel lb3=new JLabel("姓名");
JLabel lb4=new JLabel("语文");
JLabel lb5=new JLabel("数学");
JLabel lb6=new JLabel("英语");
JLabel lb7=new JLabel("总分");
//创建文本框对象
JTextField TNum=new JTextField(10);
JTextField TName=new JTextField(10);
JTextField TChinese=new JTextField(10);
JTextField TMath=new JTextField(10);
JTextField TEnglish=new JTextField(10);
JTextField TTotal=new JTextField(10);
//创建按钮对象
JButton BOK=new JButton("确定");
JButton BSave=new JButton("保存");
JButton BReset=new JButton("清空");
JButton BQuit=new JButton("退出");
public update()
{
cp.setLayout(new BorderLayout());
//将面板添加到容器中
cp.add(pa1,BorderLayout.NORTH);
cp.add(pa2,BorderLayout.CENTER);
cp.add(pa3,BorderLayout.SOUTH);
//添加标签lb1到面板pa1中
pa1.add(lb1);
//添加标签和文本框到面板pa2中
pa2.add(lb2); pa2.add(TNum);
pa2.add(lb3); pa2.add(TName);
pa2.add(lb4); pa2.add(TChinese);
pa2.add(lb5); pa2.add(TMath);
pa2.add(lb6); pa2.add(TEnglish);
pa2.add(lb7); pa2.add(TTotal);
//添加按钮到面板pa3中
pa3.add(BOK);
pa3.add(BSave);
pa3.add(BReset);
pa3.add(BQuit);
//注册按钮监听者对象
BOK.addActionListener(this);
BSave.addActionListener(this);
BReset.addActionListener(this);
BQuit.addActionListener(this);
f.pack();
f.setVisible(true);
f.setSize(350,300);
//f.setBackground(Color.cyan); //设置背景颜色
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
//初始化时设置文本框的编辑属性
setAbled(true,false,false);
//初始化时设置按钮的可用性
setButton(true,false,false,true);
}
//设置文本框是否可编辑,该函数有两个参数,为布尔型变量,若为true,则设置文本框可编辑,若为false,则不可编辑
void setAbled(boolean b,boolean name,boolean bn)
{
TNum.setEditable(b);
TName.setEditable(name);
TChinese.setEditable(bn);
TMath.setEditable(bn);
TEnglish.setEditable(bn);
TTotal.setEditable(bn);
}
//设置按钮的状态,有四个布尔型变量,设置对应的按钮是否可用
void setButton(boolean ok,boolean save,boolean reset,boolean quit)
{
BOK.setEnabled(ok);
BSave.setEnabled(save);
BReset.setEnabled(reset);
BQuit.setEnabled(quit);
}
//将文本框清空
void setNull()
{
TChinese.setText(null);
TMath.setText(null);
TEnglish.setText(null);
TTotal.setText(null);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==BOK)
{
//如果学号为空
if(TNum.getText().trim().equals(""))
{
JOptionPane.showMessageDialog(f,"请输入学号!");
return;
}
//如果学号不为空
else
sql="select * from grade where 学号='" +TNum.getText().trim()+ "' ";
try{
rs=db.query(sql); //执行数据库的查询
if(rs.next())
{
TNum.setText(rs.getString("学号"));
TName.setText(rs.getString("姓名"));
TChinese.setText(rs.getString("语文"));
TMath.setText(rs.getString("数学"));
TEnglish.setText(rs.getString("英语"));
TTotal.setText(rs.getString("总分"));
}
else{
JOptionPane.showMessageDialog(f,"该学号不存在!");
return;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -