鱼C论坛

 找回密码
 立即注册
查看: 2141|回复: 0

[学习笔记] JAVA表格界面加数据库增删改查

[复制链接]
发表于 2021-12-25 18:49:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 guhusf 于 2021-12-25 18:59 编辑
  1. package 复习;
  2. import java.awt.*;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.awt.event.WindowAdapter;
  6. import java.awt.event.WindowEvent;
  7. import java.sql.*;
  8. import java.util.*;
  9. import java.util.Vector;

  10. import javax.swing.*;
  11. import javax.swing.event.ListSelectionEvent;
  12. import javax.swing.event.ListSelectionListener;
  13. import javax.swing.table.DefaultTableModel;

  14. class lx implements ActionListener,ListSelectionListener{
  15.         public JFrame f =null;
  16.         public JPanel p = null;
  17.         public JButton bz,bs,bg,bc = null;
  18.         public JTable t = null;
  19.         public DefaultTableModel dtm = null;
  20.         public JScrollPane jp = null;
  21.         Vector vt = new Vector();
  22.         Vector vd = new Vector();
  23.         lx(){
  24.                 f = new JFrame("kk");
  25.                 p = new JPanel();
  26.                 bz = new JButton("增");
  27.                 bs = new JButton("删");
  28.                 bg = new JButton("改");
  29.                 bc = new JButton("查");
  30.                 vt.add("ID");vt.add("name");vt.add("java");vt.add("C");
  31.                 dtm = new DefaultTableModel();
  32.                 t = new JTable(dtm);
  33.                 jp = new JScrollPane(t);
  34.                 p.setLayout(new GridLayout(1,4));
  35.                 p.add(bz);p.add(bs);p.add(bg);p.add(bc);
  36.                 f.setLayout(new BorderLayout());
  37.                 f.add(jp,BorderLayout.CENTER);
  38.                 f.add(p,BorderLayout.SOUTH);
  39.                 bz.addActionListener(this);
  40.                 bs.addActionListener(this);
  41.                 bg.addActionListener(this);
  42.                 bc.addActionListener(this);
  43.                 t.getSelectionModel().addListSelectionListener(this);
  44.                 f.setSize(400,200);
  45.                 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  46.                 f.setVisible(true);
  47.                 Shujuku.connect();
  48.                 f.addWindowListener(new WindowAdapter() {
  49.                         public void windowClosing(WindowEvent e) {
  50.                                 Shujuku.close();
  51.                                 System.exit(0);
  52.                         }
  53.                 });
  54.         }
  55.         public static void main(String[] args) {
  56.                 // TODO Auto-generated method stub

  57.                 new lx();
  58.         }
  59.         @Override
  60.         public void valueChanged(ListSelectionEvent e) {
  61.                 // TODO Auto-generated method stub
  62.                
  63.         }
  64.         @Override
  65.         public void actionPerformed(ActionEvent e) {
  66.                 // TODO Auto-generated method stub
  67.                 if(e.getSource()==bz) {
  68.                         Scanner sc = new Scanner(System.in);
  69.                         String ID,name,java,C;
  70.                         System.out.println("请输入学号:");
  71.                         ID = sc.nextLine();
  72.                         System.out.println("请输入姓名:");
  73.                         name = sc.nextLine();
  74.                         System.out.println("请输入Java成绩:");
  75.                         java = sc.nextLine();
  76.                         System.out.println("请输入C语言成绩:");
  77.                         C = sc.nextLine();
  78.                         String sql = "insert into score(ID,name,java,C) values('"+ID+"','"+name+"','"+java+"','"+C+"')";
  79.                         Shujuku.Update(sql);
  80.                         Vector<String> row = new Vector<String>();
  81.                         row.add(ID);row.add(name);row.add(java);row.add(C);
  82.                         dtm.addRow(row);
  83.                 }
  84.                 if(e.getSource()==bc) {
  85.                         String sql = "select * from score";
  86.                         ResultSet rs = Shujuku.query(sql);
  87.                         try {
  88.                                 while(rs.next()) {
  89.                                         Vector row = new Vector<String>();
  90.                                         row.add(rs.getString(1));
  91.                                         row.add(rs.getString(2));
  92.                                         row.add(rs.getString(3));
  93.                                         row.add(rs.getString(4));
  94.                                         vd.add(row);
  95.                                 }
  96.                                 dtm.setDataVector(vd,vt);
  97.                         }catch(SQLException e1) {
  98.                                 e1.printStackTrace();
  99.                         }
  100.                 }
  101.                 if(e.getSource()==bs) {
  102.                         int row = t.getSelectedRow();
  103.                         String id = (String)t.getValueAt(row, 0);
  104.                         String sql = "delete from score where ID ='"+id+"'";
  105.                         Shujuku.Update(sql);
  106.                         dtm.removeRow(row);
  107.                 }
  108.                 if(e.getSource()==bg) {
  109.                         String ID,sql = null;
  110.                         int row = t.getSelectedRow();
  111.                         int col = t.getSelectedColumn();
  112.                         System.out.println("请输入修改后的值");
  113.                         Scanner sc = new Scanner(System.in);
  114.                         String x = sc.nextLine();
  115.                         if(col==0) {
  116.                                 ID = (String)t.getValueAt(row, col);
  117.                                 sql = "update score set ID = '"+x+"'where ID = '"+ID+"'";       
  118.                         }
  119.                         else {
  120.                                 ID = (String)t.getValueAt(row, 0);
  121.                                 if(col == 1) {
  122.                                         sql = "update score set name='"+x+"'where ID = '"+ID+"'";
  123.                                 }
  124.                                 else if(col == 2) {
  125.                                         sql = "update score set java = '"+x+"'where ID = '"+ID+"'";       
  126.                                 }
  127.                                 else if (col == 3) {
  128.                                         sql = "update score set C = '"+x+"'where ID= '"+ID+"'";
  129.                                 }
  130.                                 t.setValueAt(x, row, col);
  131.                                 Shujuku.Update(sql);
  132.                         }
  133.                 }
  134.         }
  135. }

  136. class Shujuku{
  137.         public static Connection coon = null;
  138.         public static Statement stmt = null;
  139.         public static ResultSet rs = null;
  140.         public static Connection connect() {
  141.                 try {
  142.                         Class.forName("com.mysql.cj.jdbc.Driver");
  143.                         String Url = "jdbc:mysql://localhost:3306/student";
  144.                         String User = "root";
  145.                         String Password = "010828";
  146.                         coon = DriverManager.getConnection(Url,User,Password);
  147.                         System.out.println("操作成功");
  148.                         return coon;
  149.                 }catch(ClassNotFoundException | SQLException e) {
  150.                         e.printStackTrace();
  151.                 }
  152.                 return null;
  153.         }
  154.         public static ResultSet query(String sql) {
  155.                 // TODO Auto-generated method stub
  156.                 try {
  157.                         coon = connect();
  158.                         stmt = coon.createStatement();
  159.                         rs = stmt.executeQuery(sql);
  160.                 }catch(SQLException e2) {
  161.                         e2.printStackTrace();
  162.                 }
  163.                 return rs;
  164.         }
  165.         public static void Update(String sql) {
  166.                 // TODO Auto-generated method stub
  167.                 try {
  168.                         coon = connect();
  169.                         stmt = coon.createStatement();
  170.                         stmt.execute(sql);
  171.                 }catch(SQLException e) {
  172.                         e.printStackTrace();
  173.                 }
  174.         }
  175.         public static void close() {
  176.                 // TODO Auto-generated method stub
  177.                 try {
  178.                         if (rs != null)
  179.                                 rs.close();
  180.                         if (stmt != null)
  181.                                 stmt.close();
  182.                         if (coon != null)
  183.                                 coon.close();
  184.                 } catch (SQLException e) {
  185.                         JOptionPane.showMessageDialog(null, e.getMessage());
  186.                         e.printStackTrace();
  187.                 }
  188.         }
  189. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-15 05:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表