首页>代码>java swing开发研究生科研信息管理系统>/研究生科研信息管理系统/SqlKeshe/src/frame/Project.java
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();
    }
}
最近下载更多
李朝磊  LV18 2023年11月18日
夜猫子111  LV2 2023年11月6日
fesfefe  LV13 2023年9月19日
xiao小果  LV12 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日
guokai111  LV1 2021年7月22日
最近浏览更多
ruo12138  LV1 4月11日
jiyun2021  LV9 1月23日
sweetbox  LV10 1月9日
jiayongchao258  LV9 2023年12月28日
lshlsh 2023年12月25日
暂无贡献等级
tianshi  LV7 2023年12月18日
shiaomon 2023年12月14日
暂无贡献等级
李朝磊  LV18 2023年11月18日
夜猫子111  LV2 2023年11月6日
sunshine9920  LV12 2023年10月20日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友