zoukankan      html  css  js  c++  java
  • java版本的学生管理系统

      1 import java.awt.BorderLayout;
      2 import java.awt.Color;
      3 import java.awt.Frame;
      4 import java.awt.event.ActionEvent;
      5 import java.awt.event.ActionListener;
      6 import java.io.UnsupportedEncodingException;
      7 import java.sql.Connection;
      8 import java.sql.DriverManager;
      9 import java.sql.PreparedStatement;
     10 import java.sql.ResultSet;
     11 import java.sql.SQLException;
     12 import java.util.Vector;
     13 
     14 import javax.swing.Box;
     15 import javax.swing.ButtonGroup;
     16 import javax.swing.JButton;
     17 import javax.swing.JDialog;
     18 import javax.swing.JFrame;
     19 import javax.swing.JLabel;
     20 import javax.swing.JOptionPane;
     21 import javax.swing.JPanel;
     22 import javax.swing.JRadioButton;
     23 import javax.swing.JScrollPane;
     24 import javax.swing.JTable;
     25 import javax.swing.JTextField;
     26 import javax.swing.plaf.OptionPaneUI;
     27 import javax.swing.table.AbstractTableModel;
     28 
     29 /**
     30  * @author Administrator mini版学生管理系统 实现: crud所有功能
     31  */
     32 
     33 public class Demo_4 {
     34 
     35     /**
     36      * @param args
     37      *            作者: 龚细军 date: 2014/11/23
     38      *            完成时间: 2014/11/25/
     39      */
     40 
     41     public static void main(String args[]) {
     42         // 创建一个面板对象
     43         MyJFrame mf = new MyJFrame();
     44     }
     45 }
     46 
     47 // 定义一个我自己的主界面
     48 class MyJFrame extends JFrame implements ActionListener {
     49 
     50     JTable jt;
     51     MyJTable mjt;
     52     // 必要地分布板块
     53     JPanel jpup, jpdown, jpcenter;
     54     // 实现数据的 增删查改即crud操作
     55     JButton[] button = new JButton[4];
     56     // 用来辅助查找模块的框框
     57     JTextField text;
     58 
     59     JScrollPane jsp = null;
     60 
     61     /*
     62      * 构造函数 功能: 实现窗口的初始化
     63      */
     64     MyJFrame() {
     65         mjt = new MyJTable();
     66         jt = new JTable(mjt);
     67         // jt.setModel(mjt);
     68         jpup = new JPanel();
     69         jpdown = new JPanel();
     70         jpcenter = new JPanel();
     71         text = new JTextField(14);
     72         button[0] = new JButton(" 查询  ");
     73         button[1] = new JButton(" 添加  ");
     74         button[2] = new JButton(" 修改  ");
     75         button[3] = new JButton(" 删除  ");
     76         for (int i = 0; i < 4; i++)
     77             button[i].addActionListener(this);
     78         jpup.add(new JLabel("用户信息"));
     79         jpup.add(text);
     80         jpup.add(button[0]);
     81         for (int i = 1; i < 4; i++)
     82             jpdown.add(button[i]);
     83         jt.setBackground(Color.CYAN);
     84         jsp = new JScrollPane(jt);
     85         jpcenter.add(jsp);
     86         // 设置一些布局 borderLaRyou
     87         this.add(jpup, BorderLayout.NORTH);
     88         this.add(jpcenter, BorderLayout.CENTER);
     89         this.add(jpdown, BorderLayout.SOUTH);
     90         // 设置窗口的标题
     91         this.setTitle("mini版的学生管理系统");
     92         // 设置窗口的尺寸
     93         this.setSize(500, 300);
     94         // 窗口的尺寸不可改变
     95         // this.setResizable(false);
     96         // 设置窗口是否可见
     97         this.setVisible(true);
     98         // 设置窗口的注销模式
     99         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    100     }
    101 
    102     @Override
    103     public void actionPerformed(ActionEvent e) {
    104         // TODO Auto-generated method stub
    105         int i = 0;
    106         for (i = 0; i < 4; i++)
    107             if (e.getSource() == button[i])
    108                 break;
    109         String cmd = text.getText().toString().trim();
    110         switch (i) {
    111         // 查询
    112         case 0:
    113             if (cmd.isEmpty()) {
    114                 JOptionPane.showMessageDialog(button[0], "请输入用户名");
    115                 mjt = new MyJTable();
    116             } else
    117                 mjt = new MyJTable(cmd);
    118             jt.setModel(mjt);
    119             break;
    120         // 添加
    121         case 1:
    122             AddJFrame myAdd = new AddJFrame(this, true);
    123             mjt = new MyJTable();
    124             jt.setModel(mjt);
    125             break;
    126         // 修改
    127         case 2:
    128             // 需要得到我们点中的行列号
    129             int rownum = this.jt.getSelectedRow();
    130             if (-1 == rownum) {
    131                 JOptionPane.showMessageDialog(this, "请选中你要修改人");
    132                 return;
    133             } else {
    134                 String name = (String) mjt.getValueAt(rownum, 0);
    135                 UpdataJFrame Uj = new UpdataJFrame(this, true, name);
    136                 mjt = new MyJTable();
    137                 jt.setModel(mjt);
    138             }
    139             break;
    140         // 删除
    141         case 3:
    142             int row = this.jt.getSelectedRow();
    143             if (-1 == row) {
    144                 JOptionPane.showMessageDialog(this, "请选中你要修改人");
    145                 return;
    146             } else {
    147                 String name = (String) mjt.getValueAt(row, 1);
    148                 Delete det = new Delete(this, name.trim(), true);
    149             }
    150             mjt = new MyJTable();
    151             jt.setModel(mjt);
    152             break;
    153         // 啥也不干
    154         default:
    155 
    156             break;
    157         }
    158     }
    159 
    160 }
    161 
    162 // 定义一个自己的table类
    163 class MyJTable extends AbstractTableModel {
    164 
    165     // sql的几个变量
    166     Connection ct = null;
    167     PreparedStatement ps = null;
    168     ResultSet rs = null;
    169     Vector rowdata, colName;
    170 
    171     // 非带参数的构造函数,用于初始化
    172     MyJTable() {
    173         this.func("", false);
    174     }
    175 
    176     // 带参数的构造函数,用于查询
    177     MyJTable(String name) {
    178         this.func(name, true);
    179     };
    180 
    181     public void func(String name, boolean tag) {
    182         String sql;
    183         try {
    184             // 加载上jdbc_odbc驱动
    185             Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    186             // 连接sql
    187             ct = DriverManager.getConnection(
    188                             "jdbc:microsoft:sqlserver://localhost:1434;databaseName=Demo_1",
    189                             "sa", "869261636123");
    190             if (!tag) {
    191                 sql = new String("select * from stu");
    192                 ps = ct.prepareStatement(sql);
    193             } else {
    194                 sql = new String("Select * from Stu where Stuname=?");
    195                 ps = ct.prepareStatement(sql);
    196                 ps.setString(1, name);
    197             }
    198             rs = ps.executeQuery();
    199             /*
    200              * 设置表单的属性
    201              */
    202             colName = new Vector();
    203             rowdata = new Vector();
    204             String[] ss = { "学号", "名字", "性别", "年龄", "家庭地址", "系别" };
    205             for (int i = 0; i < 6; i++)
    206                 colName.add(ss[i]);
    207             while (rs.next()) {
    208                 Vector hang = new Vector();
    209                 for (int i = 1; i <= 6; i++) {
    210                     if (4 == i)
    211                         hang.add(rs.getInt(i));
    212                     else {
    213                         String st = new String(
    214                                 (rs.getString(i)).getBytes("gbk"), "gb2312");
    215                         hang.add(st);
    216                     }
    217                 }
    218                 rowdata.add(hang);
    219             }
    220         } catch (Exception e) {
    221             // TODO Auto-generated catch block
    222             e.printStackTrace();
    223         } finally {
    224             // 关闭一些窗口
    225             try {
    226                 if (rs != null)
    227                     rs.close();
    228                 if (ps != null)
    229                     ps.close();
    230                 if (ct != null)
    231                     ct.close();
    232             } catch (SQLException e) {
    233                 // TODO Auto-generated catch block
    234                 e.printStackTrace();
    235             }
    236         }
    237     }
    238 
    239     // 返回它的行数
    240     @Override
    241     public int getRowCount() {
    242         // TODO Auto-generated method stub
    243         return this.rowdata.size();
    244     }
    245 
    246     // 返回它的列数
    247     @Override
    248     public int getColumnCount() {
    249         // TODO Auto-generated method stub
    250         return this.colName.size();
    251     }
    252 
    253     // 返回该表单的内容
    254     @Override
    255     public Object getValueAt(int rowIndex, int columnIndex) {
    256         // TODO Auto-generated method stub
    257         return ((Vector) this.rowdata.get(rowIndex)).get(columnIndex);
    258     }
    259 
    260     @Override
    261     public String getColumnName(int column) {
    262         // TODO Auto-generated method stub
    263         return (String) this.colName.get(column);
    264     }
    265 }
    266 
    267 // 定义一个添加数据的界面
    268 class AddJFrame extends JDialog implements ActionListener {
    269 
    270     // 填写信息的空格
    271     private String sex = null;
    272     JTextField[] jt = new JTextField[5];
    273     JButton[] jb = new JButton[2];
    274     // 单选按钮
    275     JRadioButton[] jradio = new JRadioButton[2];
    276     // 组合单选按钮
    277     ButtonGroup group;
    278     // 用于设置 盒式布局 BoxLayout
    279     Box[] mybox = new Box[4];
    280     JPanel jp, jp1;
    281     // SQL几个常用的变量类型
    282     Connection ct = null;
    283     PreparedStatement ps = null;
    284 
    285     public AddJFrame(Frame Father, boolean Model) {
    286         // 采用模式对话框
    287         super(Father, Model);
    288         for (int i = 0; i < 5; i++)
    289             jt[i] = new JTextField(10);
    290         jb[0] = new JButton("确认");
    291         jb[0].addActionListener(this);
    292         jb[1] = new JButton("取消");
    293         jb[1].addActionListener(this);
    294         jradio[0] = new JRadioButton("男");
    295         jradio[0].addActionListener(this);
    296         jradio[1] = new JRadioButton("女");
    297         jradio[1].addActionListener(this);
    298         // 设置水平
    299         mybox[0] = Box.createVerticalBox();
    300         mybox[0].add(Box.createVerticalStrut(15));
    301         mybox[0].add(new JLabel("学号:"));
    302         mybox[0].add(Box.createVerticalStrut(10));
    303         mybox[0].add(new JLabel("名字:"));
    304         mybox[0].add(Box.createVerticalStrut(20));
    305         mybox[0].add(new JLabel("性别:"));
    306         mybox[0].add(Box.createVerticalStrut(25));
    307         mybox[0].add(new JLabel("年龄:"));
    308         mybox[0].add(Box.createVerticalStrut(10));
    309         mybox[0].add(new JLabel("家庭住址:"));
    310         mybox[0].add(Box.createVerticalStrut(10));
    311         mybox[0].add(new JLabel("系别:"));
    312         mybox[0].add(Box.createVerticalStrut(10));
    313         // 设置另一边的水平
    314         mybox[1] = Box.createVerticalBox();
    315         mybox[1].add(Box.createVerticalStrut(18));
    316         mybox[1].add(jt[0]);
    317         mybox[1].add(Box.createVerticalStrut(8));
    318         mybox[1].add(jt[1]);
    319         mybox[1].add(Box.createVerticalStrut(8));
    320         jp = new JPanel();
    321         // 单选群
    322         group = new ButtonGroup();
    323         group.add(jradio[0]);
    324         group.add(jradio[1]);
    325         jp.add(jradio[0]);
    326         jp.add(jradio[1]);
    327         mybox[1].add(jp);
    328         /*
    329          * group =new ButtonGroup(); group.add(jradio[0]); group.add(jradio[1]);
    330          * mybox[1].add(group); 此处需要改变的 东西,改成combox来进行,或者直接改成一样的文本框也许
    331          */
    332         mybox[1].add(Box.createVerticalStrut(5));
    333         mybox[1].add(jt[2]);
    334         mybox[1].add(Box.createVerticalStrut(8));
    335         mybox[1].add(jt[3]);
    336         mybox[1].add(Box.createVerticalStrut(8));
    337         mybox[1].add(jt[4]);
    338         mybox[1].add(Box.createVerticalStrut(8));
    339         // 按钮部分
    340         jp1 = new JPanel();
    341         jp1.add(jb[0], BorderLayout.EAST);
    342         jp1.add(jb[1], BorderLayout.WEST);
    343         mybox[2] = Box.createHorizontalBox();
    344         mybox[2].add(mybox[0]);
    345         mybox[2].add(Box.createHorizontalStrut(10));
    346         mybox[2].add(mybox[1]);
    347         this.add(mybox[2], BorderLayout.NORTH);
    348         this.add(jp1, BorderLayout.SOUTH);
    349         init();
    350     }
    351 
    352     // 显示板块部分
    353     public void init() {
    354         this.setTitle("个人信息板块");
    355         this.setBackground(Color.magenta);
    356         this.setBounds(400, 300, 300, 300);
    357         this.setVisible(true);
    358         // this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    359     }
    360 
    361     @Override
    362     public void actionPerformed(ActionEvent e) {
    363         // TODO Auto-generated method stub
    364         // 将数据写入数据库
    365         if (e.getSource() == jb[0]) {
    366             // 对写入的数据进行处理
    367             try {
    368 
    369                 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    370                 ct = DriverManager
    371                         .getConnection(
    372                                 "jdbc:microsoft:sqlserver://localhost:1434;databaseName=Demo_1",
    373                                 "sa", "869261636123");
    374                 ps = ct.prepareStatement("insert into stu values(?,?,?,?,?,?)");
    375                 for (int i = 1, j = 0; i <= 6; i++) {
    376                     if (3 == i) {
    377                         // 去掉多余的空格,但是这里存在一个小bug(合理的处理为正则表达式)
    378                         ps.setString(i, this.getSex().trim());
    379                         // ps.setInt(i,);
    380                     } else if (4 == i) {
    381                         String tem = jt[j].getText().toString().trim();
    382                         int value = Integer.valueOf(tem).intValue();
    383                         ps.setInt(i, value);
    384                         ++j;
    385                     } else {
    386                         ps.setString(i, jt[j].getText().toString().trim());
    387                         ++j;
    388                     }
    389                 }
    390                 int i = ps.executeUpdate();
    391 
    392                 if (1 == i)
    393                     JOptionPane.showMessageDialog(this, "添加成功!");
    394                 else
    395                     JOptionPane.showMessageDialog(this, "添加失败!");
    396 
    397             } catch (Exception e1) {
    398                 // TODO Auto-generated catch block
    399                 e1.printStackTrace();
    400             } finally {
    401                 // 关闭数据库的一些调用函数
    402                 try {
    403                     if (ps != null)
    404                         ps.close();
    405                     if (ct != null)
    406                         ct.close();
    407                 } catch (SQLException e1) {
    408                     // TODO Auto-generated catch block
    409                     e1.printStackTrace();
    410                 }
    411             }
    412             this.dispose();
    413         } else if (e.getSource() == jb[0])
    414             // 释放点该窗口, 退出该版面
    415             this.dispose();
    416         else if (jradio[0].isSelected()) {
    417             // 将名字改为男
    418             this.setSex("男");
    419         } else if (jradio[1].isSelected()) {
    420             // 将名字改为女
    421             this.setSex("女");
    422         }
    423     }
    424 
    425     public String getSex() {
    426         return this.sex;
    427     }
    428 
    429     public void setSex(String sex) {
    430         this.sex = sex;
    431     }
    432 
    433 }
    434 
    435 // 定义一个修改数据的界面
    436 class UpdataJFrame extends JDialog implements ActionListener {
    437 
    438     // 填写信息的空格
    439     private String sex = null;
    440     JTextField[] jt = new JTextField[5];
    441     JButton[] jb = new JButton[2];
    442     // 单选按钮
    443     JRadioButton[] jradio = new JRadioButton[2];
    444     // 组合单选按钮
    445     ButtonGroup group;
    446     // 用于设置 盒式布局 BoxLayout
    447     Box[] mybox = new Box[4];
    448     JPanel jp, jp1;
    449     // SQL几个常用的变量类型
    450     Connection ct = null;
    451     PreparedStatement ps = null;
    452 
    453     public UpdataJFrame(Frame Father, boolean Model, String name) {
    454         // 采用模式对话框
    455         super(Father, Model);
    456         for (int i = 0; i < 5; i++)
    457             jt[i] = new JTextField(10);
    458         // 设置为仅仅读取
    459         jt[0].setEditable(false);
    460         // 下方的几个按钮
    461         jb[0] = new JButton("确认");
    462         jb[0].addActionListener(this);
    463         jb[1] = new JButton("取消");
    464         jb[1].addActionListener(this);
    465         jradio[0] = new JRadioButton("男");
    466         jradio[0].addActionListener(this);
    467         jradio[1] = new JRadioButton("女");
    468         jradio[1].addActionListener(this);
    469         // 设置水平
    470         mybox[0] = Box.createVerticalBox();
    471         mybox[0].add(Box.createVerticalStrut(15));
    472         mybox[0].add(new JLabel("学号:"));
    473         mybox[0].add(Box.createVerticalStrut(10));
    474         mybox[0].add(new JLabel("名字:"));
    475         mybox[0].add(Box.createVerticalStrut(20));
    476         mybox[0].add(new JLabel("性别:"));
    477         mybox[0].add(Box.createVerticalStrut(25));
    478         mybox[0].add(new JLabel("年龄:"));
    479         mybox[0].add(Box.createVerticalStrut(10));
    480         mybox[0].add(new JLabel("家庭住址:"));
    481         mybox[0].add(Box.createVerticalStrut(10));
    482         mybox[0].add(new JLabel("系别:"));
    483         mybox[0].add(Box.createVerticalStrut(10));
    484         // 设置另一边的水平
    485         mybox[1] = Box.createVerticalBox();
    486         mybox[1].add(Box.createVerticalStrut(18));
    487         mybox[1].add(jt[0]);
    488         mybox[1].add(Box.createVerticalStrut(8));
    489         mybox[1].add(jt[1]);
    490         mybox[1].add(Box.createVerticalStrut(8));
    491         jp = new JPanel();
    492         // 单选群
    493         group = new ButtonGroup();
    494         group.add(jradio[0]);
    495         group.add(jradio[1]);
    496         jp.add(jradio[0]);
    497         jp.add(jradio[1]);
    498         mybox[1].add(jp);
    499 
    500         /*
    501          * group =new ButtonGroup(); group.add(jradio[0]); group.add(jradio[1]);
    502          * mybox[1].add(group); 此处需要改变的 东西,改成combox来进行,或者直接改成一样的文本框也许
    503          */
    504         mybox[1].add(Box.createVerticalStrut(5));
    505         mybox[1].add(jt[2]);
    506         mybox[1].add(Box.createVerticalStrut(8));
    507         mybox[1].add(jt[3]);
    508         mybox[1].add(Box.createVerticalStrut(8));
    509         mybox[1].add(jt[4]);
    510         mybox[1].add(Box.createVerticalStrut(8));
    511 
    512         // 按钮部分
    513         jp1 = new JPanel();
    514         jp1.add(jb[0], BorderLayout.EAST);
    515         jp1.add(jb[1], BorderLayout.WEST);
    516         mybox[2] = Box.createHorizontalBox();
    517         mybox[2].add(mybox[0]);
    518         mybox[2].add(Box.createHorizontalStrut(10));
    519         mybox[2].add(mybox[1]);
    520         Connect(name);
    521         this.add(mybox[2], BorderLayout.NORTH);
    522         this.add(jp1, BorderLayout.SOUTH);
    523         init();
    524     }
    525 
    526     // 显示板块部分
    527     public void init() {
    528         this.setTitle("个人信息板块");
    529         this.setBackground(Color.magenta);
    530         this.setBounds(400, 300, 300, 300);
    531         this.setVisible(true);
    532 
    533         // this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    534     }
    535 
    536     public void Connect(String name) {
    537         ResultSet rs = null;
    538         // 驱动加载
    539         try {
    540             Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    541             ct = DriverManager
    542                     .getConnection(
    543                             "jdbc:microsoft:sqlserver://localhost:1434;databaseName=Demo_1",
    544                             "sa", "869261636123");
    545             String sql = new String("Select * from Stu where stuId=?");
    546             ps = ct.prepareStatement(sql);
    547             ps.setString(1, name);
    548             rs = ps.executeQuery();
    549             while (rs.next()) {
    550                 int cnt = 1;
    551                 for (int i = 1; i <= 6; i++) {
    552                     if (4 == i) {
    553                         // 整数转化为String
    554                         jt[i - cnt].setText(String.valueOf(rs.getInt(i)));
    555                     } else {
    556                         String st = null;
    557                         try {
    558                             st = new String((rs.getString(i)).getBytes("gbk"),
    559                                     "gb2312");
    560                         } catch (UnsupportedEncodingException e) {
    561                             // TODO Auto-generated catch block
    562                             e.printStackTrace();
    563                         }
    564                         if (i == 3) {
    565                             if (st.equals("男")) {
    566                                 jradio[0].setSelected(true);
    567                                 this.setSex("男");
    568                             } else if (st.equals("女")) {
    569                                 jradio[1].setSelected(true);
    570                                 this.setSex("女");
    571                             } else
    572                                 JOptionPane.showMessageDialog(this, "性别处出现乱码");
    573                             cnt++;
    574                         } else
    575                             jt[i - cnt].setText(st);
    576                     }
    577                 }
    578 
    579             }
    580 
    581         } catch (ClassNotFoundException | SQLException e) {
    582             // TODO Auto-generated catch block
    583             e.printStackTrace();
    584         } finally {
    585             try {
    586                 if (rs != null)
    587                     rs.close();
    588                 if (ps != null)
    589                     ps.close();
    590                 if (ct != null)
    591                     ct.close();
    592             } catch (SQLException e) {
    593                 // TODO Auto-generated catch block
    594                 e.printStackTrace();
    595             }
    596         }
    597     }
    598 
    599     @Override
    600     public void actionPerformed(ActionEvent e) {
    601         // TODO Auto-generated method stub
    602         // 将数据写入数据库
    603         if (e.getSource() == jb[0]) {
    604             // 对写入的数据进行处理
    605             try {
    606                 // 驱动加载
    607                 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    608                 ct = DriverManager
    609                         .getConnection(
    610                                 "jdbc:microsoft:sqlserver://localhost:1434;databaseName=Demo_1",
    611                                 "sa", "869261636123");
    612                 ps = ct.prepareStatement("Update stu Set Stuname=?,StuSex=?,StuAge=?,StuJg=?,StuDept=? where StuId=?");
    613                 // 回来修改........
    614                 // 名字
    615                 ps.setString(1, jt[1].getText().toString().trim());
    616                 // 性别
    617                 ps.setString(2, this.getSex().trim());
    618                 // 年龄
    619                 String tem = jt[2].getText().toString().trim();
    620                 int value = Integer.valueOf(tem).intValue();
    621                 ps.setInt(3, value);
    622                 // 籍贯
    623                 ps.setString(4, jt[3].getText().toString().trim());
    624                 // 系别
    625                 ps.setString(5, jt[4].getText().toString().trim());
    626                 // 学号
    627                 ps.setString(6, jt[0].getText().toString().trim());
    628                 // 更新
    629                 int i = ps.executeUpdate();
    630                 if (1 == i)
    631                     JOptionPane.showMessageDialog(this, "添加成功!");
    632                 else
    633                     JOptionPane.showMessageDialog(this, "添加失败!");
    634 
    635             } catch (Exception e1) {
    636                 // TODO Auto-generated catch block
    637                 e1.printStackTrace();
    638             } finally {
    639                 // 关闭数据库的一些调用函数
    640                 try {
    641                     if (ps != null)
    642                         ps.close();
    643                     if (ct != null)
    644                         ct.close();
    645                 } catch (SQLException e1) {
    646                     // TODO Auto-generated catch block
    647                     e1.printStackTrace();
    648                 }
    649             }
    650             this.dispose();
    651         } else if (e.getSource() == jb[0])
    652             // 释放点该窗口, 退出该版面
    653             this.dispose();
    654         else if (jradio[0].isSelected()) {
    655             // 将名字改为男
    656             this.setSex("男");
    657         } else if (jradio[1].isSelected()) {
    658             // 将名字改为女
    659             this.setSex("女");
    660         }
    661     }
    662 
    663     public String getSex() {
    664         return this.sex;
    665     }
    666 
    667     public void setSex(String sex) {
    668         this.sex = sex;
    669     }
    670 }
    671 
    672 // 删除界面类
    673 class Delete extends JDialog implements ActionListener {
    674 
    675     // 设置为确认和取消两个按钮
    676     JButton[] button = new JButton[2];
    677     JPanel jp;
    678     JTable jt;
    679     JScrollPane jsp = null;
    680     // 设置为一个删除的表单
    681     MyJTable mytable;
    682     // SQL几个常用的变量类型
    683 
    684     Connection ct = null;
    685     PreparedStatement ps = null;
    686     ResultSet rs = null;
    687     private String name;
    688 
    689     public Delete(Frame ower, String name, boolean Model) {
    690 
    691         super(ower, Model);
    692         this.setName(name);
    693         jp = new JPanel();
    694         button[0] = new JButton("确定");
    695         button[0].addActionListener(this);
    696         button[1] = new JButton("取消");
    697         button[1].addActionListener(this);
    698         jp.add(button[0]);
    699         jp.add(button[1]);
    700 
    701         // 设置一个我的列表的界面
    702         mytable = new MyJTable(name);
    703         jt = new JTable(mytable);
    704         JScrollPane jsp = new JScrollPane(jt);
    705         this.add(jp, BorderLayout.SOUTH);
    706         this.add(jsp, BorderLayout.NORTH);
    707         this.setTitle("删除界面");
    708         this.setSize(400, 250);
    709         this.setResizable(false);
    710         this.setVisible(true);
    711 
    712     }
    713 
    714     public String getName() {
    715         return name;
    716     }
    717 
    718     public void setName(String name) {
    719         this.name = name;
    720     }
    721 
    722     @Override
    723     public void actionPerformed(ActionEvent e) {
    724         // TODO Auto-generated method stub
    725         if (e.getSource() == button[0]) {
    726 
    727             try {
    728                 // 加载上jdbc_odbc驱动
    729                 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    730                 // 连接sql
    731                 ct = DriverManager
    732                         .getConnection(
    733                                 "jdbc:microsoft:sqlserver://localhost:1434;databaseName=Demo_1",
    734                                 "sa", "869261636123");
    735                 String sql = new String("delete  from Stu where Stuname=?");
    736                 ps = ct.prepareStatement(sql);
    737                 ps.setString(1, this.getName().trim());
    738 
    739                 int i = ps.executeUpdate();
    740                 if (1 == i)
    741                     JOptionPane.showMessageDialog(this, "删除成功");
    742                 else
    743                     JOptionPane.showMessageDialog(this, "删除失败了啦!");
    744 
    745             } catch (ClassNotFoundException | SQLException e1) {
    746                 // TODO Auto-generated catch block
    747                 e1.printStackTrace();
    748             } finally {
    749                 try {
    750                     if (ps != null)
    751                         ps.close();
    752                     if (ct != null)
    753                         ct.close();
    754                 } catch (SQLException e1) {
    755                     // TODO Auto-generated catch block
    756                     e1.printStackTrace();
    757                 }
    758             }
    759         }
    760 
    761         this.dispose();
    762     }
    763 }
    View Code
  • 相关阅读:
    Spring 整合Mybatis
    Spring 配置说明
    AutoCAD.Net/C#.Net QQ群:193522571 虚拟方法的使用
    VLAN帧格式详解
    内网安全体系建设工作思路
    IT公司常见的内网漏洞表格
    内网安全运营的逻辑体系架构
    域安全的基础知识
    利用DNS日志进行MySQL盲注
    Linux内存凭据提取mimipenguin
  • 原文地址:https://www.cnblogs.com/gongxijun/p/4122529.html
Copyright © 2011-2022 走看看