package frame; import javax.swing.*; import java.util.*; import java.awt.*; import java.awt.event.*; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; public class Project extends JFrame implements ActionListener { //定义一些控件 JPanel jp1,jp2; JLabel jl1,jl2; JButton jb1,jb2,jb3,jb4; JTable jt; JScrollPane jsp; JTextField jtf; ProjectModel sm; //定义连接数据库的变量 Statement stat = null; PreparedStatement ps; Connection ct = null; ResultSet rs = null; //构造函数 public Project(){ jp1 = new JPanel(); // jtf = new JTextField(10); // jb1 = new JButton("查询"); // jb1.addActionListener(this); // jl1 = new JLabel("请输入名字:"); // jp1.add(jl1); // jp1.add(jtf); // jp1.add(jb1); jtf = new JTextField(10); jb1 = new JButton("查询"); jb1.addActionListener(this); jl1 = new JLabel("请输入项目名:"); setTitle("项目信息"); jb2 = new JButton("添加"); jb2.addActionListener(this); jb3 = new JButton("修改"); jb3.addActionListener(this); jb4 = new JButton("删除"); jb4.addActionListener(this); jp2 = new JPanel(); jp2.add(jb2); jp2.add(jb3); jp2.add(jb4); jp2.add(jl1); jp2.add(jtf); jp2.add(jb1); //创建模型对象 sm = new ProjectModel(); //初始化 jt = new JTable(sm); jsp = new JScrollPane(jt); //将jsp放入到jframe中 this.add(jsp); this.add(jp1,"North"); this.add(jp2,"South"); this.setSize(800, 500); //this.setLocation(300, 200); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setVisible(true); } public void actionPerformed(ActionEvent arg0) { //判断是哪个按钮被点击 if(arg0.getSource() == jb1){ System.out.println("用户希望被查询..."); //因为把对表的数据封装到StuModel中,可以比较简单的完成查询 String name = this.jtf.getText().trim(); //写一个sql语句 String sql = "select * from project where 项目名称 = '"+name+"' "; //构建一个数据模型类,并更新 sm = new ProjectModel(sql); //更新jtable jt.setModel(sm); } //一、弹出添加界面 if(arg0.getSource() == jb2){ System.out.println("添加..."); ProjectAddDiag sa = new ProjectAddDiag(this,"添加项目",true); //重新再获得新的数据模型, sm = new ProjectModel(); jt.setModel(sm); }else if(arg0.getSource() == jb4){ //二、删除记录 //1.得到学生的ID int rowNum = this.jt.getSelectedRow();//getSelectedRow会返回给用户点中的行 //如果该用户一行都没有选,就返回-1 if(rowNum == -1){ //提示 JOptionPane.showMessageDialog(this, "请选中一行"); return ; } //得到研究生ID String ProjectId = (String)sm.getValueAt(rowNum, 0); System.out.println("Id: "+ProjectId); //连接数据库,完成删除任务 try{ //1.加载驱动 Class.forName("com.mysql.jdbc.Driver"); //2.连接数据库 String url = "jdbc:mysql://localhost:3306/keshe?characterEncoding=utf8"; String user = "root"; String passwd = "luoyiluoyi"; ct = DriverManager.getConnection(url, user, passwd); System.out.println("连接成功"); ps = ct.prepareStatement("delete from project where 项目编号 = ?"); ps.setString(1,ProjectId); ps.executeUpdate(); }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(rs!= null){ rs.close(); rs = null; } if(ps!= null){ ps.close(); ps = null; } if(ct != null){ ct.close(); ct = null; } } catch(Exception e){ e.printStackTrace(); } } sm = new ProjectModel(); //更新jtable jt.setModel(sm); }else if(arg0.getSource() == jb3){ System.out.println("11111"); //三、用户希望修改 int rowNum = this.jt.getSelectedRow(); if(rowNum == -1){ //提示 JOptionPane.showMessageDialog(this, "请选择一行"); return ; } //显示对话框 System.out.println( "12435"); ProjectUpDiag tu = new ProjectUpDiag(this, "修改学术", true, sm, rowNum); sm = new ProjectModel(); jt.setModel(sm); } } public static void main(String args[]){ new Project(); } }

微信网友_6267404517216256 LV1
2024年5月1日
李朝磊 LV18
2023年11月18日
夜猫子111 LV2
2023年11月6日
fesfefe LV13
2023年9月19日
xiao小果 LV13
2022年5月24日
18692870445 LV1
2021年12月25日
qianzf LV12
2021年12月23日
尹恒yingying LV18
2021年10月12日
13112360 LV2
2021年8月27日
wodemabu88 LV1
2021年8月1日