首页>代码>java swing开发研究生科研信息管理系统>/研究生科研信息管理系统/SqlKeshe/src/frame/ProjectModel.java
package frame;
/*
 * 这是我的一个stu表的模型
 * 可以把对学生表的操作全都封装到这个类
 */


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.table.*;

public class ProjectModel extends AbstractTableModel{

    //rowData存放行数据,columnNames存放列名
    Vector rowData,columnNames;
            
    //定义连接数据库的变量
    Statement stat = null;
    Connection ct = null;
    ResultSet rs = null;
    
    //初始化
    public void init(String sql){
        if(sql.equals("")){
            sql = "select * from Project";
        }
        //中间
        //设置列名
        columnNames = new Vector();
        columnNames.add("项目编号");
        columnNames.add("项目名称");
        columnNames.add("负责老师");
        columnNames.add("参与的研究生");
        columnNames.add("项目类型");
        columnNames.add("项目等级");
        columnNames.add("项目经费");
        columnNames.add("项目来源");
                
        //rowData存放多行
        rowData = new Vector();
                
        try{
        //1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        System.out.println("加载成功");
        //2.连接数据库
        //定义几个常量
        String url = "jdbc:mysql://localhost:3306/keshe?characterEncoding=utf8";
        String user = "root";
        String passwd = "luoyiluoyi";
                    
        ct = DriverManager.getConnection(url,user,passwd);
        stat = ct.createStatement();//创建stat对象
        rs = stat.executeQuery(sql);//查询结果
                    
        while(rs.next()){
        Vector hang = new Vector();
        hang.add(rs.getString(1));
        hang.add(rs.getString(2));
        hang.add(rs.getString(3));
        hang.add(rs.getString(4));
        hang.add(rs.getString(5));
        hang.add(rs.getString(6));
        hang.add(rs.getString(7));
        hang.add(rs.getString(8));
  
        //加入到rowData中
        rowData.add(hang);
                        
        }
                    
    }catch(Exception e){
        e.printStackTrace();
    }finally{
        try{
        if(rs!=null){
        rs.close();
        rs = null;
            }
        if(stat != null){
        stat.close();
        stat = null;
            }
        if(ct != null){
        ct.close();
        ct = null;
            }
                }catch(Exception e){
            e.printStackTrace();
            }
        }
    }
    
    //增加学生函数
    public void addStu(String sql){
        //根据用户输入的sql语句,完成添加任务
        
        
        
    }
    
    //第二个构造函数,通过传递的sql语句来获得数据模型
    public ProjectModel(String sql){
        this.init(sql);
    }
    
    //构造函数,用于初始化我的数据模型(表)
    public ProjectModel(){
        this.init("");
    }
    
    //得到共有多少行
    public int getRowCount() {
        // TODO Auto-generated method stub
        return this.rowData.size();
    }

    //得到共有多少列
    public int getColumnCount() {
        // TODO Auto-generated method stub
        return this.columnNames.size();
    }

    //得到某行某列的数据
    public Object getValueAt(int row, int column) {
        // TODO Auto-generated method stub
        return ((Vector)(this.rowData.get(row))).get(column);
    }
    
    //得到属性名字
    public String getColumnName(int column) {
        // TODO Auto-generated method stub
        return (String)this.columnNames.get(column);
    }}

最近下载更多
李朝磊  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日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友