Java项目初学------满汉楼----人事管理数据模型

来源:互联网 发布:淘宝哪里看几颗心 编辑:程序博客网 时间:2024/04/30 16:01
/*
功能:更灵活的query



这是人事的数据模型类,完成对人事表的各种操作
即:数据库的底层,对上面提供服务。


整个这个类是为:EmpInfo.java 这个类服务的。


*/


package com.mhl.model;
import javax.swing.table.*:
import java.util.*:
import java.sql.*;
public class EmpModel  extends AbstractTabelModel
{
Vector colums;
Vector<Vector> rows;

//写一个方法,用于查询需要显示的人事信息。
// query方法不通用 ,对query做修改,让他更加通用,
public void query(String sql,String paras[])
{
// 初始化列
this.colums=new Vector<String>();



this.rows=new Vector<Vector>();
// 创建SqlHelper对象

SqlHelper sh=new SqlHelper();
ResultSet rs=sh.query(sql,paras);

//从rs对象中可以得到一个ResultSetMetadata对象
ResultSetMetaData rsmt=rs.getMetadata();
//对于ResultSetMetaData对象来说, 它可以得到结果有多少列,而且可以知道每列的名字




for(int i=0;i<rsmt.getColumnCount();i++)
{
this.colums.add(rsmt.getCatalogName(i+1));
}  //getCatalogName 得到每一个列的名字。




try
{// 把rs的结果放入到:rows

while(rs.next())  // 怎么看这个while循环???
{
// rs.next() 这个的意思和作用是什么??

Vector<String> temp=new Vector<String>();
for(int i=0;i<rsmt.getColumnCount();i++)
{
temp.add(rs.getString(i+1));

}  // 如何理解这个for循环????



/*
temp.add(rs.getString(1));
temp.add(rs.getString(2));
temp.add(rs.getString(3));
temp.add(rs.getString(4));
*/
rows.add(temp);

}

}catch(Exception e)
{
e.printStackTrace();
}finally{
sh.close();

}

}

public int getColumnCount()
{
//

return this.colums.size();
}

public int getRowCount()
{
//

return this.rows.size();
}

public Object getValueAt(int arg0,int arg1)
{
//
return ((Vector)rows.get(arg0)).get(arg1);

}

public String getColumnName(int arg0)
{

return this.colums.get(arg0).toString();

}

}
0 0
原创粉丝点击