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); }}
最近下载更多
微信网友_6267404517216256 LV1
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日
最近浏览更多
plusangel
8月29日
暂无贡献等级
Song3LL
7月22日
暂无贡献等级
ZALZXB20030525
7月1日
暂无贡献等级
彳亍彳亍彳亍 LV1
5月23日
微信网友_6267404517216256 LV1
4月30日
27代码
4月29日
暂无贡献等级
ruo12138 LV1
4月11日
jiyun2021 LV9
1月23日
sweetbox LV10
1月9日
jiayongchao258 LV9
2023年12月28日