📄 csdw.java
字号:
package prapare_manager;
import java.sql.*;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.sql.DriverManager;
import javax.swing.*;
import user.quanxian;
public class csDW extends JFrame implements ActionListener,ItemListener
{
private static final long serialVersionUID = -7700451926035976789L;
JPanel cp;
int i1=0,i2=0;//复选框选择记录
JScrollPane jsp = new JScrollPane();
ImageIcon icon=new ImageIcon("picture/12.jpg");
JLabel tp=new JLabel(icon,JLabel.CENTER);
Object[][] rowData=new Object[200][3];
String[] columnNames = {
"参赛单位","参赛项目", "参赛类型"};
JTable jT1 = new JTable(rowData, columnNames);
JLabel j1=new JLabel("学 院:");
JLabel j2=new JLabel("参赛项目: ");
JLabel j4=new JLabel("选择事件对象:");
JLabel j3=new JLabel("默认情况下,按学院和项目进行操作!");
JComboBox cbx1=new JComboBox();
JComboBox cbx2=new JComboBox();
JButton b1=new JButton("添 加");
JButton b2=new JButton("删 除");
JButton b3=new JButton("查 询");
JButton b4=new JButton("刷 新");
JButton b5=new JButton("返 回");
JCheckBox cb1=new JCheckBox("学 院",false);
JCheckBox cb2=new JCheckBox("项 目",false);
public csDW()
{try{Init();if(new quanxian().get_quanxian()==2){b1.setEnabled(false);b2.setEnabled(false);}
}catch (Exception err){err.printStackTrace();}}
public void Init() throws Exception{
cp=(JPanel)this.getContentPane();
cp.setLayout(null);
this.setSize(680,500);
this.setTitle("参赛单位");
b1.setBounds(530,20,85,30);
b1.setFont(new java.awt.Font("Dialog",0,15));
b1.addActionListener(this);
cp.add(b1);
b2.setBounds(530,70,85,30);
b2.setFont(new java.awt.Font("Dialog",0,15));
b2.addActionListener(this);
cp.add(b2);
b3.setBounds(530,120,85,30);
b3.setFont(new java.awt.Font("Dialog",0,15));
b3.addActionListener(this);
cp.add(b3);
b4.setBounds(530,170,85,30);
b4.setFont(new java.awt.Font("Dialog",0,15));
b4.addActionListener(this);
cp.add(b4);
b5.setBounds(530,220,85,30);
b5.setFont(new java.awt.Font("Dialog",0,15));
b5.addActionListener(this);
cp.add(b5);
j4.setBounds(500,310,160,30);
j4.setForeground(new Color(255,0,0));
j4.setBackground(new Color(255,255,255));
j4.setFont(new java.awt.Font("Dialog",0,16));
cp.add(j4,null);
cb1.setBounds(500,340,60,30);
cb1.setBackground(new Color(255,255,255));
cb1.addItemListener(this);
cp.add(cb1,null);
cb2.setBounds(560,340,60,30);
cb2.setBackground(new Color(255,255,255));
cb2.addItemListener(this);
cp.add(cb2,null);
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:yundonghui","sa","123");
Statement ps=con.createStatement();
ResultSet rs1=null;
rs1=ps.executeQuery("select * from 学院名称表");
while(rs1.next()){cbx1.addItem(rs1.getString(1));}
ResultSet rs2=null;
rs2=ps.executeQuery("select * from 项目表");
while(rs2.next()){cbx2.addItem(rs2.getString(1));}
}
catch(Exception err){err.printStackTrace();JOptionPane.showMessageDialog(null,"数据库连接出错!");}
j1.setBounds(30,340,60,30);
j1.setForeground(new Color(255,0,0));
j1.setFont(new java.awt.Font("Dialog",0,15));
cp.add(j1,null);
cbx1.setBounds(90,340,160,30);
cbx1.setFont(new java.awt.Font("Dialog",0,15));
cp.add(cbx1,null);
j2.setBounds(270,340,80,30);
j2.setFont(new java.awt.Font("Dialog",0,16));
j2.setForeground(new Color(255,0,0));
cp.add(j2,null);
j3.setBounds(140,420,540,30);
j3.setForeground(new Color(55,220,150));
j3.setFont(new java.awt.Font("华文仿宋",Font.BOLD,20));
cp.add(j3,null);
cbx2.setBounds(340,340,100,30);
cbx2.setFont(new java.awt.Font("Dialog",0,14));
cp.add(cbx2,null);
jsp.setBounds(6,0,500,300);
jsp.getViewport().add(jT1,null);
cp.add(jsp);
tp.setSize(680,500);
tp.setText("");
cp.add(tp,null);
this.setResizable(false);
this.setLocationRelativeTo(null);
this.setVisible(true);
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
java.sql.Connection con=DriverManager.getConnection("jdbc:odbc:yundonghui","sa","123");
Statement ps=con.createStatement();
ResultSet rs = null;
rs=ps.executeQuery("select * from 参赛单位表");
jT1.setModel(new javax.swing.table.DefaultTableModel());
Object[][] rowData=new Object[200][3];
String[] columnNames = { "参赛单位","参赛项目", "参赛类型"};
JTable jT1=new JTable(rowData, columnNames); //创建新的JTable对象
jsp.getViewport().add(jT1,null); //加载JTable对象
int i=0;
while(rs.next())
{
rowData[i][0] = rs.getString(1);
rowData[i][1] = rs.getString(2);
rowData[i][2]=rs.getString(3);
i++;
}
}catch(Exception err){err.printStackTrace();JOptionPane.showMessageDialog(null,"数据库连接出错!");}
}
public static void main(String args[])
{new csDW();}
public void itemStateChanged(ItemEvent e)
{JCheckBox cbx=(JCheckBox) e.getItem();
if(cbx.getText()=="学 院"){if(e.getStateChange()==ItemEvent.SELECTED) i1=1;else i1=0;}
if(cbx.getText()=="项 目"){if(e.getStateChange()==ItemEvent.SELECTED) i2=1;else i2=0;}
}
public void actionPerformed(ActionEvent e)
{ if(e.getSource()==b5){this.dispose();}
else
try
{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection("jdbc:odbc:yundonghui","sa","123");
Statement ps=con.createStatement();
ResultSet rs=null;
if(e.getSource()==b1)
{
rs=ps.executeQuery("select * from 参赛单位表 where 参赛单位='"+
cbx1.getSelectedItem()+"'and 参赛项目='"+cbx2.getSelectedItem()+"'");
if(rs.next()){JOptionPane.showMessageDialog(null,"此记录已存在!");}
else
{
int v=JOptionPane.showConfirmDialog(this,"确认添加吗?","删除确认",JOptionPane.OK_CANCEL_OPTION);
if(v==JOptionPane.OK_OPTION)
{
rs=ps.executeQuery("select * from 项目表 where 项目='"+cbx2.getSelectedItem()+"'");//级联项目的项目类型
if(rs.next()) ps.executeUpdate("Insert Into 参赛单位表 Values('"+cbx1.getSelectedItem()+"','"+cbx2.getSelectedItem()+"','"+rs.getString(2)+"')");
JOptionPane.showMessageDialog(null,"添加成功!");
}
}
rs=ps.executeQuery("select * from 参赛单位表");
}
else if(e.getSource()==b2)
{
if(i1==1&&i2==0)
{
rs=ps.executeQuery("select * from 参赛单位表 where 参赛单位='"+
cbx1.getSelectedItem()+"'");
if(rs.next()){int v=JOptionPane.showConfirmDialog(this,"确定删除"+cbx1.getSelectedItem()+
"的所有记录吗?","删除确认",JOptionPane.OK_CANCEL_OPTION);
if(v==JOptionPane.OK_OPTION){ps.executeUpdate("delete from 参赛单位表 where 参赛单位='"+
cbx1.getSelectedItem()+"'");JOptionPane.showMessageDialog(null,"删除成功!");}}
else{JOptionPane.showMessageDialog(null,"没有此记录!" );}
}
else if(i1==0&&i2==1)
{
int v=JOptionPane.showConfirmDialog(this,"确定删除"+cbx2.getSelectedItem()+
"吗?","删除确认",JOptionPane.OK_CANCEL_OPTION);
if(v==JOptionPane.OK_OPTION)
{ rs=ps.executeQuery("select * from 参赛单位表 where 参赛项目='"+
cbx2.getSelectedItem()+"'");
if(rs.next())
{
ps.executeUpdate("delete from 参赛单位表 where 参赛项目='"+
cbx2.getSelectedItem()+"'");JOptionPane.showMessageDialog(null,"删除成功!");
}
else{JOptionPane.showMessageDialog(null,"没有此记录!" );}
}
}
else
{ int v=JOptionPane.showConfirmDialog(this,"确定删除此记录吗?","删除确认",JOptionPane.OK_CANCEL_OPTION);
if(v==JOptionPane.OK_OPTION)
{ rs=ps.executeQuery("select * from 参赛单位表 where 参赛单位='"+
cbx1.getSelectedItem()+"'and 参赛项目='"+cbx2.getSelectedItem()+"'");
if(rs.next())
{
ps.executeUpdate("delete from 参赛单位表 where 参赛单位='"+
cbx1.getSelectedItem()+"'and 参赛项目='"+cbx2.getSelectedItem()+"'");
JOptionPane.showMessageDialog(null,"删除成功!");
}
else{JOptionPane.showMessageDialog(null,"没有此记录!" );}
}
}
rs=ps.executeQuery("select * from 参赛单位表");
}
else if(e.getSource()==b3)
{
if(i1==1&&i2==0)
{
rs=ps.executeQuery("select * from 参赛单位表 where 参赛单位='"+
cbx1.getSelectedItem()+"'");
if(rs.next()){rs=ps.executeQuery("select * from 参赛单位表 where 参赛单位='"+
cbx1.getSelectedItem()+"'");}
else{JOptionPane.showMessageDialog(null,"没有此记录!" );rs=ps.executeQuery("select * from 参赛单位表");}
}
else if(i1==0&&i2==1)
{
rs=ps.executeQuery("select * from 参赛单位表 where 参赛项目='"+
cbx2.getSelectedItem()+"'");
if(rs.next())
{
rs=ps.executeQuery("select * from 参赛单位表 where 参赛项目='"+
cbx2.getSelectedItem()+"'");
}
else{JOptionPane.showMessageDialog(null,"没有此记录!" );rs=ps.executeQuery("select * from 参赛单位表");}
}
else if(i1==1&&i2==1)
{
rs=ps.executeQuery("select * from 参赛单位表 where 参赛单位='"+
cbx1.getSelectedItem()+"'and 参赛项目='"+cbx2.getSelectedItem()+"'");
if(rs.next())
{
rs=ps.executeQuery("select * from 参赛单位表 where 参赛单位='"+
cbx1.getSelectedItem()+"'and 参赛项目='"+cbx2.getSelectedItem()+"'");
}
else{JOptionPane.showMessageDialog(null,"没有此记录!" );rs=ps.executeQuery("select * from 参赛单位表");}
}
else
{
JOptionPane.showMessageDialog(null,"请选择查询的方式(学院、项目)!" );
rs=ps.executeQuery("select * from 参赛单位表");
}
}
else if(e.getSource()==b4){rs=ps.executeQuery("select * from 参赛单位表");}
jT1.setModel(new javax.swing.table.DefaultTableModel());
Object[][] rowData=new Object[200][3];
String[] columnNames = { "参赛单位","参赛项目", "参赛类型"};
JTable jT1=new JTable(rowData, columnNames); //创建新的JTable对象
jsp.getViewport().add(jT1,null); //加载JTable对象
int i=0;
while(rs.next())
{
rowData[i][0] = rs.getString(1);
rowData[i][1] = rs.getString(2);
rowData[i][2]=rs.getString(3);
i++;
}
}catch(Exception err){err.printStackTrace();JOptionPane.showMessageDialog(null,"数据库连接错误!");}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -