首页>代码>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();
    }
}
最近下载更多
微信网友_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日
最近浏览更多
潜心小白来到  LV3 6月10日
905651872 2024年11月23日
暂无贡献等级
plusangel 2024年8月29日
暂无贡献等级
Song3LL 2024年7月22日
暂无贡献等级
ZALZXB20030525 2024年7月1日
暂无贡献等级
彳亍彳亍彳亍  LV1 2024年5月23日
微信网友_6267404517216256  LV1 2024年4月30日
27代码 2024年4月29日
暂无贡献等级
ruo12138  LV1 2024年4月11日
jiyun2021  LV9 2024年1月23日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友